Emphasizing Problem Solving in the First CS Course

Many educators have expressed that a problem solving approach should be incorporated starting with therst course in the Computer Science curriculum. Student assignments in many programming courses provide students with a problem and solution and require students to merely im- plement the solution. This paper argues that therst Programming principles courses should include a problem solving method and guidelines on critical and creative thinking as a pedagogical approach. Most of the problems given to stu- dents should be ill-dened to stimulate the students creative ability and skills. There is also a need to give students the opportunity to exercise their initiative. As part of our attempt for improving the teaching of programming principles at KSU, this paper proposes an approach that includes more emphasis on abstraction in problem solving, early introduction of model- ing principles, better and clearer structuring of algorithms. All algorithms are written in standard pseudo-code and in an enhanced pseudo-code no- tation that provides a smooth transition to Java.