Date | Description |
---|---|
June 21 | Motivation (slides) Live lecture slides |
June 23 |
Reasoning About Straight-Line Code: Hoare Logic + if statements (slides) PP (topic 38) |
June 25 | Reasoning About Loops: Loops + examples + HTML (slides) Watch party 10:30 pm |
June 28 | Writing Loops: important example (1, 2) (slides) |
June 30 |
Loops wrap up (slides) + Specifications: overview, javadoc, comparison, and correctness (slides) + Section video PP (topic 23) |
July 2 | Data Abstraction (ADTs): Overview and Java examples (slides) |
July 7 | Abstraction Functions (AFs): overview and an example (slides) + JavaScript + code example (slides) |
July 9 |
Representation Invariants (RIs): Overview and defensive programming (slides) EJ (topic 49, 50, 17, 52) |
July 12 |
JavaScript part 2 (code example) + Testing: concepts and heuristics (slides) PP (topic 41) |
July 14 | More Testing: examples, coverage, and tips (slides) + Section video (hw5 part 1) |
July 16 | Module Design & Style: concepts, Java advice, and readability (slides) + Modular Java Script (slides, code) |
July 19 |
Callbacks, Events, & Event-Driven Programs: callbacks & events and event-driven programs (slides) + JavaScript Wrap up (slides) Code Examples |
July 21 |
Identity, Equality, & Hashing: overview and Java details (slides) + React part 1 (slides) + hw5 part 2 (video 1, 2) EJ (topics 10, 11) + Code Example |
July 23 |
More Identity, Equality, & Hashing: review, mutability, and hashing (slides) + React State (slides) Code Example |
July 26 |
Exceptions & Assertions: concepts, assertions, mechanics, design, and alternatives (slides) PP (topic 25) |
July 28 |
Subtypes: concepts and (non-)examples (slides) + Section video HW6 (1, 2, 3) EJ (topics 40, 18, 19) Code Example |
July 30 | Subtypes: Java details, equals redux, and alternatives (slides) |
August 2 |
Generics: overview, methods, and subtyping (slides) EJ (topic 28, 30) Code Example |
August 4 |
More Generics: wildcards, arrays, type erasure, and advice (slides) + Section video hw 7 Code Example |
August 6 |
Basic Servers & Clients: Overview and http (slides) Code Example |
August 9 |
Web Clients: Spark and Web Requests + Web Clients/React (HW9: fetch and Json) (slides) Code Example |
August 11 | Debugging: concepts and tips (slides) |
August 13 |
Design Patterns: overview (slides) + HW9 Video EJ (topic 1, 2, 4) |
August 16 |
More Design Patterns: factories, and builders (slides) EJ (topic 1, 2, 4) |
August 18 |
More Design Patterns: sharing, structural, behavioral, and Real World Anti-Patterns (slides) EJ (topic 1, 2, 4) |
August 20 | OH |