CSE 331 Winter 2018
Course Calendar

Subscribe to this calendar (google, iCal, etc.)

Readings correspond to sections, not chapters, in Pragmatic Programmer and Effective Java.
PP = Pragmatic Programmer; EJ2 = Effective Java 2nd ed.; EJ3 = Effective Java 3rd ed. You can use either edition.

 Show color key

January
MondayTuesdayWednesdayThursdayFriday
01 02 03
Lecture
Introduction; read PP: preface, 1-2, 5, 31, 35
slides
04
Section
Intro, code reasoning
slides, notes
15:30-16:30 OH (yx)
CSE 021
05
Lecture
Reasoning about code I (cont. from section); intro to loops
12:00-13:00 OH (nf)
CSE 007
08
Lecture
Reasoning about code II - loops
slides, notes
14:30-15:30 OH (lv)
CSE 220
09
12:00-13:00 OH (ax)
CSE 021
16:30-17:30 OH (nf)
CSE 021
10
Lecture
loop development (concl.)
11:00-12:00 OH (lv)
CSE 007
12:00-13:30 OH (mk)
CSE 007
14:30-15:30 OH (sy)
CSE 220
23:00 hw1 due (assertions, proofs)
11
Section
Java tools + hw3
slides
15:30-16:30 OH (ab)
CSE 021
17:30-18:30 OH (jq)
CSE 021
12
Lecture
Specifications (start), PP: 21, 44
slides, related notes
12:30-13:30 OH (yx)
CSE 220
16:30-17:30 OH (ab)
CSE 021
15
Martin Luther King Jr. Day
12:00-13:00 OH (wj)
CSE 021
14:30-15:30 OH (ny)
CSE 220
16
12:00-13:00 OH (ax)
CSE 021
16:30-17:30 OH (nf)
CSE 021
23:00 hw2 due (loop development)
17
Lecture
Specifications (concl.); Data Abstractions (ADTs); EJ2: 15, 39, 44 / EJ3: 17, 50, 56
ADT slides, related notes
11:00-12:00 OH (lv)
CSE 007
12:00-13:30 OH (mk)
CSE 007
14:30-15:30 OH (sy)
CSE 220
18
Section
Abstraction, testing, hw4
slides, code
15:30-16:30 OH (ab)
CSE 021
17:30-18:30 OH (jq)
CSE 021
23:00 hw3 due (Java review / logistics)
19
Lecture
ADTs (concl.); Rep Invariants (RI) (start)
RI slides, related notes
12:30-13:30 OH (yx)
CSE 220
16:30-17:30 OH (ab)
CSE 021
22
Lecture
RIs (concl.); Abstraction Functions (AF)
AF slides, related notes (same as last time)
12:00-13:00 OH (wj)
CSE 021
14:30-15:30 OH (ny)
CSE 220
23
12:00-13:00 OH (ax)
CSE 021
16:30-17:30 OH (nf)
CSE 021
24
Lecture
Testing (start) PP: 34, 43
slides
11:00-12:00 OH (lv)
CSE 007
12:00-13:30 OH (mk)
CSE 007
14:30-15:30 OH (sy)
CSE 220
25
Section
Graphs, junit, hw5
slides
15:30-16:30 OH (ab)
CSE 021
17:30-18:30 OH (jq)
CSE 021
23:00 hw4 due (implement / test)
26
Lecture
Testing (concl.); Module design and general style notes; EJ2: 10, 13-15, 40-41, 45-46, 50, 56 / EJ3: 12, 15-17, 51-52, 57-58, 62, 68; PP: 4, 7-8, 26, 33
slides
12:30-13:30 OH (yx)
CSE 220
16:30-17:30 OH (ab)
CSE 021
29
Lecture
Design (concl.); Identity & equality, hashCode; EJ2: 8-9, 11-12 / EJ3: 10-11, 13-14
slides
12:00-13:00 OH (wj)
CSE 021
14:30-15:30 OH (ny)
CSE 220
30
12:00-13:00 OH (ax)
CSE 021
16:30-17:30 OH (nf)
CSE 021
31
Lecture
Equality (concl.)
11:00-12:00 OH (lv)
CSE 007
12:00-13:30 OH (mk)
CSE 007
14:30-15:30 OH (sy)
CSE 220
01
Section
Interfaces; hw6 data files and parsing
slides
15:30-16:30 OH (ab)
CSE 021
17:30-18:30 OH (jq)
CSE 021
02
Lecture
Exceptions & assertions; EJ2: 38, 57-62, 65 / EJ3: 49, 69-74, 77; PP: 22-24
slides
12:30-13:30 OH (yx)
CSE 220
16:30-17:30 OH (ab)
CSE 021
23:00 Reading Quiz set1 due by SUNDAY Feb. 4, 11:00 pm

