Schedule

Readings: EJ numbers refer to Items, not chapters, in Effective Java 3rd edition
PP numbers refer to Topics, not chapters, in Pragmatic Programmer 2nd (20th Anniversary) edition

June
MondayTuesdayWednesdayThursdayFriday
20
Juneteenth
21
17:00-18:00 OH (Justin)
Zoom (links here)
22
9:00-10:00 OH (Sparsh)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Motivation; Reasoning about Straight-line Code
EJ: preface; PP: preface, 1-3, 5, 6
14:10-15:10 OH (Soham)
PCAR 290
23
Section
Reasoning about straight-line code and conditionals (slides)
worksheet (solution)
14:30-15:30 OH (Reshabh)
Allen 4th Floor Breakout
20:00-21:00 OH (Justin)
Zoom (links here)
23:00 HW1 due
24
10:15-11:15 OH (David)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Reasoning about Conditionals and Loops
PP 38
27
13:10-14:10 Lecture
PCAR 290
Reasoning Wrap-up; Specifications
14:10-15:10 OH (Soham)
PCAR 290
28
17:00-18:00 OH (Justin)
Zoom (links here)
29
9:00-10:00 OH (Sparsh)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Specifications; Abstract Data Types (ADT)
PP 7, 23
14:10-15:10 OH (Soham)
PCAR 290
30
Section
Java Tools; Integers (slides)
14:30-15:30 OH (Reshabh)
Allen 4th Floor Breakout
20:00-21:00 OH (Justin)
Zoom (links here)
23:00 HW2 due
01
10:15-11:15 OH (David)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
ADTs; Representation Invariants (RI)
July
MondayTuesdayWednesdayThursdayFriday
04
Independence Day
05
17:00-18:00 OH (Justin)
Zoom (links here)
06
9:00-10:00 OH (Sparsh)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Abstraction Functions (AFs)
Materials Code Example
14:10-15:10 OH (Soham)
PCAR 290
07
Section
Sets; JUnit; AFs (slides)
AF worksheet (solution) TD worksheet (solution) demo
14:30-15:30 OH (Reshabh)
Allen 4th Floor Breakout
20:00-21:00 OH (Justin)
Zoom (links here)
23:00 HW3 due
08
10:15-11:15 OH (David)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Testing
11
13:10-14:10 Lecture
PCAR 290
More Testing; Modular Design
Materials EJ 49, 50, 17, 52; PP 41
14:10-15:10 OH (Soham)
PCAR 290
12
17:00-18:00 OH (Justin)
Zoom (links here)
13
9:00-10:00 OH (Sparsh)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Modular Design and Style
14:10-15:10 OH (Soham)
PCAR 290
14
Section
Graphs; Specifications (slides)
worksheet
14:30-15:30 OH (Reshabh)
Allen 4th Floor Breakout
20:00-21:00 OH (Justin)
Zoom (links here)
23:00 HW4 due
15
10:15-11:15 OH (David)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Equality and Hashcodes
EJ 10, 11
18
13:10-14:10 Lecture
PCAR 290
Exceptions
PP 25; EJ 69, 70, 73
14:10-15:10 OH (Soham)
PCAR 290
19
17:00-18:00 OH (Justin)
Zoom (links here)
20
9:00-10:00 OH (Sparsh)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Subtypes
EJ 40, 18, 19
14:10-15:10 OH (Soham)
PCAR 290
21
14:30-15:30 OH (Reshabh)
Allen 4th Floor Breakout
20:00-21:00 OH (Justin)
Zoom (links here)
23:00 HW5 due
22
10:15-11:15 OH (David)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
More Subtypes; Ethics
25
13:10-14:10 Lecture
PCAR 290
Generics
EJ 28, 30
14:10-15:10 OH (Soham)
PCAR 290
26
17:00-18:00 OH (Justin)
Zoom (links here)
27
9:00-10:00 OH (Sparsh)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
More Generics; Callbacks
14:10-15:10 OH (Soham)
PCAR 290
28
Section
HW7: Dijkstra's Algorithm (slides)
handout, worksheet
14:30-15:30 OH (Reshabh)
Allen 4th Floor Breakout
20:00-21:00 OH (Justin)
Zoom (links here)
23:00 HW6 due
29
10:15-11:15 OH (David)
Zoom (links here)
August
MondayTuesdayWednesdayThursdayFriday
01
13:10-14:10 Lecture
PCAR 290
Intro to React
Code Example
14:10-15:10 OH (Soham)
PCAR 290
02
17:00-18:00 OH (Justin)
Zoom (links here)
03
9:00-10:00 OH (Sparsh)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
More React
14:10-15:10 OH (Soham)
PCAR 290
04
Section
HW8: Typescript and React (slides)
demo
14:30-15:30 OH (Reshabh)
Allen 4th Floor Breakout
20:00-21:00 OH (Justin)
Zoom (links here)
23:00 HW7 due
05
10:15-11:15 OH (David)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Debugging
08
13:10-14:10 Lecture
PCAR 290
Design Patterns
14:10-15:10 OH (Soham)
PCAR 290
09
17:00-18:00 OH (Justin)
Zoom (links here)
10
9:00-10:00 OH (Sparsh)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
HW9, Spark Java, and Fetch
Code Example
14:10-15:10 OH (Soham)
PCAR 290
11
Section
HW9: SparkServer and Fetch (slides)
demo
14:30-15:30 OH (Reshabh)
Allen 4th Floor Breakout
20:00-21:00 OH (Justin)
Zoom (links here)
23:00 HW8 due
12
10:15-11:15 OH (David)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
More Design Patterns
15
13:10-14:10 Lecture
PCAR 290
System Integration
14:10-15:10 OH (Soham)
PCAR 290
16
17:00-18:00 OH (Justin)
Zoom (links here)
17
9:00-10:00 OH (Sparsh)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Accessibility (half lecture)
14:10-15:10 OH (Soham)
PCAR 290
18
Section
Office Hours
14:30-15:30 OH (Reshabh)
Allen 4th Floor Breakout
20:00-21:00 OH (Justin)
Zoom (links here)
23:00 HW9 due
19
10:15-11:15 OH (David)
Zoom (links here)
13:10-14:10 Lecture
PCAR 290
Course Wrap-up