A fundamentals-based curriculum for first year computer science | Synapse