| September | ||||
|---|---|---|---|---|
| Monday | Tuesday | Wednesday | Thursday | Friday |
|
Lecture
Procedural Abstraction |
Lecture
Formal Specifications |
|||
|
Lecture
Testing |
Section
HW1 start |
Lecture
Calculation |
Lecture
Proof by Cases
18:00 HW1 at home due
|
|
| October | ||||
|---|---|---|---|---|
| Monday | Tuesday | Wednesday | Thursday | Friday |
|
Lab
HW1 in class
Video: Induction
|
Section
HW2 start |
Lecture
Data Abstraction |
Lecture
Abstraction Functions
18:00 HW2 at home due
|
|
|
Lab
HW2 in class
Video: Representation Invariants
|
Section
HW3 start |
Lecture
Floyd Logic for Assignments |
Lecture
Floyd Logic for Conditionals
18:00 HW3 at home due
|
|
|
Lab
HW3 in class
Video: Floyd Logic for Loops
|
Section
HW4 start |
Lecture
Module Design |
Lecture
Aliasing
18:00 HW4 at home due
|
|
|
Lab
HW4 in class
Video: Subclasses
|
Section
HW5 start |
Lecture
Correctness of Immutable ADTs |
Lecture
Correctness of Mutable ADTs
18:00 HW5 at home due
|
|
| November | ||||
|---|---|---|---|---|
| Monday | Tuesday | Wednesday | Thursday | Friday |
|
Lab
HW5 in class
Video: Defensive Programming
|
Section
HW6 start |
Lecture
Impossible by Design |
Lecture
Rust Type System
18:00 HW6 at home due
|
|
|
Lab
HW6 in class
Video: TypeScript Type System
|
Veteran's Day
|
Lecture
Arrays |
Lecture
Array Loops
18:00 HW7 at home due
|
|
|
Lab
HW7 in class
Video: Invariant to Code
|
Section
HW8 start |
Lecture
Subtypes |
Lecture
Generics
18:00 HW8 at home due
|
|
|
Lab
HW8 in class
Video: More Generics
|
Section
HW9 start |
Day Before Thanksgiving
|
Thanksgiving
|
Native American Heritage Day
|
| December | ||||
|---|---|---|---|---|
| Monday | Tuesday | Wednesday | Thursday | Friday |
|
Lecture
Drawing Array Invariants
18:00 HW9 at home due
|
Section
Final review |
Lab
HW9 in class |
Lecture
Tail Recursion |
|
|
12:30-14:20 Final exam
|
||||