an integrated, software-based approach to teaching introductory computer programming
We have developed a course in scientific and statistical programming consisting of an introduction to computer programming and data analysis concepts using a variety of software packages. This approach addresses the problems inherent in introducing programming to non-computer science majors, particularly those in engineering, the sciences, and the social sciences where computing and statistical data analysis techniques are essential professional tools, as well as to computer science majors with minimal or nonexistent programming backgrounds. Key programming concepts are introduced, including variables and identifiers, absolute versus relative addresses, assignment statements, IF/THEN/ELSE statements, nested and compound IF statements, truth tables, precedence of operations, use of built-in and user-defined functions, dummy variables, passing by value and reference, the importance of order in specifying input to functions, modular program design, subprograms, debugging and testing techniques, properties of good programs, and iterative loops. Elementary statistical concepts and data analyses are covered within a computing environment context that emphasizes data analysis and interpretation of results. Assignments and examples are developed in collaboration with the students' major departments to insure relevance and interest to the students.
integrability software teaching computation computer programming program statistics data analysis data concept use packaging computer science science engine social tools minimal variability identifiability assignment tables operability value order input modular design debugging test iter environments context interpretation examples collaboration student relevance user relation