Towards a programming apprentice | Synapse