Compilers

Schedule

Lecture Hours: 11:20 AM - 12:35 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 TESTS
1

Jan 20

Introduction to Compilers and OCaml

OCaml Warm-Up

Jan 22

OCaml Data Types and Recursion

Syllabus Quiz

2

Jan 27

Higher-Order Functions in OCaml

Higher-Order Functions and Recursive Types

Jan 29

Drop/add ends (Feb 02)

Syntax and Compilation

Hatchling (lab activity)

Test: T0

3

Feb 03

Bindings and Scope

Auklet

Feb 05

Arithmetic Operations and Allocation

4

Feb 10

Value Tagging

Bluebird

Feb 12

C Calling Conventions; Runtime Errors

Test: T1

5

Feb 17

Functions

Cardinal

Feb 19

Compile-time Errors

6

Feb 24

Heap Allocation and Pairs

Dove

Feb 26

Exam + T2, T3

7

Mar 03

System Calls

Eagle

Mar 05

Register Allocation

Mar 10

Spring Break

Mar 12

8

Mar 17

First-Class Functions and Closures

Mar 19

Falcon

Test: T4, T5

9

Mar 24

Mar 26

CR/NC/W Deadline (Mar 27)

Memory Management Overview

Exam

10

Mar 31

Mark/Compact

Apr 02

Manual Memory Management

11

Apr 07

Parallel Computation

Gull

Apr 09

Tail Call Optimization

Lorikeet

Test: T6

12

Apr 14

Apr 16

LL Parsing and Left Recursion

Hoopoe

13

Apr 21

Apr 23

LR Parsing

Pyrrhuloxia

Test: T7

14

Apr 28

Type Systems

Apr 30

May 07

Final Exam Period Begins