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
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 Lazy programming
21   9 Apr Imperative programming
11 Apr SPRING CARNIVAL
22 16 Apr Introduction to Context-Free Grammars and Parsing
23 18 Apr Introduction to Computability
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 19:12, 14 Mar 2024