Grading student programs - a software testing approach | Synapse