An Intelligent Assessment Tool for Students’ Java Submissions in Introductory Programming Courses

This paper presents a graph-based grading system for Java introductory programming courses, eGrader. This system grades submission both dynamically and statically to ensure a complete and through grading job. While dynamic analysis is based on JUnit framework, the static analysis is based on the graph representation of the program and its quality which is measured by software metrics. The graph representation is based on the Control Dependence Graphs (CDG) and Method Call Dependencies (MCD). eGrader outperforms existing systems in two ways: the ability of grading submission with semantic-errors, effectively, and generating reports for students, as a feedback on their performance, and instructors on the overall performance of the class. eGrader is well received by instructors not only for saving time and effort but also for its high success rate that is measured by four performance indicators which are sensitivity (97.37%), specificity (98.1%), precision (98.04%) and accuracy (97.07%).

[1]  Jack Hollingsworth,et al.  Automatic graders for programming classes , 1960, Commun. ACM.

[2]  Byron Weber Becker Teaching CS1 with karel the robot in Java , 2001, SIGCSE '01.

[3]  Claude Vibet,et al.  Handling Quiz-based tests with TEX macros , 1998, Education and Information Technologies.

[4]  Xiaohong Su,et al.  Semantic similarity-based grading of student programs , 2007, Inf. Softw. Technol..

[5]  John Waldron,et al.  Assessing the assessment of programming ability , 2004 .

[6]  Vincent Massol,et al.  JUnit in Action , 2003 .

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

[8]  Ashraf Elnagar,et al.  PDE4Java: Plagiarism Detection Engine for Java source code: a clustering approach , 2008, Int. J. Bus. Intell. Data Min..

[9]  Paul Roe,et al.  ELP - A Web Environment for Learning to Program , 2002 .

[10]  Charlie Daly,et al.  RoboProf and an introductory computer programming course , 1999, ITiCSE '99.

[11]  Luvai Motiwalla,et al.  Mobile learning: A framework and evaluation , 2007, Comput. Educ..

[12]  Murray W. Goldberg CALOS: an experiment with computer-aided learning for operating systems , 1996, SIGCSE '96.

[13]  Saad Harous,et al.  A Computer Aided Learning Tool , 2008 .

[14]  urs von Matt Kassandra: the automatic grading system , 1994 .

[15]  Jéan H. Greyling,et al.  Marking student programs using graph similarity , 2010, Comput. Educ..

[16]  Michael J. Wise,et al.  YAP3: improved detection of similarities in computer program and other texts , 1996, SIGCSE '96.

[17]  Michael Philippsen,et al.  Finding Plagiarisms among a Set of Programs with JPlag , 2002, J. Univers. Comput. Sci..

[18]  Ashraf Elnagar,et al.  A visual tool for computer supported learning: The robot motion planning example , 2007, Comput. Educ..

[19]  Jennifer Preece,et al.  Electronic Survey Methodology: A Case Study in Reaching Hard-to-Involve Internet Users , 2003, Int. J. Hum. Comput. Interact..

[20]  Paul Roe,et al.  Static Analysis of Students' Java Programs , 2004, ACE.

[21]  Chris Evans,et al.  The effectiveness of m-learning in the form of podcast revision lectures in higher education , 2008, Comput. Educ..