Lectures & Notes

If reading is listed, do it before the date of the listed class.

Date

  

Lecture Topic

  

To Read      

  

Video

  

Notes/Code

Jan 19

  

Introduction

  

(None)

  

(video)

  

(notes)

Jan 21

  

OCaml: Data Types

  

OCaml Intro

  

(video)

  

(notes)

Jan 22

  

OCaml Practice

  

(None)

  

(None)

  

(None)

  

  

  

  

Jan 26

  

OCaml: Fun with Functions

  

OCaml Intro

  

(video)

  

(notes)

Jan 28

  

OCaml: More Fun with Functions

  

(None)

  

(video)

  

(notes)

Jan 29

  

Tiny Compiler

  

(None)

  

(None)

  

(None)

  

  

  

  

Feb 2

  

Grammars, Syntax, and Instructions

  

(None)

  

(video)

  

(notes)

Feb 4

  

Names, Scope, and (Simple) Stacks

  

(None)

  

(video)

  

(notes)

Feb 5

  

Names and Scope Wrapup

  

(None)

  

(video)

  

(notes)

  

  

  

  

Feb 9

  

A-Normal Form: Why

  

Might on ANF

  

:-(

  

(notes)

Feb 11

  

A-Normal Form: How

  

ANF Tutorial

  

(video)

  

(notes)

  

  

  

  

Feb 16

  

Tagging Values

  

In Scheme

  

(video)

  

(notes)

Feb 18

  

Errors

  

(None)

  

(video)

  

(notes)

  

  

  

  

Feb 23

  

Function Declarations

  

(None)

  

(video)

  

(notes)

Feb 25

  

Overflow and Tail Calls Intro

  

(None)

  

(video)

  

(notes)

  

  

  

  

Mar 1

  

Tail Calls

  

(None)

  

(video)

  

(notes)

Mar 3

  

α-renaming and Tail Calls

  

(None)

  

(video)

  

(notes)

  

  

  

  

Mar 15

  

Heap Allocation and Pairs

  

(None)

  

(video)

  

(notes)

Mar 17

  

Pairs Implementation

  

(None)

  

(video)

  

(notes)

  

  

  

  

Mar 22

  

First-class Functions

  

(None)

  

(video)

  

(notes)

Mar 24

  

Closures

  

(None)

  

(video)

  

(notes)

Mar 25

  

Closures

  

(None)

  

(A)(B)

  

(notes)

  

  

  

  

Mar 29

  

Memory Management

  

Managing Memory

  

(video)

  

(notes)

Mar 31

  

Automated Memory Management

  

Erlang GC

  

(video)

  

(notes)

  

  

  

  

Apr 5

  

Mark/Compact

  

Java GC

  

(video)

  

(notes)

Apr 7

  

(Mutable) Variables

  

  

(video)

  

(notes)

  

  

  

  

Apr 12

  

Types and Compilation

  

  

(video)

  

(notes)

Apr 14

  

Optimization, Generally

  

  

(video)

  

(notes)

  

  

  

  

Apr 19

  

Register Allocation

  

  

(video)

  

(notes)

Apr 21

  

Optimization Wrapup and Lexing

  

  

(video)

  

(notes)

  

  

  

  

Apr 26

  

Lexing and Top-down Parsing 1

  

  

(video)

  

(notes)

Apr 28

  

Top-down Parsing 1 and Big Ideas

  

  

(video)

  

(notes)