Using the inverted classroom to teach software engineering | Synapse