Steve Zdancewic
    office hours: Wednesdays 2:00-3:00 pm (and by appointment) Levine 511

Teaching Assistants

Olek Gierczak
    office hours: Tuesdays 12:00-1:30pm, GRW 5th Floor Bump Space

Nicolas Koh
    office hours: Tuesdays 6:00-7:00, GRW 6th Floor Bump Space

Yishuai Li
    office hours: Monday 3:00-4:00pm, GRW 5th Floor Bump Space

Richard Zhang
    office hours: Wednesday 6:00-7:00pm, GRW 565

Course information:

  time: TR 3:00 - 4:30pm
  room: David Rittenhouse Laboratory A2
  piazza: cis341

Prerequisites: CIS 121 and CIS 240


Reading and References

The following books contain useful course material, and much of the lecture content is derived from them (and other sources).

In addition, the following papers and web sites provide supplementary material. Reading selections from these sources will be announced in class.

Projects: Building a Compiler

There are several homework projects. Homework 1 is an individual assignment. The rest of the projects are pair-programming projects -- students are strongly encouraged to work in pairs, but may ask permission to work alone on them.


CIS 341 Toolchain - instructions for getting access to the tools you need to complete course assignments.

Grading Criteria

Check your current scores.

Lecture Slides and Notes

*Prof. Zdancewic will be absent.

Some of the slides in these lectures have been adapted (with permission) from course materials by Andrew Myers at Cornell University and Greg Morrisett at Harvard University.

Course Policies

General Project Guidelines

Submission Policy

Academic Integrity

This course will abide by the University's Code of Academic Integrity. In particular, for individual projects and group projects, the following guidelines should be followed:
Last modified: Wed May 9 10:23:09 EDT 2018