15-150: Functional Programming, Spring 2019

Schedule of Lectures

Number  Date     Topics Covered Notes and Readings
01 15 Jan Introduction, Equivalence, Evaluation, Typing, Binding, Scope   lecture 01
02 17 Jan Functions   lecture 02
03 22 Jan Recursion and Induction   lecture 03
04 24 Jan Lists, Tail Recursion, Structural Induction   lecture 04
05 29 Jan Trees and Structural Induction   lecture 05
31 Jan CLASSES CANCELLED DUE TO COLD WEATHER
06 5 Feb Asymptotic Analysis (including preview of sorting)   lecture 06
07 7 Feb Sequential Sorting (some already covered in lecture 6)   lecture 07
08 7 Feb Parallel Sorting (covered within lectures 6 and 7)   lecture 08
09 12 Feb Polymorphism and Parametrized Datatypes   lecture 09
14 Feb MIDTERM EXAM #1
10 19 Feb Higher-Order Functions   lecture 10
11 21 Feb Combinators, Staging   lecture 11
12 26 Feb Continuations   lecture 12
13 28 Feb Exceptions   lecture 13
14 5 Mar Regular Expressions   lecture 14
15 7 Mar Regular Expressions (cont)   lecture 15
12 Mar SPRING BREAK
14 Mar SPRING BREAK
16 19 Mar Modular programming I: Signatures and Structures   lecture 16
17 21 Mar Modular programming II: Functors
18 26 Mar Modular programming III: Invariants of Red/Black Trees
28 Mar MIDTERM EXAM #2
19 2 Apr Parallelism, Cost Semantics, Sequences
20 4 Apr Case study: two-person games I
21 9 Apr Case study: two-person games II
11 Apr SPRING CARNIVAL
22 16 Apr Lazy programming
23 18 Apr Imperative programming
24 23 Apr Introduction to Context-Free Grammars and Parsing
25 25 Apr Introduction to Computability
26 30 Apr TBA
27 2 May 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 15:54, 19 Mar 2019