15-150: Functional Programming, Fall 2022


Schedule of Lectures

Number  Date        Topics Covered Notes and Readings
01 30 Aug Introduction: Principles of Functional Programming   slides
02 01 Sep Concepts of Functional Programming   slides notes
03 06 Sep Patterns and Matching   slides
04 08 Sep Proving Correctness: Inductive Methods   slides notes
05 13 Sep Introduction to Work and Span   slides
06 15 Sep Sorting, Work and Span Analysis   slides notes
07 20 Sep Datatypes and Structural Induction   slides
08 22 Sep Trees   slides notes
09 27 Sep Higher Order Functions   slides notes
10 29 Sep Types and Polymorphism   slides notes
11 04 Oct Comparison Functions
12 06 Oct Case Study: Making Change
11 Oct MIDTERM
13 13 Oct Direct and Continuation Style Functions
18 Oct FALL BREAK
20 Oct FALL BREAK
14 25 Oct Backtracking with Continuations
15 27 Oct Programming with Exceptions
16 01 Nov Modular Programming: Signatures and Structures
17 03 Nov Modular Programming: Functors
18 08 Nov Parallelism, Cost Semantics, Sequences
19 10 Nov Using Sequences
20 15 Nov Games: Minimax Algorithm
21 17 Nov Games: Alpha-Beta
22 22 Nov Case Study
24 Nov THANKSGIVING BREAK
23 29 Nov Lazy Programming
24 01 Dec Lazy Regular Languages
25 06 Dec Imperative Programming
26 08 Dec Semester Review
TBA FINAL EXAM


The "Notes and Readings" field will usually be blank until it is updated after the given day's lectures (generally by evening).

Disclaimer: All topics and dates are subject to change.

last modified 18:59, 29 Sep 2022