CSE 331 Winter 2015
Lecture Topics

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

Readings: EJ n = section n in Effective Java, 2nd ed., PP n = section n in Pragmatic Programmer

DateDescription
January 5 Introduction
PP pref., 1-2, 5, 31, 35

slides
January 7 Reasoning about code I
notes slides
January 9 Reasoning about code II - loops
notes slides
January 12 Loop development
January 14 Loops (concl.)
Specifications: PP 21, 44

slides related notes
January 16 Specifications (concl.)
January 21 Data abstractions (ADTs): EJ 15, 39, 44
Representation invariants (RI) (start)

ADT slides
RI slides related notes
January 23 Rep. Invariants (RI) (concl.)
January 26 Abstraction Functions (AF); Testing (start): PP 34, 43
AF slides AF notes testing slides
January 28 Testing
January 30 Testing (concl.); Module design and general style: EJ 10, 13-15, 40-41, 45, 56; PP 4, 7-8, 26, 33
slides
February 2 Design (concl); Identity & Equality (start)
February 4 Identity and equality, hashCode: EJ 8-9, 11-12
slides
February 6 hashCode (concl.); Exceptions and assertions: EJ 38, 57-62, 65; PP 22-24
slides
February 9 Exceptions/assertions (concl.)
February 11 Subtypes and subclasses: EJ 16-20, 36, 52
slides
February 13 Subtyping (concl.); Generics and polymorphism
EJ 23-28

slides
February 20 Generics (concl.);
February 23 Generics (concl.); Events, listeners, and callbacks: PP 27, 29
slides
February 25 Events (concl.)
Debugging: PP 18

slides
February 27 Debugging (concl.)
Graphics and GUIs (start)

slides (code)
March 2 Graphics
March 4 Event-driven GUI programming
slides (sample code)
March 6 Design patterns I
EJ 1-6

slides
March 9 Design patterns II
slides
March 11 System integration
slides
March 13 Demos & wrapup
slides