June | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
21 | 22 | 23
13:00 HW0 due
13:10-14:10 Lecture
* * Reasoning About Straight-Line Code: Hoare Logic + if statements (slides) PP (topic 38) |
24 | 25 |
28 | 29 | 30
13:10-14:10 Lecture
* * Loops wrap up (slides) + Specifications: overview, javadoc, comparison, and correctness (slides) + Section video PP (topic 23)
23:00 HW1 due
|
01 | 02
18:00 Quiz 1 begins
|
July | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
05
Independence Day
|
06
23:00 HW3 due
|
07
13:10-14:10 Lecture
* * Abstraction Functions (AFs): overview and an example (slides) + JavaScript + code example (slides) |
08 | 09
13:10-14:10 Lecture
* * Representation Invariants (RIs): Overview and defensive programming (slides) EJ (topic 49, 50, 17, 52)
23:00 HW2 due (Google docs)
|
12
13:10-14:10 Lecture
* * JavaScript part 2 (code example) + Testing: concepts and heuristics (slides) PP (topic 41) |
13 | 14
13:10-14:10 Lecture
* * More Testing: examples, coverage, and tips (slides) + Section video (hw5 part 1)
23:00 HW4 due
|
15 | 16
13:10-14:10 Lecture
* * Module Design & Style: concepts, Java advice, and readability (slides) + Modular Java Script (slides, code)
18:00 Quiz 2 begins
|
19
13:10-14:10 Lecture
* * Callbacks, Events, & Event-Driven Programs: callbacks & events and event-driven programs (slides) + JavaScript Wrap up (slides) Code Examples |
20 | 21
13:10-14:10 Lecture
* * Identity, Equality, & Hashing: overview and Java details (slides) + React part 1 (slides) + hw5 part 2 (video 1, 2) EJ (topics 10, 11) + Code Example
23:00 HW5 Part1 due
|
22
Section
Equals & hashCode (slides) worksheet (Rep Exposure - Equals/Hashcode) solution(Rep Exposure - Equals/Hashcode) |
23
13:10-14:10 Lecture
* * More Identity, Equality, & Hashing: review, mutability, and hashing (slides) + React State (slides) Code Example |
26
13:10-14:10 Lecture
* * Exceptions & Assertions: concepts, assertions, mechanics, design, and alternatives (slides) PP (topic 25) |
27 | 28
13:10-14:10 Lecture
* * Subtypes: concepts and (non-)examples (slides) + Section video HW6 (1, 2, 3) EJ (topics 40, 18, 19) Code Example
23:00 HW5 Part2 due
|
29 | 30
18:00 Quiz 3 begins
|
August | ||||
Monday | Tuesday | Wednesday | Thursday | Friday |
02
13:10-14:10 Lecture
* * Generics: overview, methods, and subtyping (slides) EJ (topic 28, 30) Code Example |
03 | 04
13:10-14:10 Lecture
* * More Generics: wildcards, arrays, type erasure, and advice (slides) + Section video hw 7 Code Example
23:00 HW6 due
|
05 | 06 |
09
13:10-14:10 Lecture
* * Web Clients: Spark and Web Requests + Web Clients/React (HW9: fetch and Json) (slides) Code Example |
10 | 11 | 12
23:00 HW7 due
|
13
18:00 Quiz 4 begins
|
16 | 17 | 18
13:10-14:10 Lecture
* * More Design Patterns: sharing, structural, behavioral, and Real World Anti-Patterns (slides) EJ (topic 1, 2, 4) |
19
Section
HW9 Help
23:00 HW9 due
|
20
13:10-14:10 Lecture
* * OH |