Conditions of Learning in Novice Programmers | Synapse