Description of Tools
Based on the specifications and characteristics discussed in the
previous two sections, below are few readily used E-assessment tools:
(1) WebCAT: Edwards and Perez-Quinones developed
Web-CAT to assess student solutions and student tests for their solutions
(written in Java) 8. This approach inspires students to write software tests
for their own code and enables students with the responsibility of
demonstrating the correctness and validity of their own programs. It uses
dynamic analysis and partial Feedback (Hybrid Approach) 5
(2) BOSS: It is a tool developed by Luck & Joy to
assist the online submission and successive processing of programming
assignments. The discrete components of this tool are designed to be used by
two kinds of individual. First, some programs must be used by students so that
they can gain feedback and submit their programs. Second, lecturers and any
course tutors involved in assisting the lecturer must be able to gain access to
the submitted programs in order to test and mark the student submissions 9.
It uses static analysis and preliminary validation 5 (Hybrid Approach).
AutoLEP: AutoLEP 10 is a
standalone tool that combines static analysis with dynamic testing to analyze
programs, so it evaluates not only the testing results but also the constructs
of the programs. It grades a student program by evaluating how close the source
code of the student program is to correct solutions.
It is a web based
competitive learning system initially developed for conducting programming
contests over the Internet. It provides specific interface to every user
according to its profile. These profiles can be adapted to the typical roles of
a Learning Management System (LMS). The four interface types provided by
Mooshak are: Administration view, Teams view, Judge’s view and Public view
was a flexible, secure and user-friendly system that was developed at the
University of Nottingham as a successor to the Ceilidh in 2003. Students use
CourseMarker client on their system and login into their account. They select
the course, topic and exercise they want to complete. Students write the
program in response to the problem description provided to them and submit it.
Program output is compared with the expected output of the program and results
are shown to students. Students can re-solve the problem if it is not
satisfactory, upon teacher’s permission 12.
ASSYST (Assessment SYSTem)
practices two user views: the first and simplest view provides the means by
which a student submits a program electronically for subsequent grading; the
second view is that of the tutor, who is able to oversee and direct the assessment
Expresso is targeted at
students studying introductory Java programming, written in C++ as a
multiple-pass pre-processor. The first pass inputs the programmer’s file and
removes comments, while keeping track of line numbers, and storing the
resulting characters in a vector. The second pass removes white space and
tokenizes the file, storing the result as a vector of words. Words were
identified using punctuation and white space as delimiters. The final pass
detects the mistakes, printing out an error message when appropriate. Expresso does not eliminate the need for
compiler messages; rather it enhances the compiler functionalities by
generating detailed and easy to read error messages and providing suggestions
on how to fix the errors 14.
(8) CAP: The Code Analyzer for Pascal (CAP) 15
analyzes programs that use a subset of the Pascal language and provides
user-friendly feedback on the errors that it finds. It is developed to provide
students with automated, user-friendly feedback on syntax, logic and style
(9) TRY: TRY 16 system was developed in late 80’s
for Unix operating system which test student program with a set of hidden test
data. By keeping the test data hidden, students are encouraged to design programs
without any advance knowledge of the test cases.
Test: It is a web-based
environment for submission and automatic evaluation of practical assignments,
whose main objective is to deliver a satisfactory feedback to evaluate the
students’ performance concerning programming and testing activities. Prog Test
evaluates a student’s submission on basis of: Instructor’s code, Instructor’s
test cases, Student’s code and Student’s test cases. A student has to submit
program as well as test cases used by him to test his own program. In fact, the
instructor’s program can be a relevant parameter since its use when assessing
the student’s program and test cases can provide additional feedback to improve
the quality of both the test cases set as well as the program under
(11) Petcha: It acts as an
automated Teaching Assistant in computer programming courses. It works with
traditional IDEs, helping student to start using the tools they need to program
efficiently, and can be effortlessly removed when it is no longer needed. It
also helps the evaluator for automatic evaluation of programming exercises,
including the feedback to deliver to students on common error patterns 18.
(12) Auto Grader: It is a new
tool designed at MIT to review faulty code and automatically provide feedback
on how to fix it. It uses Error Models and Constraint-based synthesis to perform
(13) INGInious: INGInious
20 is a tool designed to automatically grade programming code submitted by
the user. INGInious is made to be generic, capable of running virtually any
programming language; safe, running students’ algorithms in specific virtual
environments confined from the base system; and scalable, capable of dealing
with large numbers of submissions.
(14) Curator: It grades a program by a strict textual
comparison. For instance, the student documentation for Curator indicates that
“It is important that your output file not contain any extra lines, or omit any
(15) Online Judge: Another tool based on textual comparison of
program output is the Online Judge 22, 23, a tool which can handle programs
in various languages (C, C++, Java).
(16) HackerEarth Recruit: It is an online skill assessment tool for
conducting programming tests to assess developers. It saves the pain of going
through hundreds of resumes, by automating the process of evaluating technical
skills, which helps to quickly filter the competent candidates.
(17) LMS Based Tools: This category of tools can be used to assess
a student in the course enrolled on the basis of his/her submissions during the
course. Further, it can be used to detect plagiarisms, generate and evaluate
test cases for a program.