Pilot for teaching systematic compiler design in CPSC 411

TitlePilot for teaching systematic compiler design in CPSC 411
Duration1 Year
Project Summary

In CPSC 411, students learn to implement a compiler, a large software project used to implement a programming language by translating programs into binary machine code. The current CPSC 411 curriculum is based on a textbook published in 1998; it predates the UBC computer science (CS) focus on SYSTEMATIC SOFTWARE DESIGN, and 20 years of compiler and programming language advances. As a result, we are revising the CPSC 411 curriculum and pedagogy to reflect modern practices and technologies.

The funds from this Small TLEF will be used to develop and pilot course activities and assignments that teach students to DESIGN new programming languages and compilers, in addition to implementing them. This design aspect is new; CPSC 411 currently gives students a design, and students simply use that design. We will redevelop the CPSC 411 assignments to include design components, incorporate design into classroom activities, and develop accompanying open lecture notes.

Funding Details
Year 1: Project YearYear 1
Year 1: Funding Year2020/2021
Year 1: Project TypeSmall TLEF
Year 1: Principal InvestigatorWilliam J. Bowman
Year 1: Funded Amount16,223
Year 1: Team Members

William J. Bowman, Assistant Professor, Computer Science, Faculty of Science
Ron Garcia, Associate Professor, Computer Science, Faculty of Science

Project Report2020-TLEF-Final-Report-Bowman-WEB.pdf