DocumentCode
387158
Title
Automatically grading Java programming assignments via reflection, inheritance, and regular expressions
Author
Morris, Derek S.
Author_Institution
Comput. Sci. Div., Rutgers Univ., Piscataway, NJ, USA
Volume
1
fYear
2002
fDate
2002
Abstract
A suite of programs that performs the automatic grading of Java programming assignments is described. This suite has been used in the Introduction to Computer Science course at Rutgers University since the Spring 2000 semester where it grades some 400-600 weekly assignments. The time to grade the submissions is a matter of minutes on a 500 MHZ PC. The development process for a typical assignment that includes the development of the required assignment-specific evaluation software is in the order of 8 hours. The programming system derives its ability to grade in the presence of errors from the use of the Java reflection classes, the Java inheritance mechanism, and Perl regular expressions. The reflection classes allow a student program´s methods to be individually found and executed independently of how they are actually named by the student. The Java inheritance mechanism allows a flawed student method to be overridden with a known good method so the evaluation may proceed. The regular expressions allow the student´s program output to be gleaned for information even if the output does not adhere to specified format. The regular expressions are also used to scan the student´s source code for desirable or undesirable coding patterns. In addition, the systems programming aspects of Perl are used to extract the student programs from the environment where they are submitted and to construct the environment in which they are compiled, executed, and evaluated. To date about 32000 student programs have been graded by this system.
Keywords
Java; computer science education; educational administrative data processing; program testing; programming; Introduction to Computer Science course; Java Reflection classes; Java inheritance mechanism; Java programming assignments; Perl Regular Expressions; Rutgers University; assignment-specific evaluation software; automatic grading; flawed student method; programming system; software testing; Automatic programming; Computer science; Data mining; Java; Protection; Reflection; Runtime; Software testing; System testing; Text processing;
fLanguage
English
Publisher
ieee
Conference_Titel
Frontiers in Education, 2002. FIE 2002. 32nd Annual
ISSN
0190-5848
Print_ISBN
0-7803-7444-4
Type
conf
DOI
10.1109/FIE.2002.1157985
Filename
1157985
Link To Document