Design and Evaluation of Automated Scoring: Java Programming Assignments

Design and Evaluation of Automated Scoring: Java Programming Assignments

Yuki Akahane (Graduate School of Engineering, Tokyo Denki University, Tokyo, Japan), Hiroki Kitaya (Graduate School of Engineering, Tokyo Denki University, Tokyo, Japan), and Ushio Inoue (Graduate School of Engineering, Tokyo Denki University, Tokyo, Japan)
Copyright: © 2015 |Pages: 15
DOI: 10.4018/IJSI.2015100102
OnDemand PDF Download:
No Current Special Offers


This paper presents a web-based automatic scoring system for Java programming assignments, and reports evaluation results in an actual programming course. The system receives Java application programs submitted by students and returns the test results immediately. The test consists of compiler check, JUnit test, and result test. The result test is very useful for assignments in elementary programming courses, because a typical program is composed of only a main method that reads/writes data from/to the standard input/output devices. The system was used and evaluated in an actual course of our university. The authors confirmed that the system is very helpful for students to improve their programming skills. Especially, many students noticed and corrected their mistakes by repeating submission of their programs again several times.
Article Preview

1. Overview Of The System

This section outlines our web-based automated scoring system (Kitaya & Inoue, 2014), including the purpose, functionality, structure and user interface.

A. The Target

Our system has been developed for an introductory Java language course of Tokyo Denki University. Approximately 150 students learn Java in the course for 4 months and most of the students have less than one year experience of programming. Therefore, most of homework assigned to the students demand writing a Java application program that inputs several data and outputs the results. A typical homework is to write a program that reads three integer values from the keyboard and prints the greatest common divisor (GCD) on the screen.

B. The Functionality

Our system provides the following functions to students on the web.

  • Managing assignments: The system displays a list of questions assigned to the student, indicating which is already answered and which is unanswered yet.

  • Uploading a source file: The system receives a Java file submitted by the student and stores it in an individual user folder.

  • Testing and scoring files: The system compiles the source files, conducts several tests, and determines the scores. The next section describes the process in detail.

  • Displaying the result: The system finally displays the results of compiling, testing, and scoring with some diagnostic messages.

C. The Structure

Our system is constructed on a web site so that students can submit their programs anytime and anywhere, and receive a feedback immediately. Figure 1 shows the system structure.

Figure 1.

System structure


The system is based on the MVC (Model, View, and Controller) architecture with Struts 2. MySQL DB stores information of students and assignments as the model. JSP generates web pages for students as the view. Servlet receives and tests student programs, and records the results as the controller.

Complete Article List

Search this Journal:
Volume 11: 1 Issue (2023)
Volume 10: 4 Issues (2022): 2 Released, 2 Forthcoming
Volume 9: 4 Issues (2021)
Volume 8: 4 Issues (2020)
Volume 7: 4 Issues (2019)
Volume 6: 4 Issues (2018)
Volume 5: 4 Issues (2017)
Volume 4: 4 Issues (2016)
Volume 3: 4 Issues (2015)
Volume 2: 4 Issues (2014)
Volume 1: 4 Issues (2013)
View Complete Journal Contents Listing