Compilers

Schedule

Lecture Hours: 9:55 PM - 11:10 PM on Tuesdays and Thursdays
Lecture Location: Science Center 181
Lab Location: Clothier 016

Calendar

The following is a tentative course calendar; it is subject to change as circumstances dictate.

Captured videos of lecture are linked in the calendar below. The corresponding resources created during those lectures can be found in the Lecture Materials.

WEEK DAY ANNOUNCEMENTS TOPIC ASSIGNMENTS
1

Jan 18

 

OCaml Warm-Up

Jan 20

 
2

Jan 25

Lecture,
Materials

Course Administration and OCaml Review

Higher-Order Functions and Recursive Types

Jan 27

Lecture,
Materials

Drop/add ends (Jan 28)

Syntax and Compilation

Hatchling (activity)

3

Feb 01

Lecture,
Materials

Bindings and Scope

Auklet

Feb 03

Lecture,
Materials

Arithmetic Operations and Allocation

4

Feb 08

Lecture,
Materials

Value Tagging

Bluebird

Feb 10

Lecture,
Materials

C Calling Conventions; Runtime Errors

5

Feb 15

Lecture,
Materials

Functions

Cardinal

Feb 17

Lecture,
Materials

Compile-time Errors

6

Feb 22

Lecture,
Materials

Heap Allocation and Pairs

Dove

Feb 24

Lecture,
Materials

7

Mar 01

Lecture
Materials

System Calls

Eagle

Mar 03

Lecture
Materials

Register Allocation

 

Mar 08

Spring Break

Mar 10

8

Mar 15

Lecture
Materials

First-Class Functions and Closures

Mid-Term Take-Home Exam

Mar 17

Lecture
Materials

Falcon

9

Mar 22

Lecture
Materials

Mar 24

Lecture
Materials

CR/NC/W Deadline (Mar 25)

Memory Management Overview

10

Mar 29

Lecture
Materials

Manual Memory Management

Mar 31

Lecture
Materials

Mark/Compact

11

Apr 05

Lecture
Materials

Garbage Collection Strategies

Gull

Apr 07

Lecture
Materials

Tail Call Optimization

12

Apr 12

Lecture
Materials

Apr 14

Lecture
Materials

LL Parsing and Left Recursion

13

Apr 19

Lecture
Materials

Hoopoe

Apr 21

Lecture
Materials

LR Parsing

Pyrrhuloxia

14

Apr 26

Lecture
Materials

Type Systems

Apr 28

Lecture
Materials

 

May 05

Take-Home Final (Due May 10)