Bridging Classroom Heterogeneity: A Software Engineering Course and Projects

In this paper, the process of bridging classroom heterogeneity in a Software Engineering course is discussed, using a real course as a framework for analysis. Specifically, this paper addresses issues when disparities exist in the same classroom, 1) between graduate and undergraduate students, 2) among students with a variety of programming skills and programming language familiarities, and 3) among student experience levels in software development. Additionally, the struggles of aiming for substance, while dealing with the perils of group work, are addressed. This paper presents real and practical solutions to these challenges, including addressing issues with course content presentation, textbook selection, course projects, and graduate research opportunities.