Steve Zdancewic: Managing Semester-Long Course Projects
Steve Zdancewic, professor in the Department of Computer and Information Science, won the Lindback Award for Distinguished Teaching in 2018. As part of an Almanac series that began in the fall of 1994 as the joint creation of the College of Arts and Sciences, the Center for Teaching and Learning and the Lindback Society for Distinguished Teaching, Zdancewic wrote the following essay on his approach to hands-on, long-term educational projects that weaves lessons in and out of the classroom.
One of the things I enjoy most about teaching is creating course projects that challenge students outside of the classroom, where they can engage with the material on their own terms. A well-crafted project emphasizes and expands on the course’s core intellectual topics — it focuses the students’ attention and lets them apply the course concepts in a tangible way.
For the students in my Compilers and Interpreters course (CIS 341), I have created an integrated, team-based, semester-long project. By the end of the term, the students have built, from scratch, a fully-functioning compiler. A compiler is the fundamental tool that a programmer uses to translate human-readable code into the binary instructions understandable by a computer’s CPU. This project resonates with students because they use compilers routinely — building one themselves is enlightening and empowering.
There are many benefits to this approach. We tackle an ambitious engineering task, where each step builds on the previous one. Along the way, students grapple with development issues that arise at scale; they integrate knowledge from throughout our curriculum; and they gain a strong sense of accomplishment.
Structuring the course around a single project made me rethink its organization so that the lectures cover each component’s material when we need it. In return, the project provides a clear narrative arc, so that even the most theoretical parts are well motivated, which keeps the students engaged.
Using a large project is not without cost. The stakes are higher (for both me and the students), and it takes significant time and energy to develop. Nevertheless, I think (and, based on student feedback, they seem to agree!) that the extra effort is worth it.
As I reflect on what I’ve learned from project-based teaching, the following lessons come to mind.
Continue reading at The Almanac.