ABSTRACT
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 Pattern-Oriented-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.
- Astrachan, O., Berry, G., Cox, L., & Mitchener, G. (1998). Design patterns: An essential component of CS Curricula. Proceedings of the 29th SIGCSE Technical Symposium on Computer Science Education, ACM Press, 15311160. Google ScholarDigital Library
- Bassok, M. (in press). Analogical transfer in problem solving. In Davidson, J.E. and Sternberg, R. J. (Eds.) The Nature of Problem Solving. Cambridge University Press.Google Scholar
- Chi, M.T.H., Feltovitch, P.J., & Glaser, R. (1981). Categorization and representation of physics problems by experts and novices. Cognitive Science, 5, 121--152.Google ScholarCross Ref
- Clancy, M.J., & Linn, M.C. (1999). Patterns and Pedagogy. Proceedings of the 30th SIGCSE Technical Symposium on Computer Science Education, ACM Press, 37--42. Google ScholarDigital Library
- Clement, C.A., Kurland, D.M., Nawby, R., & Pea, R.D. (1986). Analogical reasoning and computer programming. Journal of Educational Computing Research, 2(4), 473--485.Google ScholarCross Ref
- East, J. P., Thomas, S.R., Wallingford, E., Beck, W., & Drake, J. (1996). Pattern-based programming instruction, Proceedings of the ASEE Annual Conference and Exposition, Washington, DC.Google Scholar
- Elio, R., & Scharf., P.B. (1990). Modeling novice-to-expert shifts in problem-solving strategy and knowledge organization. Cognitive Science, 14, 579--639.Google ScholarCross Ref
- Gentner, D., Holyoak, K.J. (1997). Reasoning and learning by analogy. American Psychologist. 52(1), 32-34.Google ScholarCross Ref
- Gentner, D., Loewenstein, J., & Thompson, L. (2003). Learning and Transfer: A general role for analogical encoding. Journal of Educational Psychology. 95(2), 393--408.Google ScholarCross Ref
- Ginat, D. (2001). Early algorithm efficiency with design patterns. Computer Science Education, 11(1), 1--21.Google Scholar
- Ginat, D., Haberman, B., Cohen, D., Catz, D., Muller, O., & Menashe, E. (2001). Patterns in computer science. Tel- Aviv University. (in Hebrew).Google Scholar
- Grandegenett, N., & Thompson, A. (1991). Effects of guided programming instruction on the transfer of analogical reasoning. Journal of Educational Computing Research, 7(3), 293--308.Google ScholarCross Ref
- Marshall, S.P. (1995). Schemas in problem solving. New York: Cambridge University Press.Google Scholar
- Muller, O., Haberman, B., & Averbuch, H. (2004). (An almost) pedagogical pattern for pattern-based problem-solving instruction. Proceedings of the 9th annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE). Google ScholarDigital Library
- Paas, F., Renkl, A., & Sweller., J. (2003). Cognitive load theory and instructional design: recent developments. Educational Psychologist, 38(1), 1--4.Google ScholarCross Ref
- Philippou, G.N, & Christou, C. (1999). A schema based model for teaching problem solving. Proceedings of the PME23, (Conference of the International Group for the Psychology of Mathematics Education). Haifa: Technion, 4, 57--64.Google Scholar
- Polya, G. (1945; 2nd edition, 1957). How to solve it. Princeton, NJ: Princeton University PressGoogle Scholar
- Porter, R., & Calder, P. (2004). Patterns in learning to program - An Experiment? Australian Computing Education Conference (ACE2004), Dunedin, New Zealand. Google ScholarDigital Library
- Proulx, V.K. (2000). Programming patterns and design patterns in the introductory computer science course. Proceedings of the 31st SIGCSE Technical Symposium on Computer Science Education, ACM Press, 80-84. Google ScholarDigital Library
- Rumelhart, D. E (1989). The architecture of mind: A connectionist approach. In M. I. Posner (Ed.) Foundations of cognitive science (pp.133--159). Cambridge, MA: MIT Press. Google ScholarDigital Library
- Reed, D. (1999). Incorporating problem-solving patterns in CS1. Journal of Computer Science Education. 13(1), 6--13. Google ScholarDigital Library
- Rist, R.S. (1989). Schema creation in programming. Cognitive Science, 13, 389--414.Google ScholarCross Ref
- Silver, E.A., (1979). Student perception of relatedness among mathematical verbal problems. Journal for Research in Mathematics Education, 10, 195--210.Google ScholarCross Ref
- Soloway, E. (1986). Learning to program=learning to construct mechanisms and explanations. Communications of the ACM, 29(9), 850--858. Google ScholarDigital Library
- Sweller, J. (1988). Cognitive load during problem solving: Effects on learning, Cognitive Science, 12, 257--285.Google ScholarCross Ref
- Tishman, S., & Perkins, D.N. (1997). The language of thinking. Phi Delta Kappan, 78(5), 368--374.Google Scholar
- Wallingford, E. (1996). Toward a first course based on object-oriented patterns. Proceedings of the 27th SIGCSE Technical Symposium on Computer Science Education, ACM Press, 27--31. Google ScholarDigital Library
- Wallingford, E., (2002). Functional programming patterns and their role in instruction. Proceedings of the Functional and Declarative Programming in Education Workshop, International Conference on Functional Programming, Pittsburgh, Pennsylvania.Google Scholar
Index Terms
- Pattern oriented instruction and the enhancement of analogical reasoning
Recommendations
Pattern-oriented instruction and its influence on problem decomposition and solution construction
ITiCSE '07: Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science educationNovices 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 ...
Ontological requirements for analogical, teleological, and hypothetical legal reasoning
ICAIL '09: Proceedings of the 12th International Conference on Artificial Intelligence and LawIn 1993, Berman and Hafner criticized case-based models of legal reasoning for not modeling analogical and teleological elements. Another lesson learned since then is the role of ontologies in representing domain knowledge so that a legal reasoning ...
Pattern-oriented instruction and its influence on problem decomposition and solution construction
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education (ITiCSE'07)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 ...
Comments