A study of the difficulties of novice programmers | Synapse