15-150: Functional Programming, Summer 2017

Schedule of Lectures

Number  Date     Topics Covered Notes and Readings
01 22 May Introduction, Equivalence, Evaluation, Typing   notes     slides
02 23 May Functions, Binding, Scope   notes     slides
03 24 May Recursion and Induction   notes     slides
04 25 May Lists, Tail Recursion, Structural Induction   notes     slides
05 26 May Asymptotic Analysis   notes     slides
06 30 May Trees and Structural Induction
07 31 May Sequential Sorting
08 1 June Parallel Sorting
09 2 June Datatypes and Regular Expressions
10 5 June Polymorphism
6 June MIDTERM EXAM #1
11 7 June Higher-order Functions 1
12 8 June Higher-order Functions 2
13 9 June Code design (regular expressions)
14 12 June Control flow and Continuations
15 13 June Continuations (n-queens example)
16 14 June Exceptions
17 15 June Modular programming I: Signatures and Structures
18 16 June Modular programming II: Functors
19 19 June Parallelism, Cost Semantics, Sequences
20 June MIDTERM EXAM #2
20 21 June Case study: N-body with sequences
21 22 June 2-person Games (Part 1)
22 23 June 2-person games (Part 2)
23 26 June Lazy Programming
24 27 June Imperative Programming
25 28 June TBA
26 29 June Review
30 June FINAL EXAM


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

Disclaimer: All topics and dates are subject to minor change.

last modified 12:05, 26 May 2017
Valid CSS! Valid XHTML 1.0 Strict