Improving Progression and Satisfaction Rates of Novice Computer Programming Students through ACME - Analogy, Collaboration, Mentoring, and Electronic Support

The problems encountered by students in first year computer programming units are a common concern in many universities, including Victoria University. As a fundamental component of a computer science curriculum computer programming is a mandatory unit. It is also one of the most challenging units for many commencing students who often drop out from a computing course as a consequence of having failed, or performed poorly, in an introductory programming unit. This paper reports on a research project undertaken to develop and implement a strategy to improve the learning outcomes of novice programming students. Aimed at ‘befriending’ computer programming to help promote success among new programming students, the strategy incorporates the use of analogy, collaboration, mentoring sessions, and electronic support. The paper describes the elements of the strategy and discusses the results of its implementation in semester 1, 2007.

[1]  LorenzenTorben,et al.  CS1 and CS2 , 2002 .

[2]  Ian K. Allison,et al.  A virtual learning environment for introductory programming. , 2002 .

[3]  Marcia C. Linn,et al.  New roles for students, instructors, and computers in a lab-based introductory programming course , 2003, SIGCSE.

[4]  Simon,et al.  Mental models, consistency and programming aptitude , 2008, ACE '08.

[5]  Enda Dunican,et al.  Making the Analogy: Alternative Delivery Techniques for First Year Programming Courses , 2002, PPIG.

[6]  John Leaney,et al.  First Year Programming: Let All the Flowers Bloom , 2003, ACE.

[7]  Anne Venables,et al.  Programming students need instant feedback! , 2003, ACE.

[8]  E. Doyle,et al.  Establishing structured support for programming students , 2004, 34th Annual Frontiers in Education, 2004. FIE 2004..

[9]  Duane Buck,et al.  JKarelRobot: a case study in supporting levels of cognitive development in the computer science curriculum , 2001, SIGCSE '01.

[10]  Robert McCartney,et al.  A multi-national study of reading and tracing skills in novice programmers , 2004, ITiCSE-WGR '04.

[11]  Mark Guzdial,et al.  A multi-national, multi-institutional study of assessment of programming skills of first-year CS students , 2001, ITiCSE-WGR '01.

[12]  Viera K. Proulx,et al.  Programming patterns and design patterns in the introductory computer science course , 2000, SIGCSE '00.

[13]  Lynda Thomas,et al.  Learning styles and performance in the introductory programming sequence , 2002, SIGCSE '02.

[14]  Judithe Sheard,et al.  Experiences with teaching object-oriented concepts to introductory programming students using C++ , 1997, Proceedings. Technology of Object-Oriented Languages. TOOLS 24 (Cat. No.97TB100240).

[15]  Michael Blumenstein Experience in teaching object-oriented concepts to first year students with diverse backgrounds , 2004, International Conference on Information Technology: Coding and Computing, 2004. Proceedings. ITCC 2004..

[16]  Iwona Miliszewska,et al.  Befriending computer programming: a proposed approach to teaching introductory programming , 2007 .

[17]  Michael Kölling,et al.  Guidelines for teaching object orientation with Java , 2001 .

[18]  K. Dunbar,et al.  How analogies are generated: The roles of structural and superficial similarity , 2000, Memory & cognition.

[19]  Allan G. Harrison,et al.  Thinking and working scientifically : the role of analogical and mental models , 2001 .

[20]  Peter Van Roy,et al.  The role of language paradigms in teaching programming , 2003, SIGCSE.

[21]  Mordechai Ben-Ari,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[22]  J. Paul Gibson,et al.  Towards the development of a cognitive model of programming: a software engineering proposal , 2004, PPIG.

[23]  Torben Lorenzen,et al.  CS1 and CS2: write computer games in Java! , 2002, SGCS.