Skip to main content



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.