| January | ||||
|---|---|---|---|---|
| Monday | Tuesday | Wednesday | Thursday | Friday |
|
Lecture
Welcome; Procedural abstraction |
Lecture
Formal Specification |
Section
HW1 start |
Lecture
Testing |
|
|
Lecture
Proof by Calculation; Proof by Cases |
Lecture
Induction
23:59 HW1 due
|
Section
HW2 start |
Lecture
Data abstraction; Specifying ADTs |
|
|
MLK Day
|
Lecture
Representation invariants
23:59 HW2 due
|
Section
HW3 start |
Lecture
Floyd Logic for Assignments |
|
|
Lecture
Floyd Logic for Conditionals |
Lecture
Floyd Logic for Loops
23:59 HW3 due
|
Section
HW4 start |
Lecture
Module Design |
|
| February | ||||
|---|---|---|---|---|
| Monday | Tuesday | Wednesday | Thursday | Friday |
|
Lecture
Aliasing |
Lecture
Subclasses
23:59 HW4 due
|
Section
HW5 start |
Lecture
Correctness of Immutable ADTs |
|
|
Lecture
Correctness of Mutable ADTs |
Lecture
Defensive Programming; Impossible by Design
23:59 HW5 due
|
Section
Midterm review |
Midterm (in class)
|
|
|
President's Day
|
Lecture
Rust and TypeScript |
Section
HW6 start |
Lecture
Arrays |
|
|
Lecture
Array Loops |
Lecture
Turning Invariants into Code
23:59 HW6 due
|
Section
HW7 start |
Lecture
Subtypes |
|
| March | ||||
|---|---|---|---|---|
| Monday | Tuesday | Wednesday | Thursday | Friday |
|
Lecture
Generics |
Lecture
More Generics
23:59 HW7 due
|
Section
HW8 start |
Lecture
Drawing Array Invariants |
|
|
Lecture
Tail recursion |
Lecture
TBD
23:59 HW8 due
|
Section
Final exam review |
Lecture
Victory lap |
|
|
12:30-14:20 Final exam
BAG 131/154 |
||||