15-150: Functional Programming, Summer 2021


Schedule of Lectures

Number  Date             Topics Covered Lecture Slides
0 21 May Welcome & Intro 0521
1 24 May Functional Computation 0524
2 26 May Lambdas 0526
3 02 June Induction and Recursion 0602
4 04 June Extensional Code Design 0604
5 07 June Structural Induction & Asymptotic Analysis
6 09 June Sorting Lists and Parallelism
7 11 June Trees
8 14 June Datatypes and Parametric Polymorphism
9 16 June Polymorphism
10 21 June Higher Order Functions I
11 23 June Higher Order Functions II
12 25 June Tree Sorting
13 28 June Continuations I
14 30 June Continuations II
15 02 July Exceptions
16 07 July [Optional] Regular Expressions I
17 09 July [Optional] Regular Expressions II
18 12 July Modules I
19 04 July Modules II
20 16 July Red-Black Trees
21 19 July Sequences I
22 21 July Sequences II
23 23 July Games I : The Game Signature
24 26 July Games II: Minimax
25 28 July Games III: Alphabeta
26 30 July Imperative Programming
27 02 August Lazy Programming
28 04 August Semester Review
29 06 August [Optional] TBA
30 09 August [Optional] TBA
31 11 August [Optional] TBA
32 13 August [Optional] TBA


The "Lecture Slides" field will usually be blank until it is updated after the given day's lectures (generally by evening). Additional resources (recordings, code, worksheets, etc.) can be found on Canvas.

Disclaimer: All topics and dates are subject to change.

last modified 17:48, 06 Jun 2021