Tuesday, Sep 6 |
Lecture 1. Out: Functional Programming (fp.ml). |
Thursday, Sep 8 |
Lecture 2. |
Tuesday, Sep 13 |
Lecture 3. Due: Functional Programming. Out: Interpreter (interp.ml). |
Thursday, Sep 15 |
Lecture 4. |
Tuesday, Sep 20 |
Due: Interpreter. Out: Extended Interpreter (xinterp.ml). Paper: The Essence of JavaScript. |
Thursday, Sep 22 |
Lecture 6. Paper: A Syntactic Approach to Type Soundness. |
Tuesday, Sep 27 |
Lecture 7. Due: Extended Interpreter. Out: Type Checker. (tc.ml). |
Thursday, Sep 29 |
Lecture 8. |
Tuesday, Oct 4 |
Paper: A Theory of Type Polymorphism in Programming. |
Thursday, Oct 6 |
Due: Type Checker. Out: Type Inference. (typeinf.ml). |
Tuesday, Oct 11 |
No class. (Monday schedule.) |
Thursday, Oct 13 |
Lecture 11. Paper: Definitional Interpreters for Higher-Order Programming Languages. |
Tuesday, Oct 18 |
Joe Politz on A Normal Form. Matt Might on A Normal Form. |
Thursday, Oct 20 |
Due: Type Inference. ARM Assembly Tutorial. |
Tuesday, Oct 25 |
Out: Compiler. (compiler.ml, init.s, cortex-a9-vm.tar.gz) |
Thursday, Oct 27 |
Class cancelled. Suggested reading: Uniprocessor Garbage Collection Techniques. |
Tuesday, Nov 1 |
Paper: Logical Types for Untyped Languages. |
Thursday, Nov 3 |
Reading: Dafny Tutorial and Z3 Tutorial |
Tuesday, Nov 8 |
Reading: Hoare Logic and Weakest Preconditions |
Thursday, Nov 10 |
|
Tuesday, Nov 15 |
Due: Compiler. Out: Verification. (verif.ml, z3_debug.sh) |
Tuesday, Nov 22 |
No class. (Thanksgiving Recess.) |
Thursday, Nov 24 |
No class. (Thanksgiving Recess.) |
Tuesday, Nov 29 |
Due: Verification. Reading: Combinatorial Sketching for Finite Programs. Out: Program Synthesis. (synth.ml) |
Thursday, Dec 1 |
|
Tuesday, Dec 6 |
|
Thursday, Dec 8 |
|
Tuesday, Dec 13 |
Due: Program Synthesis. |