Learning to program hands-on: a controlled study | Synapse