Lectures
| Date | Topic | Do | Read | Note |
|---|---|---|---|---|
| Jul 6 | What are Programming Languages? |
CIPL, Ch. 1
OpSem, Ch. 1 |
||
| Jul 6 | What Can a Computer Do? | Begin: Assgn. 1 | CIPL, Ch. 2 | |
| Jul 7 | Induction Primer |
PLLC, Ch. 2
OpSem, Ch. 2 |
||
| Jul 7 | Syntax & Grammars |
CIPL, Ch. 4.1
OpSem, Ch. 3 |
||
| Jul 11 | Big-Step Operational Semantics | Due: Assgn. 1 | OpSem, Ch. 4 | |
| Jul 11 | Small-Step Operational Semantics | Begin: Assgn. 2 | OpSem, Ch. 5 | |
| Jul 13 | Alpha, Beta, Eta | CIPL, Ch. 4.2 | ||
| Jul 13 | Lambda Calculus in Small Steps | Begin: Assgn. 3 | PLLC, Ch 4.1&4.2 | |
| Jul 14 | Lambda Calculus in Big Steps | Due: Assgn. 2 | PLLC, Ch 4.1&4.2 | |
| Jul 18 | Intro to Ruby | Due: Assgn. 3 |
Intro to Ruby
Why's, Ch. 3 |
Notes Script |
| Jul 18 | Classes & Objects | Begin: Assgn. 4 |
CIPL, Ch 10
Prog. Ruby, Classes |
Notes Script |
| Jul 20 | Compositional Interpreters | Notes Script | ||
| Jul 21 | Higher-Order Functions |
Due: Assgn. 4
Begin: Assgn. 5 |
CIPL, Ch 3&4.4 | Notes Script |
| Jul 25 | Algebraic Data Types | CIPL, Ch 5 | Notes Script | |
| Jul 27 | MIDTERM EXAM | |||
| Jul 28 | Syntactic Interpreters | Due: Assgn. 5 | Notes Script | |
| Jul 28 | The Extensibility Matrix | Begin: Assgn. 6 | Notes Script | |
| Aug 1 | The Rules of Types | Due: Assgn. 6 |
CIPL, Ch 6
Static Semantics |
|
| Aug 1 | Abstraction & Polymorphism | Begin: Assgn. 7 | CIPL, Ch 6 | |
| Aug 3 | Type Checking & Inference | Extra Credit: E.C. 1 | CIPL, Ch 6 | Notes Script |
| Aug 4 | Variable Binding | Due: Assgn. 7 | CIPL, Ch 7 | |
| Aug 4 | Static & Dynamic Scope | Begin: Assgn. 8 | CIPL, Ch 7 | |
| Aug 8 | Implementing Recursion | Due: Assgn. 8 | CIPL, Ch 7 | |
| Aug 8 | Abstract Machines | Begin: Assgn. 9 | CIPL, Ch 8 | |
| Aug 10 | Closures | CIPL, Ch 8 | ||
| Aug 10 | Mutable State | Begin: Assgn. 10 | CIPL, Ch 8 | |
| Aug 10 | Handling Exceptions | Extra Credit: E.C. 2 | CIPL, Ch 8 | |
| Aug 11 | Continuations in Machines | Due: Assgn. 9 | ||
| Aug 11 | Programming With Continuations | Notes Script | ||
| Aug 11 | Continuation-Passing Style | Notes Script | ||
| Aug 15 | FINAL EXAM | Due: Assgn. 10 |