An Exercise Management System for Teaching Programming

An effective learning activity in a computer programming course is to study and practice computer programs. In order to help students to submit exercises and to assist instructors to mark programming exercises, a number of program submissions and assessment systems have been developed. However, these systems do not provide sufficient support for instructors to design exercises that can help students to study and practice computer programs in an incremental manner. With the primary aim to improve the teaching and learning of computer programming, we have developed a programming exercise management system, namely Programming Learning Web (PLWeb), to assist instructors to design computer programming exercises and to help students to study and practice programming exercises. PLWeb provides an integrated development environment (IDE) which is used not only as an authoring tool for instructors to compose exercises but also as a novice-friendly editor for students to study programs and to submit solutions. In addition, PLWeb allows instructors to use visualized learning status to assist students with difficulties. A plagiarism detection tool is also provided to deter students from plagiarism.

[1]  Charlie Daly,et al.  An automated learning system for Java programming , 2004, IEEE Transactions on Education.

[2]  Esa Vihtonen VIOPE – Computer Supported Environment for Learning Programming Languages , 2002 .

[3]  Caitlin Kelleher,et al.  Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers , 2005, CSUR.

[4]  Nathan Griffiths,et al.  The boss online submission and assessment system , 2005, JERC.

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

[6]  David Hovemeyer,et al.  Experiences with marmoset: designing and using an advanced submission and testing system for programming courses , 2006, ITICSE '06.

[7]  Olly Gotel,et al.  A Motivation Guided Holistic Rehabilitation of the First Programming Course , 2011, TOCE.

[8]  Luisa M. Regueras,et al.  A distributed system for learning programming on-line , 2012, Comput. Educ..

[9]  D. C. Merrill,et al.  Tutoring: Guided Learning by Doing , 1995 .

[10]  Charlie Daly,et al.  A Technique for Detecting Plagiarism in Computer Code , 2005, Comput. J..

[11]  A. Pons,et al.  Oto, a generic and extensible tool for marking programming assignments , 2008 .

[12]  Fu Lee Wang,et al.  Designing Programming Exercises with Computer Assisted Instruction , 2008, ICHL.

[13]  Stephen H. Edwards,et al.  Experiences using test-driven development with an automated grader , 2007 .

[14]  Jeroen J. G. van Merriënboer,et al.  Strategies for Programming Instruction in High School: Program Completion vs. Program Generation , 1990 .

[15]  Chung Keung Poon,et al.  Experiences with PASS: Developing and Using a Programming Assignment aSsessment System , 2006, 2006 Sixth International Conference on Quality Software (QSIC'06).

[16]  Athanasios Tsintsifas,et al.  Automated assessment and experiences of teaching programming , 2005, JERC.

[17]  Jeroen J. G. van Merriënboer,et al.  Strategies for computer-based programming instruction: Program completion vs. program generation. , 1992 .

[18]  Jeffrey C. Carver,et al.  Viope as a Tool for Teaching Introductory Programming: An Empirical Investigation , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).