Requirements for a first year object-oriented teaching language | Synapse