ON DEMAND: STEM Teaching with Active Learning: A Model Extracted from Software Engineering Classes (5 mins)


  • Kesina Baral George Mason University
  • Jeff Offut George Mason University
  • Paul Ammann George Mason University




Lecture-based class meetings don’t leave much time for interaction between the students and the instructor or collaboration among students to increase learning. “Active learning” is a broad term that encompasses teaching approaches where students talk, write, collaborate, move, etc. inside the classroom. We address the challenge of adapting an active learning approach to software engineering classes and propose that our adaptation might apply more broadly to other STEM classes. Our approach has five components: reading assignments, short videos, in-class exercises, homeworks, and quizzes. This sequence of components repeats for different topics throughout the course on a weekly basis. Reading assignments: Active classroom exercises are more effective if students prepare. Hence, students should be motivated to preview the topic before class. To facilitate this, we not only assign readings but also check for basic reading comprehension. Short videos: Students view short videos outside of class that introduce a topic, set up the problem, and discuss distractors en route to a correct solution. In-class exercises: Students apply the material they are learning through in-class exercises (the “active learning” part). Students work in small groups. We focus on having students explain their solutions to us (and the class) instead of simply telling them what they should do. Homework: Students practice materials learned in class through homework. We encourage collaboration among students. Quizzes: To assess learning, we quiz students on the topic they learned the previous week. We post quiz solutions on a discussion board (Piazza) so that students can study, question, and comment. We treat weekly quizzes as a “distributed” midterm. Currently our quiz consumes class time; an improvement would be to move quizzes outside of the classroom. This session is based on teaching software engineering concepts to both undergraduate and graduate students in the Volgenau School. We have introduced aspects of our active learning approach over the last 10 years. A short peer-reviewed session on this topic has been accepted by the 1st Test Education Workshop, Porto, Portugal, March 27, 2020 [Ammann et al., 2020]. Paul Ammann and Kesina Baral. Teaching a Testing Concept (JUnit) with Active Learning. To be published at ICST, Test Education Workshop, Porto, Portugal, March 27, 2020 Active learning improves student attitudes, engagement, and learning in STEM disciplines (e.g. Freeman et al., 2014). Evidence shows that students learn more when they work collaboratively (peer-learning) and they enjoy it more. It also matches industry practice; very few software engineers work alone. Freeman, S. et al. (2014). Active learning increases student performance in science, engineering, and mathematics. Proceedings of the National Academy of Sciences, 111(23), 8410–8415. https://dx.doi.org/10.1073/pnas.1319030111

Author Biographies

Jeff Offut, George Mason University

****TEA 2013 Winner****

Paul Ammann, George Mason University

****TEA 2019 Winner****





On Demand Pre-recorded Presentation