You should be able to do the homeworks using only the material covered in lecture (and the
live boards) and labs.
You may want to use the readings and Spring 2021 videos as supplementary materials,
but note that these notes/videos may cover additonal material that we won't cover this semester,
and they may be out of synch with the order we cover things in this semester,
and you are not responsible for this extra material.
Num |
Day |
Date |
Topics Covered |
Materials |
1 |
Th |
27 Jan |
Parallelism (zoom link) |
reading,
boards,
1.programming,
2.analysis,
3.reasoning,
|
|
2 |
Tu |
1 Feb |
Computing by calculation |
live boards,
reading,
boards,
1.expressions,
2.variables,
3.functions
|
3 |
Th |
3 Feb |
Aggregates |
live boards,
code,
2.pairs,
|
|
4 |
Tu |
8 Feb |
Numbers |
live
boards,
reading,
boards,
1.recursion,
2.methodology,
3.induction
|
5 |
Th |
10 Feb |
Booleans, Helper Functions, Testing, General Recursion |
live
boards,
booleans and helper functions code,
1.booleans,
2.helper functions
|
|
6 |
Tu |
15 Feb |
Lists |
live boards,
reading,
boards,
1.lists,
2.more-recursion,
3.induction
|
7 |
Th |
17 Feb |
Cost Analysis |
reading,
boards,
1.reverse,
2.analysis,
3.bigO,
4.reverse-analysis,
|
|
8 |
Tu |
22 Feb |
Sequential Sorting |
reading,
boards,
5.fast-reverse
1.sorting,
2.isort-code,
3.isort-correctness,
4.isort-analysis
|
9 |
Th |
24 Feb |
Divide and Combine |
reading,
boards,
1.mergesort,
2.split,
3.merge,
4.mergesort-correctness,
5.cost
|
|
10 |
Tu |
1 Mar |
Trees |
live boards,
reading,
boards,
1.pattern-matching,
2.mergesort-span,
3.trees,
4.tree-analysis
|
11 |
Th |
3 Mar |
Parallel Sorting |
live boards,
reading,
boards,
1.tree-mergesort,
2.tree-merge,
3.tree-splitAt,
4.tree-induction,
5.mergesort-span
|
|
12 |
Tu |
8 Mar |
More Parallel Sorting |
live
boards
|
13 |
Th |
10 Mar |
Polymorphism and Datatypes |
live boards,
datatypes code,
reading,
boards,
1.polymorphism,
2.datatypes,
|
|
14 |
Tu |
22 Mar |
Higher-order Functions I |
live boards,
reading,
boards,
1.control,
2.hofs,
3.closures,
4.anonymousfunctions,
5.polymorphism,
6.exists
|
15 |
Th |
24 Mar |
Higher-order Functions II |
live boards,
code,
boards,
1.filter,
2.reduce,
3.pipeline,
4.other
|
|
16 |
Tu |
29 Mar |
Sequences |
live boards,
reading,
boards,
1.motivation,
2.sequences,
3.reduce,
4.counting
|
17 |
Th |
31 Mar |
n-body Simulation |
live boards,
reading,
boards,
1.simulation,
2.vectors,
3.sim-code,
4.sequences
|
|
18 |
Tu |
5 Apr |
Modules I: Signatures, Structures |
live boards,
code,
boards,
1.overview,
2.signatures,
3.structures,
4.bincounter,
reading
|
19 |
Th |
7 Apr |
Modules II: Dictionaries |
bool dict,
option dict,
1.dictionaries,
2.options
|
|
20 |
Tu |
12 Apr |
Modules III |
reading,
1.representation-invariants,
1.code,
2.testing-modules,
2.code,
3.implementation-evolution,
3.code v1,
3.code v2
|
21 |
Th |
14 Apr |
Modules IV: Representation Independence |
boards,
code,
1.simulation,
2.size,
3.lookup,
4.insert
|
|
22 |
Tu |
19 Apr |
Machine Learning |
Also see HW10 handout.
boards,
0.book,
1.overview,
2.cookies,
3.tests,
4.spam,
|
23 |
Th |
21 Apr |
Data Extraction |
See HW10 handout.
boards,
1.extractcombine,
2.mapreduce,
3.mapreduce-code
|
|
|
24 |
Tu |
26 Apr |
Scheduling |
reading,
boards,
1.scheduling,
2.effects-intro
|
25 |
Th |
28 Apr |
Parallelism and effects |
boards,
1.par-effects,
2.currying
|
|
26 |
Tu |
3 May |
Memoization/Dynamic Programming |
|
Note that the schedule is subject to change.