Toward Instant Gradeification Daniel M. Zimmerman∗, Joseph R. Kiniryy and Fintan Fairmichaelz ∗University of Washington Tacoma, USA —
[email protected] yIT University of Copenhagen, Denmark —
[email protected] zUniversity College Dublin, Ireland — fi
[email protected] Abstract Providing useful feedback to students about both the functional correctness and the internal structure of their submissions is the most labor-intensive part of teaching programming courses. The former can be automated through test scripts and other similar mechanisms; however, the latter typically requires a detailed inspection of the submitted code. This paper introduces AutoGradeMe, a tool that automates much (but not all) of the work required to grade the internal structure of a student submission in the Java programming language. It integrates with the Eclipse IDE and multiple third-party plug-ins to provide instructors with an easy-to-use grading environment. More importantly, unlike other automatic grading tools currently in use, it gives students continuous feedback about their programs during the development process. 1. Introduction Grading student submissions is the most time-consuming, labor-intensive part of teaching programming courses. Graders must provide useful feedback to students on both external correctness, the degree to which the submission fulfills its functional requirements, and internal correctness, the degree to which the submission uses language features in reasonable ways and has easily understandable code (for some definition of “easily”). Some courses may require assignments to conform to a particular coding standard, to use algorithms with time or space complexity within a given threshold, or to use sound object-oriented design principles, all of which also fall under the umbrella of internal correctness.