COMP 212: Functional Programming

Schedule of Lectures

Num Day Date Topics Covered Materials
1 Wed 10 Feb Parallelism reading, boards, videos: 1.programming, 2.analysis, 3.reasoning, 4.logistics
2 Fri 12 Feb Computing by calculation reading, boards, 1.expressions, 2.variables, 3.functions
3 Wed 17 Feb Numbers reading, boards, 1.recursion, 2.methodology, 3.induction
4 Fri 19 Feb Booleans, Aggregates code, 1.booleans, 2.pairs, 3.helper functions
5 Wed 24 Feb Lists reading, boards, 1.lists, 2.more-recursion, 3.induction
6 Fri 26 Feb Cost Analysis reading, boards, 1.reverse, 2.analysis, 3.bigO, 4.reverse-analysis, 5.fast-reverse
7 Wed 3 Mar Sequential Sorting reading, boards, 1.sorting, 2.isort-code, 3.isort-correctness, 4.isort-analysis
8 Fri 5 Mar Divide and Combine reading, boards, 1.mergesort, 2.split, 3.merge, 4.mergesort-correctness, 5.cost
9 Wed 10 Mar Trees reading, boards, 1.pattern-matching, 2.mergesort-span, 3.trees, 4.tree-analysis
10 Fri 12 Mar Parallel Sorting reading, boards, 1.tree-mergesort, 2.tree-merge, 3.tree-splitAt, 4.tree-induction, 5.mergesort-span
11 Wed 17 Mar Polymorphism and Datatypes reading, boards, 1.polymorphism, 2.datatypes
12 Fri 19 Mar no new videos
Wed 23 Mar Spring break day
13 Fri 26 Mar Generalizing the IH example proof, boards, video
14 Wed 31 Mar Higher-order Functions I reading, boards, 1.control, 2.hofs, 3.closures, 4.anonymousfunctions, 5.polymorphism, 6.exists
15 Fri 2 Apr Higher-order Functions II code, boards, 1.filter, 2.reduce, 3.pipeline, 4.other
16 Wed 7 Apr Sequences reading boards, 1.motivation, 2.sequences, 3.reduce, 4.counting
17 Fri 9 Apr n-body Simulation reading, boards, 1.simulation, 2.vectors, 3.sim-code, 4.sequences
18 Wed 14 Apr Modules I: Signatures, Structures code, boards, 1.overview, 2.signatures, 3.structures, 4.bincounter, reading
19 Fri 16 Apr Modules II: Dictionaries bool dict, option dict, 1.dictionaries, 2.options
20 Wed 21 Apr Modules III reading, 1.representation-invariants, 1.code, 2.testing-modules, 2.code, 3.implementation-evolution, 3.code v1, 3.code v2
21 Fri 23 Apr Modules IV: Representation Independence boards, code, 1.simulation, 2.size, 3.lookup, 4.insert
22 Wed 28 Apr Machine Learning Also see HW10 handout. boards, 0.book (use HW sols password from Teams), 1.overview, 2.cookies, 3.tests, 4.spam,
23 Fri 30 Apr Data Extraction See HW10 handout. boards, 1.extractcombine, 2.mapreduce, 3.mapreduce-code
24 Wed 5 May Scheduling reading, boards, 1.scheduling, 2.effects-intro
25 Fri 7 May Parallelism and effects boards, 1.par-effects, 2.currying
26 Wed 12 May Two Kinds of Beauty slides, video

Note that the schedule is subject to change.