Javista Automated Assessment of Imperative Programs
Abstract
This thesis presents a methodology and a tool for automated assessment of programming exercises,
with the purpose of reducing the workload of teachers. Our aim is for the tool to provide accurate
and useful assessment given an exercise specification. Using the tool could allow teachers to spend
more time helping students. The tool, implemented in Haskell, is intended to be used by teachers
through a command line interface and targets a subset of Java. Assessment is achieved by using
semantic and behavioural analysis. Semantic analysis consists of normalisation and prefix trees,
while behavioural analysis consists of testing including integrated shrinking. The presented tool is
evaluated using a data set from the course TDA450 at Chalmers University of Technology. The
tool managed to classify 60% of the solutions as either correct or incorrect with no false positives.
The result shows that it is possible to automatically assess student solutions and suggests that
more solutions can be classified given further development.
Degree
Student essay
Collections
View/ Open
Date
2017-08-09Author
Stern Kaar, Aleksander
Algehed, Maximilian
Farrokhzad, Mazdak
Hultin, Joel
Boij, Simon
Keywords
Automated Assessment, Normalisation, Strategies, Property Based Testing, Programming
Language
eng