15-150: Functional Programming, Spring 2024


Schedule of Lectures

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

The "Notes and Readings" field will usually be blank until it is updated after the given day's lectures (generally by evening).

Lecture Slides

Slides for Lecture 1 (12:30pm) appear under the individual lectures linked by "Notes and Readings".
Slides for Lecture 2 (3:30pm) appear here.

Disclaimer: All topics and dates are subject to change.

last modified 22:11, 18 Apr 2024