Scalable Teaching of Software Engineering Theory and Practice: An Experience Report | Synapse