15-150: Functional Programming, Spring 2020

Schedule of Lectures in Spring 2020

Number  Date     Topics Covered Notes and Readings
01 14 Jan Introduction, Equivalence, Evaluation, Typing, Binding, Scope   lecture 01
02 16 Jan Functions   lecture 02
03 21 Jan Recursion and Induction   lecture 03
04 23 Jan Lists, Tail Recursion, Structural Induction   lecture 04
05 28 Jan Datatypes, Trees and Structural Induction   lecture 05
06 30 Jan Asymptotic Analysis   lecture 06
07 4 Feb Sequential Sorting   lecture 07
08 6 Feb Parallel Sorting   lecture 08
09 11 Feb Polymorphism and Parameterized Datatypes   lecture 09
13 Feb MIDTERM EXAM #1
10 18 Feb Higher-Order Functions   lecture 10
11 20 Feb Combinators, Staging   lecture 11
12 25 Feb Continuations   lecture 12
13 27 Feb Exceptions   lecture 13
14 3 Mar Regular Expressions   lecture 14
15 5 Mar Regular Expressions (cont)   lecture 15
10 Mar SPRING BREAK
12 Mar SPRING BREAK
17 Mar CLASSES CANCELLED DUE TO CORONA VIRUS.
CLASSES HEREAFTER ARE ONLINE ONLY.
16 19 Mar Modular programming I: Signatures and Structures   lecture 16
17 24 Mar Modular programming II: Functors   lecture 17
18 26 Mar Modular programming III: Invariants of Red/Black Trees   lecture 18
31 Mar TA MIDTERM REVIEW Lectures
2 Apr MIDTERM EXAM #2 (online; details to be determined)
19 7 Apr Parallelism, Cost Semantics, Sequences   lecture 19
20 9 Apr Case study: two-person games I   lecture 20
21 14 Apr Case study: two-person games II   lecture 21
22 16 Apr Lazy programming   lecture 22
23 21 Apr Imperative programming   lecture 23
24 23 Apr Introduction to Context-Free Grammars and Parsing   lecture 24
25 28 Apr Introduction to Computability   lecture 25
26 30 Apr Review   lecture 26
11 May FINAL EXAM
There will be an online final exam on Gradescope.
You have a 24 window in which to take the 180 minute exam:
Start on or after May 11, 12:00 noon (EDT);
End no later than May 12, 12:00 noon (EDT).

Link to Current Version of the Course

last modified 17:46, 27 Dec 2020