15-150: Functional Programming, Summer 2019

Schedule of Lectures

Number  Date     Topics Covered Notes and Readings
01 20 May Introduction, Equivalence, Evaluation, Typing, Binding, Scope   lecture 01
02 21 May Functions   lecture 02
03 22 May Recursion and Induction   lecture 03
04 23 May Lists, Tail Recursion, Structural Induction   lecture 04
05 24 May Trees and Structural Induction   lecture 05
27 May No class (Memorial Day)
06 28 May Asymptotic Analysis (including preview of sorting)
07 29 May Sequential Sorting (some already covered in lecture 6)
08 30 May Parallel Sorting (covered within lectures 6 and 7)
09 31 May Polymorphism and Parametrized Datatypes
10 03 Jun Higher-Order Functions
11 04 Jun Combinators, Staging
12 05 Jun Continuations
13 06 Jun Exceptions
14 07 Jun Modular programming I: Signatures and Structures
10 Jun MIDTERM EXAM
15 11 Jun Modular programming II: Functors
16 12 Jun Modular programming III: Invariants of Red/Black Trees
17 13 Jun Parallelism, Cost Semantics, Sequences
18 14 Jun Regular Expressions
19 17 Jun Regular Expressions (cont)
20 18 Jun Case study: two-person games I
21 19 Jun Case study: two-person games II
22 20 Jun Lazy programming
23 21 Jun Imperative programming
24 24 Jun TBD
25 25 Jun TBD
26 26 Jun TBD
27 27 Jun TBD
29 28 Jun 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 15:42, 24 May 2019