Teaching objects-first in introductory computer science | Synapse