15-150: Functional Programming, Spring 2023


Schedule of Lectures

Number  Date        Topics Covered Notes and Readings
01 17 Jan Introduction, Equivalence, Evaluation, Typing, Binding, Scope   lecture 01
02 19 Jan Functions   lecture 02
03 24 Jan Recursion and Induction   lecture 03
04 26 Jan Lists, Tail Recursion, Structural Induction   lecture 04
05 31 Jan Datatypes, Trees and Structural Induction   lecture 05
06   2 Feb Asymptotic Analysis   lecture 06
07   7 Feb Sequential Sorting   lecture 07
08   9 Feb Parallel Sorting   lecture 08
09 14 Feb Polymorphism and Parameterized Datatypes   lecture 09
16 Feb MIDTERM EXAM #1
10 21 Feb Higher-Order Functions   lecture 10
11 23 Feb Combinators, Staging   lecture 11
12 28 Feb Continuations   lecture 12
13   2 Mar Exceptions   lecture 13
  7 Mar SPRING BREAK
  9 Mar SPRING BREAK
14 14 Mar Regular Expressions   lecture 14
15 16 Mar Regular Expressions (cont)   lecture 15
16 21 Mar Modular programming I: Signatures and Structures   lecture 16
17 23 Mar Modular programming II: Functors   lecture 17
18 28 Mar Modular programming III: Invariants of Red/Black Trees   lecture 18
30 Mar MIDTERM EXAM #2
19   4 Apr Parallelism, Cost Semantics, Sequences
20   6 Apr Lazy programming
21 11 Apr Imperative programming
13 Apr SPRING CARNIVAL
22 18 Apr Introduction to Context-Free Grammars and Parsing
23 20 Apr Introduction to Computability
24 25 Apr Theory (Logic) and Applications (Games)
25 27 Apr Review
  5 May FINAL EXAM       8:30am-11:30am


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 16:56, 28 Mar 2023