Announcements and Schedule

Announcements

Office Hours (MC 226/234)

If you cannot make any of these times, contact us for an appointment
  • Alex: Wednesdays 10:30-11:30
  • David: Thursdays 11:30-12:30

Schedule

Week 1 (Jan 8-12)
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)
Week 2 (Jan 15-19)
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 or SableCC
  • Assignment 1 posted. Due Sunday, January 28th
Week 3 (Jan 22-26)
Topics:
Readings:
  • Crafting a Compiler:
    • Chapter 7
    • Chapter 8.1-8.4
Milestones:
  • Add/Drop deadline: Tuesday, January 23th
  • Assignment 1 Due: Sunday, January 28th
Week 4 (Jan 29-Feb 2)
Topics:
  • Type Checking
Readings:
  • Crafting a Compiler: Chapter 8.5-8.9
Week 5 (Feb 5-9)
Topics:
  • Virtual Machines: VirtualRISC
  • Virtual Machines: JVM
Readings:
  • Crafting a Compiler: Chapter 10.1-10.2
Week 6 (Feb 12-16)
Topics:
  • GoLite
  • Virtual Machines: JVM (continued)
  • {Bite}Code Generation
Readings:
Week 7 (Feb 19-23)
Topics:
  • {Bite}Code Generation (continued)
  • Optimization
Readings:
  • Crafting a Compiler: Chapter 13.6
Week 8 (Feb 26-Mar 2)
Topics:
  • Garbage Collection
Readings:
  • Crafting a Compiler: Chapter 12.4
Reading Week Mar 5-Mar 9
(No Class/Office Hours)
Week 9 (Mar 12-16)
Topics:
  • Midterm Review
Milestones:
  • Class cancelled Wednesday. Office hours from 9:30-11:30
  • Midterm: Friday, March 16th (either 9:00-10:30 or 9:30-11:00)
Week 10 (Mar 19-23)
Topics:
  • Midterm Recap
  • Native Code Generation
Week 11 (Mar 26-30)
Topics:
  • Native Code Generation (continued)
Week 12 (Apr 2-6)
Topics:
  • GPUs
  • WebAssembly
Week 13 (Apr 9-13)
Topics:
  • Course Recap