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
Thu, 08/29/19 Lecture 1: Introduction to 3110 §1
Materials
One-page course summary, syllabus
Mon, 09/02/19 Labor Day: no class
Tue, 09/03/19 Lecture 2: Expressions §2.0, §2.1, §2.2
Materials
Discussion sections begin today
Thu, 09/05/19 Lecture 3: Functions §2.3, §2.4
Materials
Tue, 09/10/19 Lecture 4: Pattern Matching §3.0, §3.1
Materials
Thu, 09/12/19 Lecture 5: Variants §3.2
Materials
Tue, 09/17/19 Lecture 6: Higher-order Programming §4
Materials
Modular Programming
Thu, 09/19/19 Lecture 7: Modules §5.0, §5.1, §5.2
Materials
Tue, 09/24/19 Lecture 8: Functors §5.3
Materials
Thu, 09/26/19 Lecture 9: Abstraction and Specification §6
Materials
Tue, 10/01/19 Lecture 10: Testing §7
Materials
Efficiency
Thu, 10/03/19 Lecture 11: Efficiency §9.0, §9.1
Materials
Tue, 10/08/19 Lecture 12: Mutable Data Types §8
Materials
Thu, 10/10/19 Lecture 13: Hash Tables §9.2
Materials
Mon, 10/14/19 Fall Break: no class
Tue, 10/15/19 Fall Break: no class
Thu, 10/17/19 Prelim Details about exams. When: 7:30—9:00 pm. Where: TBA.
Tue, 10/22/19 Lecture 14: Amortized Analysis §9.3
Materials
Thu, 10/24/19 Lecture 15: Balanced Trees §9.4, §9.5
Materials
Interpreters
Tue, 10/29/19 Lecture 16: Interpreters §10.0, §10.1
Materials
red-black clicker question discussion (corrected)
Thu, 10/31/19 Lecture 17: The Substitution Model §10.2
Materials
Tue, 11/05/19 Lecture 18: The Environment Model §10.3
Materials
Thu, 11/07/19 Lecture 19: Type Checking §10.4
Materials
Formal Methods
Tue, 11/12/19 Lecture 20: Proofs about programs §11
Materials
Thu, 11/14/19 Lecture 21: Proofs about programs, part 2 §11
Materials
Tue, 11/19/19 Lecture 22: Proofs about programs, part 3 §11
Materials
Thu, 11/21/19 Lecture 23: Proofs are Programs §11
Materials
Advanced Topics
Tue, 11/26/19 Lecture 24: Streams and Laziness §12.1
Materials
Wed, 11/27/19 Thanksgiving Break: no class
Thu, 11/28/19 Thanksgiving Break: no class
Tue, 12/03/19 Lecture 25: Promises §12.2
Materials
LWT Manual
Thu, 12/05/19 Lecture 26: Monads §12.3
Materials
THE END
Tue, 12/10/19 Lecture 27: Victory Lap Materials
Sat, 12/14/19 Final Exam Details about exams. When: 9:00—11:30 am. Where: TBA.