Issues and Difficulties in Teaching Novice Computer Programming

The main argument promoted in this paper is that computer programming is a cognitively challenging subject and hence good instructional strategies are important in providing the student with optimal learner support. This paper examines some of the major issues in the instruction of computer programming as based on du Boulay’s 1989 framework. For each area of difficulty, some potential solutions are proposed. Solutions are categorized as pedagogical, technological or content based. An attempt is then made to combine these potential solutions and best practices as found in the literature into a learning environment CABLE.

[1]  Pm Jenkinson,et al.  Cognitive , 2020, Definitions.

[2]  Robert S. Rist Program Structure and Design , 1995, Cogn. Sci..

[3]  J. Michael Spector,et al.  Handbook of Research on Educational Communications and Technology, 3rd Edition , 2012 .

[4]  Benedict du Boulay,et al.  Some Difficulties of Learning to Program , 1986 .

[5]  Michael Kölling,et al.  The Problem of Teaching Object-Oriented Programming, Part 2: Environments , 1999, J. Object Oriented Program..

[6]  Andrew K. Lui,et al.  Saving weak programming students: applying constructivism in a first programming course , 2004, SGCS.

[7]  Alan F. Blackwell,et al.  First steps in programming: a rationale for attention investment models , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[8]  Owen Astrachan,et al.  An object-oriented, apprenticeship approach to data structures using simulation , 1996, Technology-Based Re-Engineering Engineering Education Proceedings of Frontiers in Education FIE'96 26th Annual Conference.

[9]  Kirsti Ala-Mutka,et al.  A study of the difficulties of novice programmers , 2005, ITiCSE '05.

[10]  Michaela Pedroni Teaching introductory programming with the inverted curriculum approach , 2003 .

[11]  Stuart K Garner Cognitive load reduction in problem solving domains , 2001 .

[12]  S. Järvelä,et al.  The cognitive apprenticeship model in a technologically rich learning environment: Interpreting the learning interaction , 1995 .

[13]  Ioana Chan Mow,et al.  The Impact of CABLE on Teaching Computer Programming , 2006, ICCE.

[14]  Helmut Balzert,et al.  Die E-Learning-Plattform W3L , 2004, Wirtsch..

[15]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..

[16]  Elliot Soloway,et al.  Studying the Novice Programmer , 1988 .

[17]  Alan F. Blackwell What is Programming , 2002 .

[18]  UlloaMiguel Teaching and learning computer programming , 1980 .

[19]  James Levin,et al.  Teaching Teleapprenticeships: Electronic Network-Based Educational Frameworks for Improving Teacher Education , 1998, Interact. Learn. Environ..

[20]  Philip J. Burton,et al.  Teaching programming in the OOP era , 2003, SGCS.

[21]  Robert Ramberg,et al.  Cognitive Apprenticeship in Training for Conceptual Modeling , 1998, WebNet.

[22]  David Moursund,et al.  Increasing Your Expertise as a Problem Solver: Some Roles of Computers. Second Edition. , 1996 .

[23]  Peter Brusilovsky,et al.  Teaching Programming to Novices: A Review of Approaches and Tools. , 1994 .

[24]  J. C. Winnips Scaffolding by design: a model for WWW-based learner support , 2001 .