Lectures
Lectures: Tue and Thur 10:10–11:00am, Panopto and Zoom. See Canvas for details.
Discussion sections: Various rooms and times, starting Thursday, January 23, 2020.
Materials are made available in a public repo. Any broken links to materials in the schedule below mean that those materials have not yet been released.
Videos: Recorded videos of lectures are accessible in Panopto/Canvas by students who are registered in the course. We regret that they are not available more widely because of FERPA restrictions.
Functional Programming | ||
Tue, 01/21/20 | Lecture 1: Introduction to 3110 |
One-page course summary, syllabus |
Thu, 01/23/20 | Lecture 2: Expressions |
Discussion sections begin 1/23 |
Tue, 01/28/20 | Lecture 3: Functions |
|
Thu, 01/30/20 | Lecture 4: Pattern Matching |
|
Tue, 02/04/20 | Lecture 5: Variants |
|
Thu, 02/06/20 | Lecture 6: Higher-order Programming |
|
Modular Programming | ||
Tue, 02/11/20 | Lecture 7: Modules |
|
Thu, 02/13/20 | Lecture 8: Functors |
|
Tue, 02/18/20 | Lecture 9: Abstraction and Specification |
|
Thu, 02/20/20 | Lecture 10: Testing |
|
Tue, 02/25/20 | February Break: no class | |
Efficiency | ||
Thu, 02/27/20 | Lecture 11: Efficiency |
|
Tue, 03/03/20 | Lecture 12: Mutable Data Types |
|
Thu, 03/05/20 | Lecture 13: Hash Tables |
|
Tue, 03/10/20 | Prelim | Details about exams. When: 7:30—9:00 pm. |
Thu, 03/12/20 | Lecture 14: Amortized Analysis |
|
Tue, 03/17/20 | Instruction Suspended: no class | |
Thu, 03/19/20 | Instruction Suspended: no class | |
Tue, 03/24/20 | Instruction Suspended: no class | |
Thu, 03/26/20 | Instruction Suspended: no class | |
Tue, 03/31/20 | Spring Break: no class | |
Thu, 04/02/20 | Spring Break: no class | |
Tue, 04/07/20 | Lecture 15: Balanced Trees |
![]() ![]() Discussion sections restart 4/7 |
Interpreters | ||
Thu, 04/09/20 | Lecture 16: Interpreters |
![]() ![]() |
Tue, 04/14/20 | Lecture 17: The Substitution Model |
![]() ![]() |
Thu, 04/16/20 | Lecture 18: The Environment Model |
![]() ![]() ![]() |
Tue, 04/21/20 | Lecture 19: Type Checking |
![]() ![]() ![]() |
Advanced Topics | ||
Thu, 04/23/20 | Lecture 20: Promises |
![]() ![]() ![]() LWT Manual |
Tue, 04/28/20 | Lecture 21: Monads |
![]() ![]() |
Thu, 04/30/20 | Lecture 22: Streams and Laziness |
![]() ![]() ![]() |
Formal Methods | ||
Tue, 05/05/20 | Lecture 23: Proofs about programs |
![]() ![]() ![]() |
Thu, 05/07/20 | Lecture 24: Proofs about programs, part 2 |
![]() ![]() |
THE END | ||
Tue, 05/12/20 | Lecture 25: Victory Lap |
![]() |
Sat, 05/16/20 | Final Exam | Details about exams. |