Investigating the viability of mental models held by novice programmers | Synapse