[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1288580.1288595acmconferencesArticle/Chapter ViewAbstractPublication PagesicerConference Proceedingsconference-collections
Article

Instructional design of a programming course: a learning theoretic approach

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

Cited By

View all
  • (2024)Supporting Novice Programmers via the Lens of Instructional DesignNavigating Computer Science Education in the 21st Century10.4018/979-8-3693-1066-3.ch008(149-169)Online publication date: 8-Mar-2024
  • (2024)Evaluating the Effectiveness of a Testing Checklist Intervention in CS2: An Quasi-experimental Replication StudyProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671102(55-64)Online publication date: 12-Aug-2024
  • (2024)Learning with Style: Improving Student Code-Style Through Better Automated FeedbackProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630889(1175-1181)Online publication date: 7-Mar-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICER '07: Proceedings of the third international workshop on Computing education research
September 2007
172 pages
ISBN:9781595938411
DOI:10.1145/1288580
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 September 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. cognition
  2. cognitive apprenticeship
  3. cognitive load theory
  4. instructional design
  5. learning
  6. model-driven programming
  7. object-oriented programming
  8. patternbased approach to programming education
  9. worked examples

Qualifiers

  • Article

Conference

ICER07
Sponsor:
ICER07: International Computing Education Research Workshop
September 15 - 16, 2007
Georgia, Atlanta, USA

Acceptance Rates

ICER '07 Paper Acceptance Rate 14 of 24 submissions, 58%;
Overall Acceptance Rate 189 of 803 submissions, 24%

Upcoming Conference

ICER 2025
ACM Conference on International Computing Education Research
August 3 - 6, 2025
Charlottesville , VA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)181
  • Downloads (Last 6 weeks)11
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Supporting Novice Programmers via the Lens of Instructional DesignNavigating Computer Science Education in the 21st Century10.4018/979-8-3693-1066-3.ch008(149-169)Online publication date: 8-Mar-2024
  • (2024)Evaluating the Effectiveness of a Testing Checklist Intervention in CS2: An Quasi-experimental Replication StudyProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671102(55-64)Online publication date: 12-Aug-2024
  • (2024)Learning with Style: Improving Student Code-Style Through Better Automated FeedbackProceedings of the 55th ACM Technical Symposium on Computer Science Education V. 110.1145/3626252.3630889(1175-1181)Online publication date: 7-Mar-2024
  • (2024)Jigsaw: A Tool for Decomposing and Planning Programming Problems2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC60511.2024.00034(236-247)Online publication date: 2-Sep-2024
  • (2023)Engagement with Optional Formative Feedback in a Portfolio-Based Digital Design ModuleInformation10.3390/info1405028714:5(287)Online publication date: 12-May-2023
  • (2023)Teaching Programming with Graphics: Pitfalls and a SolutionProceedings of the 2023 ACM SIGPLAN International Symposium on SPLASH-E10.1145/3622780.3623644(1-12)Online publication date: 18-Oct-2023
  • (2022)Teaching Model Design of Computer Programming Courses for Digital Media Technology StudentsWireless Communications & Mobile Computing10.1155/2022/70859142022Online publication date: 1-Jan-2022
  • (2022)Patterns for the Advanced Design of Programming Exercises supported by Technology-Enhanced Assessment SystemsProceedings of the 27th European Conference on Pattern Languages of Programs10.1145/3551902.3551974(1-10)Online publication date: 6-Jul-2022
  • (2022)nn-METERGetMobile: Mobile Computing and Communications10.1145/3529706.352971225:4(19-23)Online publication date: 30-Mar-2022
  • (2022)How to Guide Task-oriented Chatbot Users, and When: A Mixed-methods Study of Combinations of Chatbot Guidance Types and TimingsProceedings of the 2022 CHI Conference on Human Factors in Computing Systems10.1145/3491102.3501941(1-16)Online publication date: 29-Apr-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media