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
05 29 Jan Trees and Structural Induction
06 31 Jan Asymptotic Analysis
07 5 Feb Sequential Sorting
08 7 Feb Parallel Sorting
09 12 Feb Polymorphism and Parametrized Datatypes
14 Feb MIDTERM EXAM #1
10 19 Feb Higher-Order Functions
11 21 Feb Combinators, Staging
12 26 Feb Continuations
13 28 Feb Exceptions
14 5 Mar Regular Expressions
15 7 Mar Regular Expressions (cont)
12 Mar SPRING BREAK
14 Mar SPRING BREAK
16 19 Mar Modular programming I: Signatures and Structures
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:45, 22 Jan 2019