Test My Code: An Automatic Assessment Service for the Extreme Apprenticeship Method

We describe an automated assessment system called Test My Code (TMC) which is designed to support instructors’ and students’ work in programming courses that use the Extreme Apprenticeship method. From the students’ point of view TMC is a transparent assessment service that is integrated to a industry-standard programming environment. TMC allows scaffolding during students’ working process, retrieves and updates exercises on the fly, and causes no overhead to the programming process. From the instructors’ perspective, TMC allows collaborative crafting of exercises with small goals that combine into bigger programs, gathering snapshots from students’ actual programming process, and collecting feedback. TMC has been successfully used in MOOCs in programming as well as in our university courses.

[1]  David Reed,et al.  AAA and CS 1: the applied apprenticeship approach to CS 1 , 1995, SIGCSE.

[2]  Jaakko Kurhila,et al.  Multi-faceted support for MOOC in programming , 2012, SIGITE '12.

[3]  Arto Vihavainen,et al.  Extreme apprenticeship method in teaching programming for beginners , 2011, SIGCSE.

[4]  Ronan G. Reilly,et al.  The Influence of Motivation and Comfort-Level on Learning to Program , 2005, PPIG.

[5]  Christopher Douce,et al.  Automatic test-based assessment of programming: A review , 2005, JERC.

[6]  Petri Ihantola,et al.  Review of recent systems for automatic assessment of programming assignments , 2010, Koli Calling.

[7]  Michael E. Caspersen,et al.  Exposing the Programming Process , 2008, Reflections on the Teaching of Programming.

[8]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[9]  Michael Kölling,et al.  Reflections on the Teaching of Programming, Methods and Implementations , 2008, Reflections on the Teaching of Programming.

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

[11]  Andrew Begel,et al.  Struggles of new college graduates in their first software development job , 2008, SIGCSE '08.

[12]  David A. Patterson,et al.  Crossing the software education chasm , 2012, Commun. ACM.

[13]  Ralf Reussner,et al.  ByCounter: Portable Runtime Counting of Bytecode Instructions and Method Invocations , 2008 .

[14]  Kirsti Ala-Mutka,et al.  A Survey of Automated Assessment Approaches for Programming Assignments , 2005, Comput. Sci. Educ..

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

[16]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[17]  Jaakko Kurhila,et al.  Management, structures and tools to scale up personal advising in large programming courses , 2011, SIGITE '11.