15-150: Functional Programming, Spring 2017

Schedule of Lectures

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


The "Notes and Readings" field will usually be blank until it is updated after lecture.

Disclaimer: All topics and dates are in flux, as are the number and dates of exams.

last modified 14:00, 19 Jan 2017
Valid CSS! Valid XHTML 1.0 Strict