On this page:
Lecture Material
Programming Projects
Midterms
6.4

Schedule

    Lecture Material

    Programming Projects

    Midterms

Lecture Material

Week

 

Tuesday

 

Thursday

Jan 26

 

Snow day

 

Intro, OCaml, Project 0: New PLs

Feb 2

 

OCaml, Project 1: OCaml Warmup

 

Lexing and Parsing, 03-examples.tar.gz

Feb 9

 

Lexing and Parsing

 

Lexing and Parsing, In-class exercise, Project 2: Unit Calculator

Feb 16

 

Lexing and Parsing, In-class exercise

 

Operational Semantics, 04-op-sem.ml

Feb 23

 

Operational Semantics, In-class exercise

 

Operational Semantics, In-class exercise

Mar 1

 

Intermediate Representations, Project 3: RubeVM Interpreter

 

Midterm 1

Mar 8

 

Code Generation

 

Code Generation

Mar 15

 

Spring break: no class

 

Spring break: no class

Mar 22

 

Code Generation, 06-codegen-1.ml, 06-codegen-2.ml

 

Optimization, In-class exercise, Project 4: Simpl Compiler

Mar 29

 

Optimization, Data Flow Analysis

 

Guest Lecture: Symbolic Execution, se.ml, se2.ml

Apr 5

 

Data Flow Analysis

 

Data Flow Analysis, Project 5: Rube Compiler, In-class Exercise

Apr 12

 

Data Flow Analysis

 

Midterm 2

Apr 19

 

Type Systems, 10-types.ml

 

Type Systems

Apr 26

 

Type Systems, Project 6: Rube Type Checking

 

Register Allocation

May 3

 

Project 0 Discussion

 

Project 0 Discussion, Types for Ruby

May 10

 

Final Exam Review

 

No class

Programming Projects

Midterms