15-150: Functional Programming, Spring 2020

Schedule of Lectures

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


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 14:16, 18 Feb 2020