SE2811
Schedule

Day-by day class materials

code
In-class code
slides
Power-point slides

The code examples are numbered by week and class of week. For example, code/example2_1 is the code example from Week 2, Day 1 (That is, Monday of Week 2).

Acknowledgement

The schedule for this class is adapted from Dr. Mark Hornick's rendition of the class a few years back. It will be updated throughout the quarter without markup.

Schedule

pp. 526-560  
Week Day Topics Reading Lab
1 1 Course Introduction
Review: UML (inheritance, realization, composition, usage, aggregation, roles, multiplicity)
pp. x-xxxiiii
pp. 1-35
Making a Smarter Bee
Base Code: AngryBees.zip
2 Inheritance issues
Cohesion defined
3 The Strategy Pattern
Extension vs. Encapsulation
Coupling defined
2 1 Strategy Pattern, continued
The Simple Factory idiom
The Factory Method pattern
The Singleton Pattern & synchronizing threads in Java
See code examples from link at top of this page.
pp. 109-167
Implementing the Strategy Pattern and Simple Factory Idiom in AngryBees
2 Factory Pattern
3 Factory Pattern
3 1 Multithreading in-depth
Tech Article:
  • Threads in Swing (Older version, only available through the way-back machine)
  • Concurrency in Swing. New, updated version. Although it does not contain a direct statement of the "single-thread rule", it describes the new WorkerThread class that is now part of the Java API (as of Java 6).
  • Thread Synchronization (p. 1)
Prep reading: Object Locking
Thread-safe collections
2 Multithreading continued:
Thread Synchronization
3 Multithreading continued

Sample Code:
Feedback Survey
Merry Christmas
4 1
Singleton Garbage Collection
Thread safety in the Singleton pattern
Forum Discussion: Singleton and Garbage Collection

Documentation: Atomic operations in Java

The Text:
pp. 169-189 (Singleton)
pp. 37-77 (Observer)

Singleton Event Logger
2 Thread safety in the Singleton pattern
Observer Pattern
3 Observer Pattern continued
5 1 Posting events from a worker thread to the UI thread
Java Observer interface, Observable class
Review for Half Exam 1

Tech article:
Invoking methods on the Event Dispatch Thread
 

GPS Observer
2 Half Exam 1
TBA
3 TBA
6 1 Decorator Pattern pp. 79-107 (decorator)
Drawing Program - Decorators
2 Observer push model
Decorator Pattern continued
Sample code from W4 with working observer impl:
WeatherStation.zip
New files (also in zip file):
WeatherDataProvider.java
WeatherPacket.java
3 Decorator Pattern continued

Decorators in Java I/O
Encryption using a Decorator
Sample code
IODecorators.zip

Secret message file
message.txt
7 1 Composite Pattern Sample code:
ComputerBuilder.zip
Sample code:
SwingCompsitesDemoApp.zip
pp. 317-344 (skim)
pp. 345-377
Sample Code: CommandApp.zip
pp. 191-233

Drawing Program - Composites
2 Composite Pattern continued:
Swing Containment classes
3 Half Exam 2 Command Pattern
8 1 Command Pattern - Undo support Model View Controller in Head First

Drawing Program - Undo support
2
3 Model-View-Controller: A compound pattern
9 1
Sample code:

p 434 (proxy overview)
pp. 429-497 (RMI proxy details)
Sample Code:
pp. 628-629

Remote Proxy Sample:
2 MVC continued
Proxy Pattern
3 Proxy Pattern (continued)
10 1
Facade Pattern / Adapter Pattern Summary
  GPS Observer continued

 
2 TBA
Facade Pattern?
Adapter Pattern? Summary?
pp. 578-609
Final Exam info

Course Outcomes
3 Review  
11 Final Exam
TBA