University of Twente Student Theses


ZITA : a self learning tutoring assistant

Blok, T. (2019) ZITA : a self learning tutoring assistant.

This is the latest version of this item.

[img] PDF
Abstract:Static analysis tools are used to quickly and easily verify code for errors or style issues. These tools can be used in education in order to easy assessment. To include all course-specific errors, however, custom rules must be made to find these errors. This research aims to use machine learning to automatically link code patterns to errors. The biggest problem is how to learn a program in such a way that the structure of a program is not lost. This is achieved by first transforming a program to its corresponding Abstract Syntax Tree (AST). A static analysis tool is used to initially identify faulty code, in order to see how well the classifiers are able to learn the rules of such a tool. In total 306 student-written programs are used to test the performance of two machine learning classifiers: Naive Bayes and Decision Trees. 10-fold cross validation is used to reduce possible noise. Decision Trees perform the best, in addition to granting the ability to easily look at the reasoning behind determining the class of a program. The overall true positive (TP) rate is 60%. Structural errors are able to be found with a precision and recall of over 70%.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science, 81 education, teaching
Programme:Computer Science MSc (60300)
Link to this item:
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page