creating an authentic learning experience in introductory programming courses
We have developed an integrated, software-based course in scientific and statistical programming consisting of an introduction to computer programming and data analysis concepts. This course is being taught in an innovative way to non-majors: stretched over two quarters rather than taught in a single term. Classes meet in a computer classroom so students have a seamless lecture/laboratory experience to reinforce the concept that the computer should be made use of whenever needed, rather than only at specified lab times. In addition to presenting key programming and data analysis concepts, we are giving the course an applied research focus to illustrate to students the importance and utility of programming and statistical concepts to their own fields . This focus provides motivation for students to learn material they often perceive to be difficult and not relevant to them. It also provides a mechanism for addressing the increasing perception of faculty in a variety of technological fields that many students have problems with abstraction, the use of symbolic notation to understand or express ideas (e.g., through mathematical models), the interpretation of graphical information, and written communication, since all of these skills are needed in applied research. The software-based approach to teaching programming concepts dovetails nicely with the applied research orientation of the course in that the software we use is widely applicable to a variety of activities, from word-processing to data handling and analysis.
learning experience introductory programming program integrability software statistics computation computer programming data analysis data analysis concept innovating class student laboratory use present research utility motivation material relevance perception faculty abstraction mathematical modeling interpretation graphics informal communication skill teaching orientation activation process