Compilers

Schedule

Lecture Hours: 9:55 AM - 11:10 AM 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 TESTS
1

Jan 21

Introduction to Compilers and OCaml

OCaml Warm-Up

Jan 23

OCaml Data Types and Recursion

Syllabus Quiz

2

Jan 28

Higher-Order Functions in OCaml

Higher-Order Functions and Recursive Types

Jan 30

Syntax and Compilation

Hatchling (lab activity)

Test 1

3

Feb 04

Bindings and Scope

Auklet

Feb 06

Drop/add ends (Feb 07)

Arithmetic Operations and Allocation

4

Feb 11

Value Tagging

Bluebird

Feb 13

C Calling Conventions; Runtime Errors

Test 2

5

Feb 18

Functions

Cardinal

Feb 20

Compile-time Errors

6

Feb 25

Heap Allocation and Pairs

Dove

Feb 27

Test 3

7

Mar 04

System Calls

Eagle

Mar 06

Register Allocation

Mar 11

Spring Break

Mar 13

8

Mar 18

First-Class Functions and Closures

Mar 20

Falcon

Test 4

9

Mar 25

Mar 27

CR/NC/W Deadline (Mar 28)

Memory Management Overview

Mid-Term

10

Apr 01

Mark/Compact

Apr 03

Manual Memory Management

11

Apr 08

Parallel Computation

Gull

Apr 10

Tail Call Optimization

Guaiabero

Test 5

12

Apr 15

Apr 17

LL Parsing and Left Recursion

13

Apr 22

Hoopoe

Apr 24

LR Parsing

Pyrrhuloxia

Test 6

14

Apr 29

Type Systems

May 01

May 04

Final Exam (TBA)