SE2811
Schedule
This is an old version of this course, from Winter 2016-2017. A newer version is available here.
Day-by day class materials
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
Lab titles and schedule is particularly subject to change, especially the first two labs and the labs near the end of the quarter.
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:
|
Prep reading:
Object
Locking Thread-safe collections |
2 |
Multithreading continued: Thread Synchronization |
|||
3 |
Multithreading continued | |||
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 |
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 pp. 526-560 |
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 |