On the need for teaching problem-solving in a Computer Science Curriculum

One issue which is not often stressed, or even addressed, in Computer Science Curriculums is that of problem solving. Since problem solving is an essential activity in the construction of programs as well as other computer science pursuits, the omission of any formal instruction in this area is a serious matter. An instructional methodology is proposed for enhancing the problem solving abilities of students enrolled in introductory computer science courses. In particular, a paradigm is proposed to guide the student in his problem solving endeavors. Several examples of problems that were used for the purpose of increasing the students' problem-solving abilities are given.