15-150: Functional Programming, Spring 2021


Schedule of Lectures

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