2017 Contest Winners


GoLite Winners

David Herrera, Adam Bognat, Maurice Zhang

GoLite Runners-Up

Ayesha Krishnamurthy, Aleksi Sapon-Cousineau, Rohit Verma

Peephole Winners

Jonathan Lucuix-André, Ralph Bou Samra, Martin Zhang


Announcements and Schedule

Announcements

Office Hours (MC 226/234)

If you cannot make any of these times, contact us for an appointment
  • Alex: Wednesdays 14:30-15:30
  • Prabhjot: Tuesdays 11:30-12:30
  • Hanfeng: Thursdays 16:00-17:00

Schedule (Tentative)

Week 1 (Jan 2-6)
Lecture Topics:
Readings:
  • Crafting a Compiler: Chapters 1, 2 and 3
  • Students without COMP 330: Learn the basics of regular expressions/languages and context-free languages. A good online resource can be found here
Milestones:
  • Start to form groups (3 people per group recommended)
  • Create a GitHub account, learn git as needed
Week 2 (Jan 9-13)
Lecture Topics:
Readings:
  • Crafting a Compiler (recommended):
    • Chapter 4.1-4.4
    • Chapter 5.1-5.2
    • Chapter 6.1-6.2; 6.4
  • Crafting a Compiler (optional):
    • Chapter 4.5
    • Chapter 5.3-5.9
    • Chapter 6.3; 6.5
Milestones:
  • Continue forming your groups
  • Learn the basics of flex, bison, SableCC
  • Assignment 1 posted. Due Wednesday, January 25th
Week 3 (Jan 16-20)
Lecture Topics:
Readings:
  • Crafting a Compiler: Chapter 7
  • [Alternate] Modern Compiler Design in Java: Chapter 4
Milestones:
  • Add/Drop deadline: Tuesday, January 17th
  • Group signup
  • Continue working on Assignment 1
Week 4 (Jan 23-27)
Lecture Topics:
Readings:
Milestones:
  • Assignment 1 Due: Wednesday, January 25th
  • Group signup completion
  • Assignment 2 posted. Due Sunday, February 12th
Week 5 (Jan 30-Feb 3)
Lecture Topics:
Readings:
  • Crafting a Compiler: Chapter 8.5-8.9
Milestones:
  • Continue working on Assignment 2
  • Milestone 1 posted. Due Sunday, February 26th
Week 6 (Feb 6-10)
Lecture Topics:
Readings:
Milestones:
  • Assignment 2 Due: Sunday, February 12th
  • Start working on Milestone 1
Week 7 (Feb 13-17)
Lecture Topics:
Readings:
  • Crafting a Compiler: Chapter 11
Milestones:
  • Continue working on Milestone 1
Week 8 (Feb 20-24)
Lecture Topics:
Readings:
  • Crafting a Compiler: Chapter 13.6
Milestones:
  • Milestone 1 Due: Sunday, February 26th
  • Milestone 2 posted. Due Sunday, March 12th
  • Peephole optimizer posted. Due Tuesday, April 11th
Reading Week Feb 27-Mar 3
(No Class/Office Hours)
Week 9 (Mar 6-10)
Lecture Topics:
Readings:
  • Crafting a Compiler: Chapter 12.4
Week 10 (Mar 13-17)
Lecture Topics:
Milestones:
  • Milestone 2 Due: Monday, March 13th 12:00 (lunch time)
  • Class cancelled Wednesday. Office hours from 13:30-15:30
  • Milestone 3 posted. Due Sunday, March 26th
  • Milestone 4 posted. Due Tuesday, April 4th
  • Final report posted. Due Tuesday, April 11th
  • Midterm: Friday, March 17th (either 13:00-14:30 or 13:30-15:00)
Week 11 (Mar 20-24)
Lecture Topics:
Milestones:
  • Milestone 3 Due: Sunday, March 26th
Week 12 (Mar 27-31)
Lecture Topics:
  • Native Code Generation (cont)
Week 13 (Apr 3-7)
Lecture Topics:
Milestones:
  • Milestone 4 Due: Tuesday, April 4th
Week 14 (Apr 10-14)
Lecture Topics:
  • Course Recap (Garbage collection to native code generation)
Milestones:
  • Peephole Optimizer Due: Tuesday, April 11th
  • Final Report Due: Tuesday, April 11th