Compilers

Schedule

Lecture Hours: 1:15 PM - 2:30 PM on Tuesdays and Thursdays
Lecture Location: Science Center 204
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 17

Lecture
Materials

Introduction to Compilers and OCaml

OCaml Warm-Up

Jan 19

Lecture
Materials

OCaml Data Types and Recursion

2

Jan 24

Lecture
Materials

Higher-Order Functions in OCaml

Higher-Order Functions and Recursive Types

Jan 26

Lecture
Materials

Drop/add ends (Jan 27)

Syntax and Compilation

Hatchling (activity)

3

Jan 31

Lecture
Materials

Bindings and Scope

Auklet

Feb 02

Lecture
Materials

Arithmetic Operations and Allocation

4

Feb 07

Lecture
Materials

Value Tagging

Bluebird

Feb 09

Lecture
Materials

C Calling Conventions; Runtime Errors

5

Feb 14

Lecture
Materials

Functions

Cardinal

Feb 16

Lecture
Materials

Compile-time Errors

6

Feb 21

Lecture
Materials

Heap Allocation and Pairs

Dove

Feb 23

Lecture
Materials

7

Feb 28

Old Lecture
Materials

System Calls

Eagle

Mar 02

Lecture
Materials

Register Allocation

 

Mar 07

Spring Break

Mar 09

8

Mar 14

Lecture
Materials

First-Class Functions and Closures

Mid-Term Take-Home Exam

Mar 16

Lecture
Materials

Falcon

9

Mar 21

Lecture
Materials

Mar 23

Lecture
Materials

CR/NC/W Deadline (Mar 24)

Memory Management Overview

10

Mar 28

Lecture
Materials

Mark/Compact

Mar 30

Lecture
Materials

Manual Memory Management

11

Apr 04

Lecture
Materials

Garbage Collection Strategies

Gull

Apr 06

Lecture
Materials

Tail Call Optimization

12

Apr 11

Lecture
Materials

Apr 13

Lecture
Materials

LL Parsing and Left Recursion

13

Apr 18

Lecture
Materials

Hoopoe

Apr 20

Lecture
Materials

LR Parsing

Pyrrhuloxia

14

Apr 25

Lecture
Materials

Type Systems

Apr 27

Lecture
Materials

 

May 04

Take-Home Final (Due May 11)