Automatic test-based assessment of programming | Synapse