CSE 331 Autumn 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
September 28 Introduction; read PP preface, 1-2, 5, 31, 35
slides
September 30 Reasoning about code I (cont.)
October 3 Reasoning about code II - loops
notes, slides (not used in class)
October 5 loop development
October 7 Specifications; PP 21, 44
slides, related notes,
October 10 Specs. (concl.);
October 12 Data abstractions (ADTs); EJ 15, 39; Rep. invariants (RI) (start)
ADT slides RI slides, related notes
October 14 Rep. invariants (concl.)
October 17 Abstraction Functions (AF); Testing (start); PP 34, 43
AF slides, related notes (same notes as RIs); testing slides,
October 19 Testing
October 21 Testing (concl.); Module design and general style notes; EJ 10, 13-15, 40-41, 45, 56; PP 4, 7-8, 26, 33
slides;
October 24 Design (concl.); Identity & equality, hashCode; EJ 8-9, 11-12
slides,
October 26 Equality & hashCode
October 28 Exceptions & assertions; EJ 38, 57-62, 65; PP 22-24
slides
October 31 Exceptions (concl.)
November 2 Subtypes and subclasses (start); EJ 16-20, 36, 52
slides,
November 4 Subtypes (concl.)
November 7 Generics and polymorphism (start); EJ 23-28
slides,
November 9 Generics (cont.)
November 16 Generics (concl.); Events, listeners, and callbacks; PP 27, 29
slides,
November 18 Callbacks (concl.); Debugging (start); PP 18
slides,
November 21 Debugging (concl.)
November 23 Graphics and GUIs
slides code
November 28 Event-driven GUI programming
slides code
November 30 GUI wrapup; Design patterns 1; EJ 1-6
slides
December 2 Design patterns (cont.)
December 5 Design patterns 2
slides
December 7 System integration
slides
December 9 Demos, wrapup
slides