Lecture Notes
The notes linked below are required reading, but they are not a substitute for attending lecture and recitation. The lectures and recitation sections are tightly coupled: Lectures will assume knowledge from previous sections, and vice-versa. These notes should be read sequentially (Monday's section, Tuesday's lecture, Wednesday's section, Thursday's lecture, etc.).
Lecture topics and assignment due dates are subject to change.
DATE | EVENT | TOPIC | LINKS |
---|---|---|---|
01/28 | Lecture 1 | Introduction to OCaml syntax and evaluation | [Notes] [Textbook] |
02/02 | Lecture 2 | OCaml Syntax and Semantics | [Notes] [Resource 1] [Resource 2] [Resource 3] |
02/04 | Lecture 3 | The OCaml Type System | [Notes] |
02/05 | PS1 due at 11:59PM Friday, February 12 | [PS1] [Release code] | |
02/09 | Lecture 4 | OCaml Type System Continued -- Partial types | [Notes] |
02/11 | Lecture 5 | Modules for Rational Numbers | [Notes] |
02/17 | PS2 due at 11:59PM Thursday, March 3 | [PS2] [Release code] | |
02/18 | Lecture 6 | Modules | [Notes] |
02/23 | Lecture 7 | OCaml Type Theory | [Notes] |
02/25 | Lecture 8 | OCaml Type Theory Continued | [Notes] |
03/01 | Lecture 9 | Specifications | [Notes] |
03/03 | Lecture 10 | Guest Lecture by Abhishek Anand on Cyber-Physical Systems | [Notes] |
03/04 | PS3 due at 11:59PM Thursday, March 24 | [PS3] [Release code] | |
03/08 | Lecture 11 | Introduction to the Constructive Reals | [Notes] [Bishop book] |
03/10 | Lecture 12 | Developing Constructive Analysis | [Notes] |
03/15 | Lecture 13 | Developing Constructive Analysis Continued | [Notes] |
03/17 | Prelim 1 held in class. | ||
03/22 | Lecture 14 | Specifications, Computational Evidence, and Cantors Theorem from Bishop | [Notes] |
03/24 | Lecture 15 | Guest Lecture by Mark Bickford: Calculus in OCaml | [Notes] |
03/29 | PS4 due at 11:59PM Thursday, April 14 | [PS4] [Release code] | |
04/05 | Lecture 16 | Computational Geometry | [Notes] |
04/07 | Lecture 17 | Computational Geometry Continued | [Notes] |
04/12 | Lecture 18 | Binary Search Trees | [Notes] |
04/14 | Lecture 19 | Binary Search Tree Theory | [Notes] |
04/15 | PS5 due at 11:59PM Thursday, April 28 | [PS5] [Release code] | |
04/19 | Lecture 20 | Fixed Point Operators | [Notes] |
04/21 | Lecture 21 | Elements of Type Theory | [Notes] |
04/26 | Lecture 22 | Distributed Computing with Functional Processes | [Notes] |
04/28 | Lecture 23 | Distributed Computing with Functional Processes Continued | [Notes] |
04/29 | PS6 due at 11:59PM Wednesday, May 11 | [PS6] [Release code] | |
05/03 | Lecture 24 | Guest Lecture by Yaron Minsky from Jane Street | |
05/05 | Lecture 25 | Event Logic | [Notes] |
05/10 | Lecture 26 | Course Overview | [Notes] |
05/17 | Final Exam 9:00-11:00am, Uris G01. |