Flipping a Graduate-Level Software Engineering Foundations Course
Hakan Erdogmus, Cecile Peraire

TL;DR
This paper describes the design, implementation, and lessons learned from a flipped-classroom graduate software engineering course at Carnegie Mellon, emphasizing balancing scope, technology-agnostic content, and active student engagement.
Contribution
It introduces a practical flipped-classroom model for graduate software engineering education, including strategies for scalability, engagement, and adapting to remote learning environments.
Findings
Pure flipped format was less effective remotely.
Additional live components improved knowledge transfer.
Scaling required more TAs and fostering mentoring culture.
Abstract
Creating a graduate-level software engineering breadth course is challenging. The scope is wide. Students prefer hands-on work over theory. Industry increasingly values soft skills. Changing software technology requires the syllabus to be technology-agnostic, yet abstracting away technology compromises realism. Instructors must balance scope with depth of learning. At Carnegie Mellon University, we designed a flipped-classroom course that tackles these tradeoffs. The course has been offered since Fall 2014 in the Silicon Valley campus. In this paper, we describe the course's key features and summarize our experiences and lessons learned while designing, teaching, and maintaining it. We found that the pure flipped-classroom format was not optimal in ensuring sufficient transfer of knowledge, especially in remote settings. We initially underestimated teaching assistantship resources. We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsInnovative Teaching Methods · Software Engineering Techniques and Practices · Experimental Learning in Engineering
