ABSTRACT

This chapter discusses that issues related to problem solving, the need for precision of exposition, and the choice of a language in the development and specification of algorithms and data structures. It concentrates general issue of the role of programming in introductory computing courses. In computing, many upper-level courses require students to program and test solutions. Computing regularly ranks high among fields for interesting and well-paying jobs; and the possibility of strong job prospects resonates with many students. Of course, each computing faculty must determine its response to these pressures to prepare for both short- and long-term career preparation. Programming in introductory courses also can provide a base for work in later courses, allowing upper-level courses to emphasize concepts and high-level thinking skills. In other environments, programming may serve as a vehicle to meet other objectives, such as enhancement of problem-solving skills, practice using contrasting problem-solving paradigms, development and analysis of algorithms, or experience structuring large-scale software projects.