Lectures
Date | Topic | Do | Read | Note |
---|---|---|---|---|
MLK Jr Day | No class | |||
Jan 18 | What are Programming Languages? |
CIPL, Ch. 1
OpSem, Ch. 1 |
||
Jan 20 | What Can a Computer Do? | Begin: Assgn. 1 | CIPL, Ch. 2 | |
Jan 23 | Induction Primer |
PLLC, Ch. 2
OpSem, Ch. 2 |
||
Jan 25 | Syntax & Grammars |
CIPL, Ch. 4.1
OpSem, Ch. 3 |
||
Jan 27 | Big-Step Operational Semantics | OpSem, Ch. 4 | ||
Jan 30 | Small-Step Operational Semantics | Due: Assgn. 1 | OpSem, Ch. 5 | |
Feb 1 | Putting Evaluation into Context | Begin: Assgn. 2 | OpSem, Ch. 5 | |
Feb 3 | Alpha, Beta, Eta | CIPL, Ch. 4.2 | ||
Feb 6 | A Variable by Any Other Name | Due: Assgn. 2 | CIPL, Ch. 4.2 | |
Feb 8 | Lambda Calculus in Small Steps | Begin: Assgn. 3 | PLLC, Ch 4.1&4.2 | |
Feb 10 | Lambda Calculus in Big Steps | PLLC, Ch 4.1&4.2 | ||
Feb 13 | Intro to Ruby | Due: Assgn. 3 |
Intro to Ruby
Why's, Ch. 3 |
Notes Script |
Feb 15 | Classes & Objects | Begin: Assgn. 4 |
CIPL, Ch 10
Prog. Ruby, Classes |
Notes Script |
Feb 17 | Compositional Interpreters | Notes Script | ||
President's Day | No class | |||
Feb 21 | List Processing | Due: Assgn. 4 | CIPL, Ch 3&4.4 | Notes Script |
Feb 22 | Higher-Order Functions | Begin: Assgn. 5 | CIPL, Ch 3&4.4 | Notes Script |
Feb 24 | Algebraic Data Types | CIPL, Ch 5 | Notes Script | |
Feb 27 | Syntactic Interpreters | Due: Assgn. 5 | Notes Script | |
Mar 1 | The Extensibility Matrix | Begin: Assgn. 6 | Notes Script | |
Mar 3 | MIDTERM EXAM | |||
Spring Break | No class | |||
Spring Break | No class | |||
Spring Break | No class | |||
Mar 13 | The Rules of Types | Due: Assgn. 6 |
CIPL, Ch 6
Static Semantics |
|
Mar 15 | Abstraction & Polymorphism | Begin: Assgn. 7 | CIPL, Ch 6 | |
Mar 17 | Type Checking & Inference | Extra Credit: E.C. 1 | CIPL, Ch 6 | Notes Script |
Mar 20 | Variable Binding | Due: Assgn. 7 | CIPL, Ch 7 | |
Mar 22 | Static & Dynamic Scope | Begin: Assgn. 8 | CIPL, Ch 7 | |
Mar 24 | Implementing Recursion | CIPL, Ch 7 | ||
Mar 27 | Abstract Machines | Due: Assgn. 8 | CIPL, Ch 8 | |
Mar 29 | Closures | Begin: Assgn. 9 | CIPL, Ch 8 | |
Mar 31 | Stacks & Machines | CIPL, Ch 8 | ||
Apr 3 | Guest Lecture: Prof. Harper | Due: Assgn. 9 | ||
Apr 5 | Type Theory & Safety | Begin: Assgn. 10 | ||
Apr 7 | Variable Lookup | Extra Credit: E.C. 2 | CIPL, Ch 8 | |
No Class | ||||
Apr 12 | Effective Machines | CIPL, Ch 8 | Notes Script | |
Apr 14 | Programming with Continuations | CIPL, Ch 15 | Notes Script | |
Apr 17 | Continuation Passing Style | Due: Assgn. 10 | Notes Script | |
Apr 19 | Metaprogramming | Notes Script | ||
Apr 21 | The Paradox of Computation | |||
Apr 24 | Logic Programming | CIPL, Ch 15 | Notes Script | |
Apr 26 | Concurrent Programming |
CIPL, Ch 14
LYSE |
Notes Script | |
Apr 28 | Final Review | Due: Paper | ||
May 1 | Final Submission Cutoff | Due: Everything | ||
May 1 - May 5 | FINAL EXAM | Due: Assgn. 10 |