CSE 331 Spring 2016
Lecture Topics

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

Readings show section, not page, numbers. PP = Pragmatic Programmer, EJ = Effective Java

Expect some changes in this schedule as the quarter progresses

DateDescription
March 28 Introduction; read PP preface, 1-2, 5, 31, 35
slides
March 30 Reasoning about code I
slides, notes
April 1 Reasoning about code II - loops
slides, notes
April 4 loop development
April 6 Specifications; PP 21, 44
slides, related notes
April 8 Specifications
April 11 Specs. (concl.); Data abstractions (ADTs); EJ 15, 39, 44
slides, related notes (same as last time)
April 13 ADTs (concl.); Representation invariants (RI)
slides, related notes
April 15 RIs (concl.); Abstraction Functions (AF)
slides, related notes (same as last time)
April 18 Testing (start) PP 34, 43
slides
April 20 Testing (concl.)
April 22 Module design and general style notes; EJ 10, 13-15, 40-41, 45, 46, 50, 56; PP 4, 7-8, 26, 33
slides
April 25 Design (concl.); Identity & equality, hashCode; EJ 8-9, 11-12
slides
April 27 Equality (cont.)
April 29 overloading/overriding review; hashCode (wrapup)
May 2 Exceptions & assertions; EJ 38, 57-62, 65; PP 22-24
slides
May 4 Exceptions (concl.); Subtypes and subclasses (start); EJ 16-20, 36, 52
slides
May 6 Subtypes and subclasses (concl.)
May 9 Generics (start); EJ 23-28
slides
May 11 Generics
May 16 Generics (concl.); Events, listeners, & callbacks (start); PP 27, 29
slides
May 18 Events (concl.) Debugging; PP 18
slides
May 20 Debugging (concl.)
May 23 Graphics and GUIs
slides code
May 25 Event-driven GUI programming
slides code
May 27 Design patterns 1; EJ 1-6
slides
June 1 Design patterns 2
slides
June 3 Demos, wrapup
slides