Lectures

Lectures: Tue and Thur 10:10–11:00am, Bailey Hall 101, starting Thursday, August 29, 2019.

Discussion sections: Various rooms and times, starting Tuesday, September 3, 2019.

Level Up: Schedule

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 §1

One-page course summary, syllabus
Labor Day: no class
Lecture 2: Expressions §2.0, §2.1, §2.2

Discussion sections begin today
Lecture 3: Functions §2.3, §2.4
Lecture 4: Pattern Matching §3.0, §3.1
Lecture 5: Variants §3.2
Lecture 6: Higher-order Programming §4
Modular Programming
Lecture 7: Modules §5.0, §5.1, §5.2
Lecture 8: Functors §5.3
Lecture 9: Abstraction and Specification §6
Lecture 10: Testing §7
Efficiency
Lecture 11: Efficiency §9.0, §9.1
Lecture 12: Mutable Data Types §8
Lecture 13: Hash Tables §9.2
Fall Break: no class
Fall Break: no class
Prelim Details about exams. When: 7:30—9:00 pm. Where: TBA.
Lecture 14: Amortized Analysis §9.3
Lecture 15: Balanced Trees §9.4, §9.5
Interpreters
Lecture 16: Interpreters §10.0, §10.1

red-black clicker question discussion (corrected)
Lecture 17: The Substitution Model §10.2
Lecture 18: The Environment Model §10.3
Lecture 19: Type Checking §10.4
Formal Methods
Lecture 20: Proofs about programs §11
Lecture 21: Proofs about programs, part 2 §11
Lecture 22: Proofs about programs, part 3 §11
Lecture 23: Proofs are Programs §11
Advanced Topics
Lecture 24: Streams and Laziness §12.1
Thanksgiving Break: no class
Thanksgiving Break: no class
Lecture 25: Promises §12.2

LWT Manual
Lecture 26: Monads §12.3
THE END
Lecture 27: Victory Lap
Final Exam Details about exams. When: 9:00—11:30 am. Where: TBA.