Li, Sichuang2019-01-142019-01-142019-01-142019-01-08http://hdl.handle.net/10012/14348This thesis presents a novel approach to automatically mark programming assignments. We hypothesize that correct student solution ASTs will be more similar to reference solution ASTs than incorrect student solutions and that their similarities can be quantitatively measured. Our approach first preprocesses the ASTs before computing their tree edit distances. We then aggregate the student's set of edit distances from every reference solution into a final mark for the student. We have implemented our approach in our ClangAutoMarker tool. Our experiments demonstrate promising potential for reducing a human marker's workload but further refinements are needed before its accuracy can be suitable for a live classroom.enassignmentclusteringmachine learningast analysiscompilerclangllvmAutomating Programming Assignment Marking with AST AnalysisMaster Thesis