15-150: Functional Programming, Fall 2023


Schedule of Lectures

Number    Date        Topics Covered Notes and Readings
01 29 Aug Introduction   slides
02 31 Aug Basic Concepts   slides
  notes
03 05 Sept Specifications, Patterns and Matching   slides
04 07 Sept Proving Correctness   slides
  notes
05 12 Sept Introduction to Work and Span   slides
  notes
06 14 Sept Sorting Lists of Integers   slides
  notes
07 19 Sept Datatypes and Structural Induction   slides
08 21 Sept Sorting and Balancing a Binary Tree   slides
  notes
09 26 Sept Higher-Order Functions   slides
10 28 Sept Types and Polymorphism
11 03 Oct Higher-Order Sorting
12 05 Oct Case Study: Making Change
10 Oct MIDTERM EXAM
13 12 Oct Continuation-Style Programming
17 Oct FALL BREAK
19 Oct FALL BREAK
14 24 Oct Programming with Exceptions
15 26 Oct Modular Programming I
16 31 Oct Modular Programming II
17 02 Nov Sequences and Cost Semantics I
07 Nov DEMOCRACY DAY
18 09 Nov Sequences and Cost Semantics II
19 14 Nov Games I
20 16 Nov Games II
21 21 Nov Lazy Programming I
23 Nov THANKSGIVING BREAK
22 28 Nov Lazy Programming II
23 30 Nov Imperative Programming I
24 05 Dec Imperative Programming II
25 07 Dec Review
TBD 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 00:58, 27 Sep 2023