Lectures
| Date | Topic | Do | Read | Note |
|---|---|---|---|---|
| Convocation | No class | |||
| Sep 4 | What Is a Programming Language? |
CIPL, Ch. 1 & 2
OpSem, Ch. 1 |
||
| Sep 9 | What Can a Computer Do? |
CIPL, Ch. 1 & 2
OpSem, Ch. 1 |
||
| Sep 11 | Induction Primer |
PLLC, Ch. 2
OpSem, Ch. 2 |
||
| Sep 16 | Syntax & Grammars | Due: Assgn. 0 |
CIPL, Ch. 4.1
OpSem, Ch. 3 |
|
| Sep 18 | Big-Step Operational Semantics | OpSem, Ch. 4 | ||
| Sep 23 | Small-Step Operational Semantics | Due: Assgn. 1 | OpSem, Ch. 5 | |
| Sep 25 | Alpha, Beta, Eta | CIPL, Ch. 4.2 | ||
| Sep 30 | Lambda Calculus in Small Steps | Due: Assgn. 2 | PLLC, Ch 4.1&4.2 | |
| Oct 2 | Lambda Calculus in Big Steps | PLLC, Ch 4.1&4.2 | ||
| Oct 7 | Intro to Ruby: Classes & Objects | Due: Assgn. 3 |
CIPL, Ch 10
Intro to Ruby Prog. Ruby, Classes Why's, Ch. 3 |
Notes Script 1
Notes Script 2 |
| Oct 9 | Compositional Interpreters | Notes Script | ||
| Oct 14 | Functional Programming | CIPL, Ch 3&4.4 | Notes Script | |
| Oct 16 | MIDTERM EXAM | Study Guide | ||
| Oct 21 | Algebraic Data Types | Due: Assgn. 4 | CIPL, Ch 5 | Notes Script |
| Oct 23 | Syntactic Interpreters | Notes Script | ||
| Oct 28 | The Extensibility Matrix | Notes Script | ||
| Oct 30 | The Rules of Types |
CIPL, Ch 6
Static Semantics |
||
| Nov 4 | Subtyping & Polymorphism | Due: Assgn. 5 | CIPL, Ch 6 | |
| Nov 6 | Type Checking & Inference | Extra Credit: E.C. 1 | CIPL, Ch 6 | Notes Script |
| Veteran's Day | Due: Assgn. 6 | No class | ||
| Nov 13 | Static & Dynamic Scope | CIPL, Ch 7 | ||
| Nov 18 | Abstract Machines | Due: Assgn. 7 | CIPL, Ch 8 | |
| Nov 20 | Closures & Stacks | CIPL, Ch 8 | ||
| Nov 25 | Effective Machines | Due: Assgn. 8 | CIPL, Ch 8 | |
| Thanksgiving | No class | |||
| Dec 2 | Continuations & Control |
Due: Assgn. 9
Extra Credit: E.C. 2 |
CIPL, Ch 8 |
Notes Script 1
Notes Script 2 |
| Dec 4 | The Paradox of Computation |
Notes Script 1
Notes Script 2 |
||
| Dec 9 | Logic Programming | Due: Assgn. 10 | CIPL, Ch 15 | Notes Script |
| Dec 11 | Concurrent Programming | Due: Paper |
CIPL, Ch 14
LYSE |
Notes Script |
| Dec 15 | Final Submission Cutoff | Due: Everything | ||
| Dec 15-19 | FINAL EXAM |