Novices often experience difficulties in problem analysis and solution construction. Pattern-oriented instruction (POI) is a pedagogical approach based on incorporating patterns into instruction design. It is well-grounded in cognitive theories concerning knowledge construction and organization as well as the acquisition of expertise in problem solving. We show that the incorporation of algorithmic patterns through POI may enhance the construction of algorithmic problem-solving knowledge. Findings of a comparative research study showed that novices who studied according to the POI approach exhibited better problem-solving competence than those who studied in a traditional manner. Specifically, they were more competent in problem decomposition and solution construction.
Developing solutions to recurring algorithmic and design problems in various contexts constitutes a fundamental part of computer science (CS) and software engineering. A main principle in software development is the transfer of solutions from previously solved problems to novel ones. The ability to abstract similarities and apply previous productive experiences to new situations relates to analogical reasoning -one of the most important problem-solving heuristics.However, some of the major difficulties that CS students encounter with algorithmic problem-solving involve poor analogical reasoning skills. This paper describes a PatternOriented-Instruction (POI) approach to a computer science fundamentals course. The main principles governing the POI approach lie in defining Algorithmic Patterns -solutions to basic algorithmic problems -and in organizing course problem-solving activities around them. The POI approach is grounded in cognitive theories that deal with an individual's knowledge organization in memory. The knowledge structure is assumed to have implications with regard to problem-solving performance. The aim of our research is to explore how a course designed according to the POI approach affects students' analogical reasoning when they analyze an algorithmic problem and design a solution.
Abstraction is a major concept in computer science and serves as a powerful tool in software development. Pattern-oriented instruction (POI) is a pedagogical approach that incorporates patterns in an introductory computer science course in order to structure the learning of algorithmic problem solving. This paper examines abstraction processes in the course of solving an algorithmic problem and highlights three distinct, although interrelated, facets of abstraction: pattern recognition, black-boxing, and structure identification. A study that examined the influence of the POI approach on students' abstraction skills is described; students who learned according to the POI approach were compared with students who learned in a traditional manner with regard to analogical reasoning and problem decomposition and solution, as well as verbal expression. The three facets of abstraction were used to analyze students' abstraction skills and their competency in algorithmic problem solving.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.