# Flipping a Graduate-Level Software Engineering Foundations Course

**Authors:** Hakan Erdogmus, Cecile Peraire

arXiv: 1702.07069 · 2017-02-24

## 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.

## Key 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 gradually complemented video lectures and hands-on live sessions with additional live components: easily replaceable recitations that focus on current technology and mini lectures that address application of theory and common wisdom. We also provided the students with more opportunities to share their successes and experiments with their peers. We achieved scalability by increasing the number of teaching assistants, paying attention to teaching assistant recruitment, and fostering a culture of mentoring among the teaching team.

---
Source: https://tomesphere.com/paper/1702.07069