CSE 331 Autumn 2013
Lecture Topics

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

Tentative lecture plan. Links will not work until shortly before each lecture.

Readings: PP = Pragmatic Programmer section numbers, EJ = Effective Java, 2nd ed, item numbers

DateDescription
September 25 Introduction
PP preface, 1-2, 5, 31, 35
September 27 Reasoning about code, conditionals
Notes from section and lecture
September 30 Loop proof rules and development
Notes from lecture
October 2 Loop developement
October 4 Loop development (concl.)
October 7 Specifications
Specifications notes
PP 21, 44
October 9 Data abstractions, ADTs, AF, RI
AF/RI notes
EJ 15, 39, 44
October 11 Data abstraction examples
October 14 Abstraction (concl.) Testing
PP 34, 43
October 16 Testing (concl.)
October 18 Class design
EJ 10, 13-15, 40-41, 45, 56; PP 4, 7-8, 26, 33
October 21 Design (concl.)
Identity and equality, hashCode
EJ 8-9, 11-12
October 23 Identity and equality (concl.)
October 25 Exceptions and assertions
EJ 38, 57-62, 65; PP 22-24
October 28 Exceptions (concl.)
Interfaces EJ 52
October 30 Subtypes and subclasses
EJ 16-20, 36
November 1 Subtypes and subclasses
November 4 Generics and polymorphism
EJ 23-28
November 6 Generics (concl.); Events, listeners, and callbacks (start)
PP 27, 29
November 13 Events and callbacks (concl.); Debugging
PP 18
November 15 Debugging (concl.)
November 18 Design patterns 1
EJ 1-6
November 20 Patterns 1 (concl.)
Graphics and GUIs (sample code)
November 22 Graphics (concl.)
November 25 Event-driven GUI programming (sample code)
November 27 Usability
December 2 Patterns 2   Patterns 3
December 4 System integration
December 6 Demos, wrapup