We report on our experience and lessons learned from teaching the theory and practice of software engineering to hundreds of undergraduate students majoring primarily in computer science. These students know how to write code but not engineer software. In particular, the teaching load appears to scale well to hundreds of students despite offering open-ended exams in an interactive theory course that focuses on solving concrete problems. We teach theory and practice sequentially, to give students time to apply what they learn, which also enables us to iterate on the theory course quickly based on results from the practice course.
Solal Pirelli (Sun,) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: