Introductory programming reconsidered - a user-oriented approach | Synapse