CS426: Compiler Construction

Fall 2019

12:30-1:45 Tuesdays and Thursdays, 1302 SC


Teaching Staff

Course Content

Assignments

Textbook

Either of the following books provides good coverage of many topics in the course.

Additional Reading

Course Newsgroup

Lecture Notes

Homeworks and Exams

Project Description

Grading Policy

  UG or 0.75 unit grads 1-unit grads
Project 40% 52%
Homeworks 10% 8%
Exams 50% 40%

Homework grading:The two homeworks are worth 5% each. The entire 5% will be given to any homework that is completed and turned in (on time; usual late penalties apply). 0% will be given to any homework that is incomplete or not turned in. The purpose of the homeworks is to give you an opportunity to practice applying the concepts and techniques you learn in class because practice is by far the best way to learn new concepts. Making mistakes on homeworks is not itself a bad thing -- it is a part of learning -- and I see little value in penalizing them. This grading policy is designed to encourage you to practice solving the homework problems without penalizing you for mistakes. Learning from your msitakes is of course crucial, and you can -- and should -- do that by comparing your solutions carefully to the official solutions we hand out to you.

Project grading: The project will be due in four parts, and will be graded as the semester progresses. For 1-unit students, the total score for the semester will be computed by scaling all the basic course components by 0.8, and giving the unit project a weighting of 0.2, i.e.,

Total = 0.8 * BasicTotal + 0.2 * UnitProjectScore

Grad students vs. undergrads: Graduate students will be graded separately from undergraduate students.

Computing Facilities

Course Policies on Incomplete MPs, Lateness and Cheating

How to Get the Most out of this Course

  1. Read the text as it is quite thorough, with many examples worked out, good motivating discussions, and useful intuition.
  2. Participate actively in class: ask questions when you don't understand something, and share in the in-class exercises.
  3. Do the homeworks and project assignments ahead of time whenever possible. Working madly to beat a deadline is a terrible way to learn!