ABSTRACT
We present a brief overview of a model for the human cognitive architecture and three learning theories based on this model: cognitive load theory, cognitive apprenticeship, and worked examples (a key area of cognitive skill acquisition). Based on this brief overview we argue how an introductory object-oriented programming course is designed according to results of cognitive science and educational psychology in general and cognitive load theory and cognitive skill acquisition in particular; the principal techniques applied are: worked examples, scaffolding, faded guidance, cognitive apprenticeship, and emphasis of patterns to aid schema creation and improve learning. As part of the presentation of the course, we provide a characterization of model-driven programming---the approach we have adopted in the introductory programming course. The result is an introductory programming course emphasizing a pattern-based approach to programming and schema acquisition in order to improve learning.
- Allsopp, D.H. "Metacognitive Strategies", http://coe.jmu.edu/mathvidsr/metacognitive.htm, last accessed 25 January 2007.Google Scholar
- R. K. Atkinson, S. J. Derry, A. Renkl and D. Wortham, "Learning from Examples: Instructional Principles from the Worked Examples Research," Review of Educational Research, vol. 70, pp. 181--214, 2000.Google ScholarCross Ref
- D. J. Barnes and M. Kölling, Objects First with Java: A Practical Introduction using BlueJ. 3rd ed. New York: Prentice Hall, 2006. Google ScholarDigital Library
- J. Bennedsen and M. Caspersen, "Assessing process and product -- A practical lab exam for an introductory programming course," in Proceedings of the 36th Annual Frontiers in Education Conference, 2006, pp. M4E-16-M4E-21.Google Scholar
- J. Bennedsen and M. E. Caspersen, "Revealing the programming process," in SIGCSE '05: Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education, 2005, pp. 186--190. Google ScholarDigital Library
- B. S. Bloom, D. R. Krathwohl and B. B. Masia, Taxonomy of Educational Objectives. The Classification of Educational Goals. Handbook I: Cognitive Domain. New York: Longmans, Green, 1956.Google Scholar
- D. Buck and D. J. Stucki, "Design early considered harmful: Graduated exposure to complexity and structure based on levels of cognitive development," in SIGCSE '00: Proceedings of the Thirty-First SIGCSE Technical Symposium on Computer Science Education, 2000, pp. 75--79. Google ScholarDigital Library
- W. M. Carroll, "Using worked examples as an instructional support in the algebra classroom," Journal of Educational Psychology, vol. 86, pp. 360--367, Sep. 1994.Google ScholarCross Ref
- Caspersen, M.E. "Educating Novices in the Skills of Programming," DAIMI PhD Dissertation PD-07-4, University of Aarhus, 2007.Google Scholar
- R. Catrambone, "The subgoal learning model: Creating better examples so that students can solve novel problems," J. Exp. Psychol.: Gen., vol. 127, pp. 355--376, Dec. 1998.Google ScholarCross Ref
- P. Chandler and J. Sweller, "Cognitive Load Theory and the Format of Instruction," Cognition and Instruction, vol. 8, pp. 293--332, 1991.Google ScholarCross Ref
- W. G. Chase and K. A. Ericsson, "Skilled memory," in Cognitive Skills and their Acquisition J. R. Anderson, Ed. Hillsdale, NJ: Erlbaum, 1981, pp. 141--190.Google Scholar
- M. T. H. Chi, M. Bassok, M. W. Lewis, P. Reimann and R. Glaser, "Self-explanations: How students study and use examples in learning to solve problems," Cognitive Science, vol. 13, pp. 145--182, 1989.Google ScholarCross Ref
- R. Clark, F. Nguyen and J. Sweller, Efficiency in Learning: Evidence-Based Guidelines to Manage Cognitive Load. John Wiley & Sons, 2006, pp. 390.Google Scholar
- A. Collins, J. S. Brown and S. E. Newman, "Cognitive apprenticeship: Teaching the craft of reading, writing and mathematics," in Knowing, Learning and Instruction: Essays in Honour of Robert Glaser L. B. Resnick, Ed. Hillsdale, NJ: Erlbaum, 1989.Google Scholar
- A. M. Collins, J. S. Brown and A. Holum, "Cognitive apprenticeship: Making thinking visible," American Educator, vol. 15, pp. 6--11, 38--46, 1991.Google Scholar
- G. Cooper and J. Sweller, "Effects of schema acquisition and rule automation on mathematical problem-solving transfer," J. Educ. Psychol., vol. 79, pp. 347--362, Dec. 1987.Google ScholarCross Ref
- D. K. Detterman, "The case for the prosecution: Transfer as an epiphenomenon," in Transfer on Trial: Intelligence, Cognition and Construction D. K. Detterman and R. J. Sternberg, Eds. Ablex publishing, 1993.Google Scholar
- J. P. East, S. R. Thomas, E. Wallingford, W. Beck and J. Drake, "Pattern-based programming instruction," in 1996.Google Scholar
- S. Feinberg and M. Murphy, "Applying cognitive load theory to the design of web-based instruction," in Proceedings of IEEE Professional Communication Society International Professional Communication Conference and Proceedings of the 18th Annual ACM International Conference on Computer Documentation, 2000, pp. 353--360. Google ScholarDigital Library
- C. A. Gibbon and C. A. Higgins, "Towards a learner-centred approach to teaching object-oriented design," in APSEC '96: Proceedings of the Third Asia-Pacific Software Engineering Conference, 1996, pp. 110. Google ScholarDigital Library
- M. L. Gick and K. J. Holyoak, "Schema induction and analogical transfer," Cognitive Psychology, vol. 15, pp. 1--38, 1983.Google ScholarCross Ref
- J. G. Greeno, A. M. Collins and L. B. Resnic, "Cognition and learning," in Handbook of Educational Psychology D. C. Berliner and R. C. Calfee, Eds. New York: Macmillan, 1996, pp. 15--46.Google Scholar
- D. Gries, "What Have We Not Learned about Teaching Programming?" IEEE Computer, vol. 39, pp. 81--82, 2006. Google ScholarDigital Library
- B. Hesketh, S. Andrews and P. Chandler, "Opinion-Training for Transferable Skills: The Role of Examples and Schema," Education and Training Technology International, vol. 26, pp. 105--156, 1989.Google ScholarCross Ref
- S. Holland, R. Griffiths and M. Woodman, "Avoiding object misconceptions," SIGCSE Bull, vol. 29, pp. 131--134, 1997. Google ScholarDigital Library
- C. Hu, "Dataless objects considered harmful," Commun. ACM, vol. 48, pp. 99--101, 2005. Google ScholarDigital Library
- S. Järvelä, "The cognitive apprenticeship model in a technologically rich learning environment: interpreting the learning interaction," Learning and Instruction, vol. 5, pp. 237--259, 1995.Google ScholarCross Ref
- S. Kalyuga, P. Ayres, P. Chandler and J. Sweller, "The Expertise Reversal Effect," Educational Psychologist, vol. 38, pp. 23--31, 2003.Google ScholarCross Ref
- P. A. Kirschner, "Cognitive load theory: implications of cognitive load theory on the design of learning," Learning and Instruction, vol. 12, pp. 1--10, 2002.Google ScholarCross Ref
- J. L. Knudsen and O. L. Madsen, "Teaching object-oriented programming is more than teaching object-oriented programming languages," in ECOOP '88 European Conference on Object-Oriented Programming, 1988, pp. 21--40. Google ScholarDigital Library
- E. Lahtinen, K. Ala-Mutka and H. Järvinen, "A study of the difficulties of novice programmers," in ITiCSE '05: Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, 2005, pp. 14--18. Google ScholarDigital Library
- J. LeFevre and P. Dixon, "Do Written Instructions Need Examples?" Cognition & Instruction, vol. 3, pp. 1, 1986.Google ScholarCross Ref
- O. L. Madsen, B. Møller-Pedersen and K. Nygaard, Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, 1993. Google ScholarDigital Library
- K. Malan and K. Halland, "Examples that can do harm in learning programming," in OOPSLA '04: Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, 2004, pp. 83--87. Google ScholarDigital Library
- R. C. Martin, Agile Software Development: Principles, Patterns, and Practices. Upper Saddle River, NJ: Prentice-Hall, 2003, pp. 529. Google ScholarDigital Library
- A. McGettrick, R. Boyle, R. Ibbett, J. Lloyd, G. Lovegrove and K. Mander, "Grand Challenges in Computing: Education--A Summary," The Computer Journal, vol. 48, pp. 42--48, 2005. Google ScholarDigital Library
- J. Mead, S. Gray, J. Hamer, R. James, J. Sorva, C. S. Clair and L. Thomas, "A cognitive approach to identifying measurable milestones for programming skill acquisition," in ITiCSE-WGR '06: Working Group Reports on ITiCSE on Innovation and Technology in Computer Science Education, 2006, pp. 182--194. Google ScholarDigital Library
- B. Meyer, Object-Oriented Software Construction. 2nd Ed., Upper Saddle River, New Jersey: Prentice Hall, 1997. Google ScholarDigital Library
- G. A. Miller, "The magical number seven, plus or minus two: some limits on our capacity for processing information," Psychol. Rev., vol. 63, pp. 81--97, Mar. 1956.Google ScholarCross Ref
- O. Muller, "Pattern oriented instruction and the enhancement of analogical reasoning," in ICER '05: Proceedings of the 2005 International Workshop on Computing Education Research, 2005b, pp. 57--67. Google ScholarDigital Library
- O. Muller and B. Haberman, "Guidelines for a multiple-goal CS introductory course: Algorithmic problem-solving woven into OOP," in ITiCSE '05: Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, 2005a, pp. 356--356. Google ScholarDigital Library
- O. Muller, B. Haberman and H. Averbuch, "(An almost) pedagogical pattern for pattern-based problem-solving instruction," in ITiCSE '04: Proceedings of the 9th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, 2004, pp. 102--106. Google ScholarDigital Library
- A. Newell and H. Simon, Human Problem Solving. Englewood Cliffs, NJ: Prentice-Hall, 1972. Google ScholarDigital Library
- A. Newell, P. S. Rosenbloom and J. E. Laird, "Symbolic architectures for cognition," in Foundations of Cognitive Science M. I. Posner, Ed. MIT Press, 1989, pp. 93--131. Google ScholarDigital Library
- F. Paas, A. Renkl and J. Sweller, "Cognitive Load Theory and Instructional Design: Recent Developments," Educational Psychologist, vol. 38, pp. 1--4, 2003.Google ScholarCross Ref
- F. G. W. C. Paas and J. J. G. Van Merriënboer, "Variability of worked examples and transfer of geometrical problem-solving skills: A cognitive-load approach," J. Educ. Psychol., vol. 86, pp. 122--133, Mar. 1994.Google ScholarCross Ref
- R. E. Pattis, "A philosophy and example of CS-1 programming projects," in SIGCSE '90: Proceedings of the Twenty-First SIGCSE Technical Symposium on Computer Science Education, 1990, pp. 34--39. Google ScholarDigital Library
- P. Pirolli, "Effects of Examples and Their Explanations in a Lesson n Recursion: A Production System Analysis," Cognition & Instruction, vol. 8, pp. 207, 1991.Google ScholarCross Ref
- P. Pirolli and M. Recker, "Learning Strategies and Transfer in the Domain of Programming," Cognition and Instruction, vol. 12, pp. 235--275, 1994.Google ScholarCross Ref
- P. Pirolli and J. R. Anderson, "The role of learning from examples in the acquisition of recursive programming skills," Canadian Journal of Psychology, vol. 39, pp. 240--272, 1985.Google ScholarCross Ref
- J. L. Quilici and R. E. Mayer, "Role of examples in how students learn to categorize statistics word problems," J. Educ. Psychol., vol. 88, pp. 144--161, Mar. 1996.Google ScholarCross Ref
- S. K. Reed and C. A. Bolstad, "Use of examples and procedures in problem solving," Journal of Experimental Psychology: Learning, Memory, and Cognition, vol. 17, pp. 753--766, Jul. 1991.Google ScholarCross Ref
- A. Renkl and R. K. Atkinson, "Structuring the Transition From Example Study to Problem Solving in Cognitive Skill Acquisition: A Cognitive Load Perspective," Educational Psychologist, vol. 38, pp. 15--22, 2003.Google ScholarCross Ref
- A. J. Riel, Object-Oriented Design Heuristics. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc, 1996. Google ScholarDigital Library
- A. Robins, J. Rountree and N. Rountree, "Learning and Teaching Programming: A Review and Discussion," Journal of Computer Science Education, vol. 13, pp. 137--172, 2003.Google ScholarCross Ref
- A. Schmolitzky, "Towards complexity levels of object systems used in software engineering education," in 2005.Google Scholar
- J. Segal and K. Ahmad, "The Role of Examples in the teaching of Programming Languages," Journal of Educational Computing Research, vol. 9, pp. 115--129, 1993.Google ScholarCross Ref
- J. E. Sims-Knight and R. L. Upchurch, "Teaching Object-Oriented Design Without Programming: A Progress Report," Journal of Computer Science Education, vol. 4, pp. 135--156, 1993.Google ScholarCross Ref
- J. Sweller, "Cognitive technology: Some procedures for facilitating learning and problem solving in mathematics and science," J. Educ. Psychol., vol. 81, pp. 457--466, 1989.Google ScholarCross Ref
- J. Sweller, "Cognitive load during problem solving: Effects on learning," Cognitive Science, vol. 12, pp. 257--285, 1988.Google ScholarCross Ref
- J. Sweller and P. Chandler, "Why Some Material Is Difficult to Learn," Cognition and Instruction, vol. 12, pp. 185--233, 1994.Google ScholarCross Ref
- J. Sweller and G. A. Cooper, "The Use of Worked Examples as a Substitute for Problem Solving in Learning Algebra," Cognition and Instruction, vol. 2, pp. 59--89, 1985.Google ScholarCross Ref
- J. Sweller, J. J. G. Van Merriënboer and F. G. W. C. Paas, "Cognitive Architecture and Instructional Design," Educational Psychology Review, vol. 10, pp. 251--296, 1998.Google ScholarCross Ref
- J. G. Trafton and B. J. Reiser, "The contributions of studying examples and solving problems to skill acquisition," in Proceedings of the Fifteenth Annual Conference of the Cognitive Science Society, 1993, pp. 1017--1022.Google Scholar
- A. B. Tucker, "Strategic directions in computer science education," ACM Comput. Surv., vol. 28, pp. 836--845, 1996. Google ScholarDigital Library
- J. E. Tuovinen, "Optimising student cognitive load in computer education," in Proceedings of the Fourth Australian Computing Education Conference, 2000, pp. 235--241. Google ScholarDigital Library
- R. L. Upchurch and J. E. Sims-Knight, "Integrating software process in computer science curriculum," in Proceedings of the 27th Frontiers in Education Conference, 1997.Google Scholar
- D. W. Valentine, "CS educational research: A meta-analysis of SIGCSE technical symposium proceedings," in SIGCSE '04: Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, 2004, pp. 255--259. Google ScholarDigital Library
- J. J. G. Van Merriënboer, "Strategies for programming instruction in high school: Program completion vs. program generation," Journal of Educational Computing Research, vol. 6, pp. 265--285, 1990.Google ScholarCross Ref
- J. J. G. Van Merriënboer and M. B. M. Croock, "Strategies for computer based programming instruction: program completion vs. program generation," Journal of Educational Computing Research, vol. 8, pp. 365--394, 1992.Google ScholarCross Ref
- J. J. G. Van Merriënboer and H. P. M. Krammer, "Instructional strategies and tactics for the design of introductory computer programming courses in high school," Instructional Science, vol. 16, pp. 251--285, 1987.Google ScholarCross Ref
- K. VanLehn, "Cognitive Skill Acquisition," Annual Review of Psychology, vol. 47, pp. 513--539, 1996.Google ScholarCross Ref
- K. VanLehn, "Problem solving and cognitive skill acquisition," in Foundations of Cognitive Science M. I. Posner, Ed. MIT Press, 1989, pp. 527--579. Google ScholarDigital Library
- R. Westfall, "Technical opinion: Hello, world considered harmful," Commun. ACM, vol. 44, pp. 129--130, 2001. Google ScholarDigital Library
- Yam San Chee, "Cognitive apprenticeship and its application to the teaching of Smalltalk in a multimedia interactive learning environment," Instructional Science, vol. 23, pp. 133--161, 1995.Google ScholarCross Ref
Index Terms
- Instructional design of a programming course: a learning theoretic approach
Recommendations
Extreme apprenticeship method in teaching programming for beginners
SIGCSE '11: Proceedings of the 42nd ACM technical symposium on Computer science educationLearning a craft like programming is efficient when novices learn from people who already master the craft. In this paper we define Extreme Apprenticeship, an extension to the cognitive apprenticeship model. Our model is based on a set of values and ...
Semiautomated cognitive tutor, to serve as a support in upper secondary students in solving algebra problems
Interacción '17: Proceedings of the XVIII International Conference on Human Computer InteractionLearning mathematics is closely related with the fact that the student knows how to solve problems. There are cognitive theories that say that problem solving teaching requires techniques based on the student's cognitive ability, linked to the type of ...
Worked examples in computer science
ACE '14: Proceedings of the Sixteenth Australasian Computing Education Conference - Volume 148Most instructors teaching Computer Science use examples to help students learn, and many instructors use worked examples (either in a static or a dynamic style) in their courses. However, the research on worked examples is not well known in the Computer ...
Comments