February
MondayTuesdayWednesdayThursdayFriday
05
Lecture
Exceptions (concl.)
12:00-13:00 OH (wj)
CSE 021
14:30-15:30 OH (ny)
CSE 220
06
12:00-13:00 OH (ax)
CSE 021
16:30-17:30 OH (nf)
CSE 021
23:00 hw5 due (graph ADT)
07
Lecture
Subtypes and subclasses (start); EJ2: 16-20, 36, 52 / EJ3: 18-20, 22-23, 40, 64
slides
11:00-12:00 OH (lv)
CSE 007
12:00-13:30 OH (mk)
CSE 007
14:30-15:30 OH (sy)
CSE 220
08
Section
Midterm review
15:30-16:30 OH (ab)
CSE 021
16:30-17:30 Midterm exam (both lectures)
Kane 110
17:30-18:30 OH (jq)
CSE 021
09
Lecture
Subtypes and subclasses (concl.)
12:30-13:30 OH (yx)
CSE 220
16:30-17:30 OH (ab)
CSE 021
12
Lecture
Generics (start); EJ2: 23-28 / EJ3: 26-31
slides
12:00-13:00 OH (wj)
CSE 021
14:30-15:30 OH (ny)
CSE 220
13
12:00-13:00 OH (ax)
CSE 021
16:30-17:30 OH (nf)
CSE 021
14
Lecture
Generics
11:00-12:00 OH (lv)
CSE 007
12:00-13:30 OH (mk)
CSE 007
14:30-15:30 OH (sy)
CSE 220
23:00 hw6 due (social network)
15
Section
hw7, Dijkstra's algorithm
slides
15:30-16:30 OH (ab)
CSE 021
17:30-18:30 OH (jq)
CSE 021
16
Lecture
Generics (concl.)
12:30-13:30 OH (yx)
CSE 220
16:30-17:30 OH (ab)
CSE 021
19
Presidents Day
20
12:00-13:00 OH (ax)
CSE 021
16:30-17:30 OH (nf)
CSE 021
21
Lecture
Events, listeners, & callbacks; PP: 27, 29
slides
11:00-12:00 OH (lv)
CSE 007
12:00-13:30 OH (mk)
CSE 007
14:30-15:30 OH (sy)
CSE 220
23:00 hw7 due (generics, Dijkstras)
22
Section
MVC, hw8
slides
15:30-16:30 OH (ab)
CSE 021
17:30-18:30 OH (jq)
CSE 021
23
Lecture
Debugging; PP: 18
slides
12:30-13:30 OH (yx)
CSE 220
16:30-17:30 OH (ab)
CSE 021
23:00 Reading Quiz set2 due by SUNDAY Feb. 25, 11:00 pm
26
Lecture
Graphics and GUIs
slides code
12:00-13:00 OH (wj)
CSE 021
14:30-15:30 OH (ny)
CSE 220
27
12:00-13:00 OH (ax)
CSE 021
16:30-17:30 OH (nf)
CSE 021
28
Lecture
Event-driven GUI programming
slides code
11:00-12:00 OH (lv)
CSE 007
12:00-13:30 OH (mk)
CSE 007
14:30-15:30 OH (sy)
CSE 220
23:00 hw8 due (campus paths)
01
Section
Design patterns
slides, code
15:30-16:30 OH (ab)
CSE 021
17:30-18:30 OH (jq)
CSE 021
02
Lecture
Design patterns 1; EJ2: 1-6 / EJ3: 1-4, 6-7
slides
12:30-13:30 OH (yx)
CSE 220
16:30-17:30 OH (ab)
CSE 021

March
MondayTuesdayWednesdayThursdayFriday
05
Lecture
Design patterns 2
slides
12:00-13:00 OH (wj)
CSE 021
14:30-15:30 OH (ny)
CSE 220
06
12:00-13:00 OH (ax)
CSE 021
16:30-17:30 OH (nf)
CSE 021
07
Lecture
System integration
slides
11:00-12:00 OH (lv)
CSE 007
12:00-13:30 OH (mk)
CSE 007
14:30-15:30 OH (sy)
CSE 220
23:00 hw9 due (GUI)
08
Section
More patterns, wrapup
slides, worksheet (solution)
15:30-16:30 OH (ab)
CSE 021
17:30-18:30 OH (jq)
CSE 021
09
Lecture
Demos, wrapup
slides
12:30-13:30 OH (yx)
CSE 220
16:30-17:30 OH (ab)
CSE 021
12
Final exam Q&A Session SUNDAY AFTERNOON 2:00 pm
EEB 037
12:30-14:20 Final exam (both lectures)
Kane 110
13 14 15 16