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 |
Tu |
6 Sep |
Parallelism |
live boards,
reading,
boards,
1.programming,
2.analysis,
3.reasoning,
|
2 |
Th |
8 Sep |
Computing by calculation |
live boards,
reading,
boards,
1.expressions,
2.variables,
3.functions
|
|
3 |
Tu |
13 Sep |
Numbers |
live boards,
reading,
boards,
1.recursion,
2.methodology,
3.induction
|
4 |
Th |
15 Sep |
Aggregates, Booleans, Helper Functions, Testing |
live boards,
aggregates code,
2.pairs,
booleans and helper functions code,
1.booleans,
2.helper functions
|
|
5 |
Tu |
20 Sep |
Lists |
live boards,
reading,
boards,
1.lists,
2.more-recursion,
3.induction
|
6 |
Th |
22 Sep |
Cost Analysis |
live boards,
reading,
boards,
1.reverse,
2.analysis,
3.bigO,
4.reverse-analysis,
|
|
7 |
Tu |
27 Sep |
Sequential Sorting |
live boards,
reading,
boards,
5.fast-reverse
1.sorting,
2.isort-code,
3.isort-correctness,
4.isort-analysis
|
8 |
Th |
29 Sep |
Divide and Combine |
live boards,
reading,
boards,
1.mergesort,
2.split,
3.merge,
4.mergesort-correctness,
5.cost
|
|
9 |
Tu |
4 Oct |
Trees |
live boards,
reading,
boards,
2.mergesort-span,
3.trees,
4.tree-analysis
|
10 |
Th |
6 Oct |
Parallel Sorting |
live boards,
reading,
boards,
1.tree-mergesort,
2.tree-merge,
3.tree-splitAt,
4.tree-induction,
5.mergesort-span
|
|
11 |
Tu |
11 Oct |
Correctness of Mergesort; Datatypes and Pattern Matching |
live boards,
1.pattern-matching
|
12 |
Th |
13 Oct |
More Datatypes; Polymorphism |
live boards,
datatypes code,
reading,
boards,
1.polymorphism,
2.datatypes,
|
|
13 |
Tu |
18 Oct |
Higher-order Functions I |
live boards,
reading,
boards,
1.control,
2.hofs,
3.closures,
4.anonymousfunctions,
5.polymorphism,
6.exists
|
14 |
Th |
20 Oct |
Higher-order Functions II |
code,
boards,
1.filter,
2.reduce,
3.pipeline,
4.other
|
|
|
Tu |
25 Oct |
Fall Break |
|
15 |
Th |
27 Oct |
Sequences |
live boards,
reading,
boards,
1.motivation,
2.sequences,
|
|
16 |
Tu |
1 Nov |
Sequences II/Start NBody |
live boards,
3.reduce,
4.counting
|
17 |
Th |
3 Nov |
n-body Simulation |
live boards,
reading,
boards,
1.simulation,
2.vectors,
3.sim-code,
4.sequences
|
|
18 |
Tu |
8 Nov |
Modules I: Signatures, Structures |
live
code,
videos boards,
1.overview,
2.signatures,
3.structures,
4.bincounter,
videos code,
reading
|
19 |
Th |
10 Nov |
Modules II: Dictionaries |
bool dict,
option dict,
1.dictionaries,
2.options
|
|
20 |
Tu |
15 Nov |
Modules III |
live code
bool,
live code
options,
live code
with size slow,
live
code size cached,
live
code size smart constructor,
reading,
1.representation-invariants,
1.code,
2.testing-modules,
2.code,
3.implementation-evolution,
3.code v1,
3.code v2
|
21 |
Th |
17 Nov |
Homework help session |
|
|
22 |
Tu |
22 Nov |
Data Extraction |
live boards,
live code,
See HW10 handout.
boards,
1.extractcombine,
2.mapreduce,
3.mapreduce-code
|
|
Th |
24 Nov |
Thanksgiving |
|
|
23 |
Tu |
29 Nov |
Machine Learning |
live boards,
Also see HW10 handout.
boards,
0.book,
1.overview,
2.cookies,
3.tests,
4.spam,
|
|
24 |
Th |
1 Dec |
Graphs |
more sequence library
|
|
25 |
Tu |
6 Dec |
Garbage Collection / Scheduling, Parallelism and Effects |
reading,
boards,
1.scheduling,
2.effects-intro
boards,
1.par-effects,
2.currying
|
26 |
Th |
8 Dec |
Homework Help Session |
|
Note that the schedule is subject to change.