skip to main content
10.1145/1288580.1288595acmconferencesArticle/Chapter ViewAbstractPublication PagesicerConference Proceedingsconference-collections
Article
Free Access

Instructional design of a programming course: a learning theoretic approach

Published:15 September 2007Publication History

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.

References

  1. Allsopp, D.H. "Metacognitive Strategies", http://coe.jmu.edu/mathvidsr/metacognitive.htm, last accessed 25 January 2007.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarCross RefCross Ref
  3. D. J. Barnes and M. Kölling, Objects First with Java: A Practical Introduction using BlueJ. 3rd ed. New York: Prentice Hall, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarCross RefCross Ref
  9. Caspersen, M.E. "Educating Novices in the Skills of Programming," DAIMI PhD Dissertation PD-07-4, University of Aarhus, 2007.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. P. Chandler and J. Sweller, "Cognitive Load Theory and the Format of Instruction," Cognition and Instruction, vol. 8, pp. 293--332, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarCross RefCross Ref
  14. R. Clark, F. Nguyen and J. Sweller, Efficiency in Learning: Evidence-Based Guidelines to Manage Cognitive Load. John Wiley & Sons, 2006, pp. 390.Google ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarCross RefCross Ref
  18. 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 ScholarGoogle Scholar
  19. J. P. East, S. R. Thomas, E. Wallingford, W. Beck and J. Drake, "Pattern-based programming instruction," in 1996.Google ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. L. Gick and K. J. Holyoak, "Schema induction and analogical transfer," Cognitive Psychology, vol. 15, pp. 1--38, 1983.Google ScholarGoogle ScholarCross RefCross Ref
  23. 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 ScholarGoogle Scholar
  24. D. Gries, "What Have We Not Learned about Teaching Programming?" IEEE Computer, vol. 39, pp. 81--82, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarCross RefCross Ref
  26. S. Holland, R. Griffiths and M. Woodman, "Avoiding object misconceptions," SIGCSE Bull, vol. 29, pp. 131--134, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. C. Hu, "Dataless objects considered harmful," Commun. ACM, vol. 48, pp. 99--101, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. S. Kalyuga, P. Ayres, P. Chandler and J. Sweller, "The Expertise Reversal Effect," Educational Psychologist, vol. 38, pp. 23--31, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  30. 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 ScholarGoogle ScholarCross RefCross Ref
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. LeFevre and P. Dixon, "Do Written Instructions Need Examples?" Cognition & Instruction, vol. 3, pp. 1, 1986.Google ScholarGoogle ScholarCross RefCross Ref
  34. O. L. Madsen, B. Møller-Pedersen and K. Nygaard, Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. R. C. Martin, Agile Software Development: Principles, Patterns, and Practices. Upper Saddle River, NJ: Prentice-Hall, 2003, pp. 529. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. B. Meyer, Object-Oriented Software Construction. 2nd Ed., Upper Saddle River, New Jersey: Prentice Hall, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarCross RefCross Ref
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. A. Newell and H. Simon, Human Problem Solving. Englewood Cliffs, NJ: Prentice-Hall, 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. F. Paas, A. Renkl and J. Sweller, "Cognitive Load Theory and Instructional Design: Recent Developments," Educational Psychologist, vol. 38, pp. 1--4, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  47. 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 ScholarGoogle ScholarCross RefCross Ref
  48. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. 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 ScholarGoogle ScholarCross RefCross Ref
  50. P. Pirolli and M. Recker, "Learning Strategies and Transfer in the Domain of Programming," Cognition and Instruction, vol. 12, pp. 235--275, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  51. 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 ScholarGoogle ScholarCross RefCross Ref
  52. 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 ScholarGoogle ScholarCross RefCross Ref
  53. 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 ScholarGoogle ScholarCross RefCross Ref
  54. 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 ScholarGoogle ScholarCross RefCross Ref
  55. A. J. Riel, Object-Oriented Design Heuristics. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. 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 ScholarGoogle ScholarCross RefCross Ref
  57. A. Schmolitzky, "Towards complexity levels of object systems used in software engineering education," in 2005.Google ScholarGoogle Scholar
  58. 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 ScholarGoogle ScholarCross RefCross Ref
  59. 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 ScholarGoogle ScholarCross RefCross Ref
  60. 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 ScholarGoogle ScholarCross RefCross Ref
  61. J. Sweller, "Cognitive load during problem solving: Effects on learning," Cognitive Science, vol. 12, pp. 257--285, 1988.Google ScholarGoogle ScholarCross RefCross Ref
  62. J. Sweller and P. Chandler, "Why Some Material Is Difficult to Learn," Cognition and Instruction, vol. 12, pp. 185--233, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  63. 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 ScholarGoogle ScholarCross RefCross Ref
  64. 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 ScholarGoogle ScholarCross RefCross Ref
  65. 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 ScholarGoogle Scholar
  66. A. B. Tucker, "Strategic directions in computer science education," ACM Comput. Surv., vol. 28, pp. 836--845, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. J. E. Tuovinen, "Optimising student cognitive load in computer education," in Proceedings of the Fourth Australian Computing Education Conference, 2000, pp. 235--241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. 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 ScholarGoogle Scholar
  69. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  70. 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 ScholarGoogle ScholarCross RefCross Ref
  71. 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 ScholarGoogle ScholarCross RefCross Ref
  72. 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 ScholarGoogle ScholarCross RefCross Ref
  73. K. VanLehn, "Cognitive Skill Acquisition," Annual Review of Psychology, vol. 47, pp. 513--539, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  74. K. VanLehn, "Problem solving and cognitive skill acquisition," in Foundations of Cognitive Science M. I. Posner, Ed. MIT Press, 1989, pp. 527--579. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. R. Westfall, "Technical opinion: Hello, world considered harmful," Commun. ACM, vol. 44, pp. 129--130, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. 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 ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Instructional design of a programming course: a learning theoretic approach

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader