CSE 331 Winter 2026 Schedule

January
MondayTuesdayWednesdayThursdayFriday
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
MondayTuesdayWednesdayThursdayFriday
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
MondayTuesdayWednesdayThursdayFriday
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