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 | ||
| Lecture 1: Introduction to 3110 |
One-page course summary, syllabus |
|
| Lecture 2: Expressions |
Discussion sections begin 1/23 |
|
| Lecture 3: Functions |
|
|
| Lecture 4: Pattern Matching |
|
|
| Lecture 5: Variants |
|
|
| Lecture 6: Higher-order Programming |
|
|
| Modular Programming | ||
| Lecture 7: Modules |
|
|
| Lecture 8: Functors |
|
|
| Lecture 9: Abstraction and Specification |
|
|
| Lecture 10: Testing |
|
|
| February Break: no class | ||
| Efficiency | ||
| Lecture 11: Efficiency |
|
|
| Lecture 12: Mutable Data Types |
|
|
| Lecture 13: Hash Tables |
|
|
| Prelim | Details about exams. When: 7:30—9:00 pm. | |
| Lecture 14: Amortized Analysis |
|
|
| Instruction Suspended: no class | ||
| Instruction Suspended: no class | ||
| Instruction Suspended: no class | ||
| Instruction Suspended: no class | ||
| Spring Break: no class | ||
| Spring Break: no class | ||
| Lecture 15: Balanced Trees |
Discussion sections restart 4/7 |
|
| Interpreters | ||
| Lecture 16: Interpreters |
|
|
| Lecture 17: The Substitution Model |
|
|
| Lecture 18: The Environment Model |
|
|
| Lecture 19: Type Checking |
|
|
| Advanced Topics | ||
| Lecture 20: Promises |
LWT Manual |
|
| Lecture 21: Monads |
|
|
| Lecture 22: Streams and Laziness |
|
|
| Formal Methods | ||
| Lecture 23: Proofs about programs |
|
|
| Lecture 24: Proofs about programs, part 2 |
|
|
| THE END | ||
| Lecture 25: Victory Lap |
|
|
| Final Exam | Details about exams. | |