Verificator: Educational Tool for Learning Programming
A study of the difficulties of novice programmers