Lectures
Date | Topic | Do | Read | Note |
---|---|---|---|---|
Jan 19 | What are Programming Languages? |
CIPL, Ch. 1
OpSem, Ch. 1 |
Online lecture | |
Jan 21 | What Can a Computer Do? | CIPL, Ch. 2 | Online lecture | |
Jan 24 | Induction Primer | Begin: Assgn. 1 |
PLLC, Ch. 2
OpSem, Ch. 2 |
|
Jan 26 | Syntax & Grammars |
CIPL, Ch. 4.1
OpSem, Ch. 3 |
||
Jan 28 | Big-Step Operational Semantics | Due: Assgn. 1 Begin: Assgn. 2 |
OpSem, Ch. 4 | |
Jan 31 | Small-Step Operational Semantics | OpSem, Ch. 5 | ||
Feb 2 | Alpha, Beta, Eta | Due: Assgn. 2 | CIPL, Ch. 4.2 | |
Feb 4 | Lambda Calculus in Small Steps | Begin: Assgn. 3 | PLLC, Ch 4.1&4.2 | |
Feb 7 | Lambda Calculus in Big Steps | PLLC, Ch 4.1&4.2 | ||
Feb 9 | Intro to Ruby | Due: Assgn. 3 |
Intro to Ruby
Why's, Ch. 3 |
Notes Script |
Feb 11 | Classes & Objects | Begin: Assgn. 4 |
CIPL, Ch 10
Prog. Ruby, Classes |
Notes Script |
Feb 14 | Compositional Interpreters | Notes Script | ||
Feb 16 | Higher-Order Functions |
Due: Assgn. 4
Begin: Assgn. 5 |
CIPL, Ch 3&4.4 | |
Feb 18 | Algebraic Data Types | CIPL, Ch 5 | ||
Holiday - No Class | ||||
Feb 22 | Midterm Review | Due: Assgn. 5 | Online lecture | |
Feb 23 | Midterm Review | |||
Feb 25 | Snow day | |||
Feb 28 | MIDTERM EXAM | |||
Mar 2 | Syntactic Interpreters | Begin: Assgn. 6 | Notes Script | |
Mar 4 | The Extensibility Matrix | Notes Script | ||
Spring Break | ||||
Spring Break | ||||
Spring Break | ||||
Mar 14 | The Rules of Types | Begin: Paper |
CIPL, Ch 6
Static Semantics |
|
Mar 16 | Abstraction & Polymorphism | Due: Assgn. 6 | CIPL, Ch 6 | |
Mar 18 | Type Checking & Inference | Begin: Assgn. 7 | CIPL, Ch 6 | |
Mar 21 | Type Checking & Inference | CIPL, Ch 6 | Notes Script | |
Mar 23 | Type Safety | Due: Assgn. 7 | PFPL, Ch 2 & 4 | |
Mar 25 | Variable Binding | Begin: Assgn. 8 | CIPL, Ch 7 | |
Mar 27 | Static & Dynamic Scope | Extra Credit: E.C. 1 | CIPL, Ch 7 | |
Mar 30 | Implementing Recursion | Due: Assgn. 8 | CIPL, Ch 7 | |
Apr 1 | Abstract Machines | Begin: Assgn. 9 | CIPL, Ch 8 | |
Apr 4 | Closures | CIPL, Ch 8 | ||
Apr 6 | Mutable State | Due: Assgn. 9 | CIPL, Ch 8 | |
Apr 8 | Handling Exceptions | Begin: Assgn. 10 | CIPL, Ch 8 | |
Apr 11 | Continuations in Machines | |||
Apr 13 | Programming With Continuations | Notes Script | ||
Apr 15 | Continuation-Passing Style | Extra Credit: E.C. 2 | Notes Script | |
Holiday - No Class | ||||
Apr 20 | Logic Programming | Due: Assgn. 10 | CIPL, Ch 15 | Notes Script |
Apr 22 | Concurrent Programming |
CIPL, Ch 14
LYSE |
Notes Script | |
Apr 25 | Metaprogramming | Notes Script | ||
Apr 27 | The Paradox of Computation | Due: Paper | Notes Script | |
Apr 29 | Final Review | Due: All Extra Credit | ||
FINAL EXAM |