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   slides
07 31 May Sequential Sorting   notes     slides
08 1 June Parallel Sorting   notes     slides
09 2 June Datatypes and Regular Expressions   notes     slides
10 5 June Polymorphism   notes     slides
6 June MIDTERM EXAM #1
11 7 June Higher-order Functions 1   notes     slides
12 8 June Higher-order Functions 2   slides
13 9 June Code design (regular expressions)   slides
14 12 June Control flow and Continuations   notes     slides
15 13 June Continuations (n-queens example)   notes     slides
16 14 June Exceptions   notes     slides
17 15 June Modular programming I: Signatures and Structures   notes     slides
18 16 June Modular programming II: Functors   notes     slides
19 19 June Parallelism, Cost Semantics, Sequences   notes     slides
20 June MIDTERM EXAM #2
20 21 June Case study: N-body with sequences   notes     slides
21 22 June 2-person Games (Part 1)   notes     slides
  code
22 23 June 2-person games (Part 2)   notes     slides
23 26 June Lazy Programming   notes (1)   slides
  notes (2)
24 27 June Imperative Programming   notes   slides
25 28 June Using Effects (graph search and memoization example)   notes   slides
26 29 June Review   Review
30 June FINAL EXAM 1:30 - 4:30 pm


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 22:29, 29 Jun 2017
Valid CSS! Valid XHTML 1.0 Strict