ICSE 2024 (series) / Artifact Evaluation /
Scalable Teaching of Software Engineering Theory and Practice: An Experience Report
We report on our successful experience teaching the theory and practice of software engineering to ~150 undergraduate students majoring primarily in computer science. These students know how to write code, but not how to engineer software products. We found that teaching theory in parallel with practice was too late for students to apply their newfound knowledge, and thus chose to teach sequentially instead.
Our courses focus on interactivity and problem-solving, with exams that ask open-ended design and programming questions, yet remain scalable to over a hundred students with no obvious bottleneck. The sequential nature of our teaching enabled us to iterate on the theory course quickly based on results from the practice course.