We present a domain-specific problem solving model to facilitate the study of programming. Specifically, we address how problem solving and programming can be closely integrated and taught to beginning students and what are the necessary knowledge and skills to enhance students' ability to become effective problem solvers and programmers. To accomplish this, we synthesized a common model for problem solving, based on a review of existing methodologies, that integrates the tasks of program development, and elaborates the required cognitive knowledge and skills. The common model explicitly encourages students to adhere to a well-specified six-stage process of formulating the problem, planning, designing, translating, testing, and delivering the solution.
All Science Journal Classification (ASJC) codes
- Electrical and Electronic Engineering
- Problem solving
- Program development
- Software engineering