Dates 
Topics 
Exercise or homework due 
Readings 
Optional Readings 
Aug. 23 
Introduction 

Handouts, Course Web Site 
[Booch94] Ch. 12,
[Budd02] Ch. 1,
[CoxNovobilski91] Ch. 13,
[Meyer97] Ch. 12,
[ShallowayTrott02] Ch. 1 
Aug. 25 
Introduction 

[Larman01] Ch. 1,

[Fowler00] Ch. 1 
Aug. 27 
Introduction 
Exercise 0 
[Larman01] Ch. 1,
consensus requirements,
revised objectives

[Fowler00] Ch. 1 
Aug. 27 
Running Java 

Running Java web page

[WalrathCampione99] Ch 1.

Aug. 30 
Running Java 

Running Java web page

[WalrathCampione99] Ch 1.

Sep. 1 
Exception Handling 
Exercise 1 
[ArnoldGoslingHolmes00] Ch. 8


Sep. 3 
Objects and Classes
(Calculator
example code,
other example code)

Homework 1 
[ArnoldGoslingHolmes00] Ch. 12

[Booch94] Ch. 3,
[Budd02] Ch. 27,
[CoxNovobilski91] Ch. 4,
[Liskov01] Ch. 12 and 5,
[Meyer97] Ch. 38,
[Reil96] Ch. 2

Sep. 6 
No class (university holiday) 



Sep. 8 
Objects and Classes
(Calculator
example code,
other example code)


[ArnoldGoslingHolmes00] Ch. 12

[Booch94] Ch. 3,
[Budd02] Ch. 27,
[CoxNovobilski91] Ch. 4,
[Liskov01] Ch. 12 and 5,
[Meyer97] Ch. 38,
[Reil96] Ch. 2

Sep. 10 
Objects and Classes
(Calculator
example code,
other example code)

Homework 2

[ArnoldGoslingHolmes00] Ch. 12

[Booch94] Ch. 3,
[Budd02] Ch. 27,
[CoxNovobilski91] Ch. 4,
[Liskov01] Ch. 12 and 5,
[Meyer97] Ch. 38,
[Reil96] Ch. 2

Sep. 13 
Objects and Classes
(Calculator
example code,
other example code)


[ArnoldGoslingHolmes00] Ch. 12

[Booch94] Ch. 3,
[Budd02] Ch. 27,
[CoxNovobilski91] Ch. 4,
[Liskov01] Ch. 12 and 5,
[Meyer97] Ch. 38,
[Reil96] Ch. 2

Sep. 15 
Inheritance and Polymorphism
(examples
and the
Calculator example)

Exercise 2

[ArnoldGoslingHolmes00] Ch. 34,
[WalrathCampione99]

[Booch94] Ch. 4,
[Budd02] Ch. 810,
[CoxNovobilski91] Ch. 56,
[HorstmannCornell01], Ch. 49,
[Liskov01] Ch. 7,
[Meyer97] Ch. 1416,
[Reil96] Ch. 5

Sep. 17 
Inheritance and Polymorphism
(examples
and the
Calculator example),
Patterns using polymorphism


[ArnoldGoslingHolmes00] Ch. 34,
[Larman01] Sec. 16.34, 22.1, 23.4, 34.12,
[ShallowayTrott02] Ch. 16, 18,
[WalrathCampione99]

[Booch94] Ch. 4,
[Budd02] Ch. 810,
[CoxNovobilski91] Ch. 56,
[Gammaetal95] pp. 127134 and 325330,
[HorstmannCornell01], Ch. 49,
[Liskov01] Ch. 7,
[Meyer97] Ch. 1416
[Reil96] Ch. 5

Sep. 17 
Review for Exam 1 
Homework 3 problem 1a,
(Exam study guide)

[ArnoldGoslingHolmes00] Ch. 14,
[WalrathCampione99]

[Booch94] Ch. 14,
[Budd02] Ch. 110,
[CoxNovobilski91] Ch. 16,
[Liskov01] Ch. 12, 5, and 7,
[Meyer97] Ch. 16 and 1416
[Reil96] Ch. 12 and 5

Sep. 20 
Exam 1 

[Reil96] Ch. 12 and 5,
[WalrathCampione99]

[ArnoldGoslingHolmes00] Ch. 14,
[Booch94] Ch. 14,
[Budd02] Ch. 110,
[CoxNovobilski91] Ch. 16,
[Liskov01] Ch. 12, 5, and 7,
[Meyer97] Ch. 16 and 1416

Sep. 2224 
Presentations of project
inceptions (hw2) 
Homework 3

[Larman01] Ch. 4 
Student project visions 
Sep. 24 
Form teams 



Sep. 27 
Inheritance and Polymorphism
(
examples and the
Calculator example)


[ArnoldGoslingHolmes00] Ch. 34,
[ShallowayTrott02] Ch. 17,
[WalrathCampione99]

[Booch94] Ch. 4,
[Budd02] Ch. 810,
[CoxNovobilski91] Ch. 56,
[Gammaetal95] pp. 293303,
[HorstmannCornell01], Ch. 49,
[Liskov01] Ch. 7,
[Meyer97] Ch. 1416
[Reil96] Ch. 5

Sep. 29 
Inheritance and Polymorphism
(
examples and the
Calculator example)

Exercise 4,
Homework 5 problem 1

[ArnoldGoslingHolmes00] Ch. 34,
[ShallowayTrott02] Ch. 17,
[WalrathCampione99]

[Booch94] Ch. 4,
[Budd02] Ch. 810,
[CoxNovobilski91] Ch. 56,
[Gammaetal95] pp. 293303,
[HorstmannCornell01], Ch. 49,
[Liskov01] Ch. 7,
[Meyer97] Ch. 1416,
[Reil96] Ch. 5

Oct. 1 
Inheritance and Polymorphism
(
examples and the
Calculator example)


[ArnoldGoslingHolmes00] Ch. 34,
[ShallowayTrott02] Ch. 17,
[WalrathCampione99]

[Booch94] Ch. 4,
[Budd02] Ch. 810,
[CoxNovobilski91] Ch. 56,
[Gammaetal95] pp. 293303,
[HorstmannCornell01], Ch. 49,
[Liskov01] Ch. 7,
[Meyer97] Ch. 1416,
[Reil96] Ch. 5

Oct. 4 
Inheritance and Polymorphism
(
examples and the
Calculator example)


[ArnoldGoslingHolmes00] Ch. 34,
[ShallowayTrott02] Ch. 17,
[WalrathCampione99]

[Booch94] Ch. 4,
[Budd02] Ch. 810,
[CoxNovobilski91] Ch. 56,
[Gammaetal95] pp. 293303,
[HorstmannCornell01], Ch. 49,
[Liskov01] Ch. 7,
[Meyer97] Ch. 1416,
[Reil96] Ch. 5

Oct. 4 
Course Review and Planning 



Oct. 4 
OOAD Overview 

[Larman01] Ch. 13 
[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Fowler00] Ch. 12,
[Liskov01] Ch. 13,
[Meyer97] Ch. 27,
[ShallowayTrott02] Ch. 1

Oct. 6 
OOAD Overview 
Homework 4

[Larman01] Ch. 13 
[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Fowler00] Ch. 12,
[Liskov01] Ch. 13,
[Meyer97] Ch. 27,
[ShallowayTrott02] Ch. 1

Oct. 8 
Inception Phase 

[Larman01] Ch. 4 
StickSync project documents

Oct. 8 
Understanding Requirements 
Exercise 6 
[Larman01] Ch. 5

[Liskov01] Ch. 11,
[Meyer97] Ch. 27

Oct. 11 
UseCase Model: Writing Requirements in Context 
Exercise 7 
[Fowler00] Ch. 3,
[Larman01] Ch. 6,


Oct. 13 
Team work on requirements (hw5) 

[Fowler00] Ch. 3,
[Larman01] Ch. 4, 6


Oct. 15 
UseCase Model: Writing Requirements in Context 
Homework 5 
[Fowler00] Ch. 3,
[Larman01] Ch. 6,


Oct. 18 
Identifying Other Requirements 
Exercise 8 
[Larman01] Ch. 7 

Oct. 18 
Course Review and Planning 



Oct. 18 
From Inception to Elaboration 

[Larman01] Ch. 8 

Oct. 20 
UseCase Model: Drawing System Sequence Diagrams 
Exercise 9 
[Fowler00] Ch. 5,
[Larman01] Ch. 9

[Larman01] Ch. 13,
[Meyer97] Ch. 27

Oct. 22 
Domain Model: Visualizing Concepts 
HW 6 
[Fowler00] Ch. 4,
[Larman01] Ch. 10 

Oct. 25 
Domain Model: Adding Associations 
Exercise 10 
[Fowler00] Ch. 4,
[Larman01] Ch. 11 
[Reil96] Ch. 4 and 7

Oct. 27 
Domain Model: Adding Atributes 
Exercise 11 
[Fowler00] Ch. 4,
[Larman01] Ch. 12 
[Reil96] Ch. 4

Oct. 29 
Review for Exam 2 
(Exam study guide) 
[Fowler00] Ch. 13,
[Larman01] Ch. 17

[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Liskov01] Ch. 11 and 13,
[Meyer97] Ch. 27,
StickSync project documents

Nov. 1 
Exam 2 

[Fowler00] Ch. 13,
[Larman01] Ch. 17

[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Liskov01] Ch. 11 and 13,
[Meyer97] Ch. 27,
StickSync project documents

Nov. 3 
Basic OO Design 
HW 7 
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 1320 
[Fowler00] Ch. 5 and pages 104106,
[Liskov01] Ch. 14,
[Reil96] Ch. 23,
[WirfsBrockWilkerson89]

Nov. 5 
Basic OO Design 
Homework 8, prob 1 
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 1320 
[Fowler00] Ch. 5 and pages 104106,
[Liskov01] Ch. 14,
[Reil96] Ch. 23,
[WirfsBrockWilkerson89]

Nov. 8 
Course Review and Planning 



Nov. 8 
Team work on designs (hw8) 



Nov. 10 
Basic OO Design 
Exercise 12 
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 1320 
[Fowler00] Ch. 5 and pages 104106,
[Liskov01] Ch. 14,
[Reil96] Ch. 23,
[WirfsBrockWilkerson89]

Nov. 12 
Course Review and Planning 



Nov. 12 
Basic OO Design 
HW 8, prob 3 
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 1320 
[Fowler00] Ch. 5 and pages 104106,
[Liskov01] Ch. 14,
[Reil96] Ch. 23,
[WirfsBrockWilkerson89]

Nov. 15 
Basic OO Design 
Exercise 13 
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 1320 
[Fowler00] Ch. 5 and pages 104106,
[Liskov01] Ch. 14,
[Reil96] Ch. 23,
[WirfsBrockWilkerson89]

Nov. 17 
Design by Contract with JML and JUnit 
Exercise 14
and the
HistoricalData.java file

[BeckGamma98],
[LeavensCheon03]

[Fowler00] pages 6265,
[LeavensBakerRuby03]
[Liskov01] Ch. 35 and 12,
[Meyer97] Ch. 11,
[MitchellMcKim02]

Nov. 19 
Design by Contract with JML and JUnit 
HW 8, prob 4, parts ac 
[BeckGamma98],
[LeavensCheon03]

[Fowler00] pages 6265,
[LeavensBakerRuby03]
[Liskov01] Ch. 35 and 12,
[Meyer97] Ch. 11,
[MitchellMcKim02]

Nov. 2226 
Thanksgiving Break, no class 



Nov. 29 
GRASP: More Patterns for Assigning Responsibilities 
HW 8, prob 4, part d 
[Larman01] Ch. 22 
[Larman01] Ch. 21,
[Reil96] Ch. 3

Dec. 1 
Review for Exam 3 
(Exam study guide) 
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 1020 
[Fowler00] Ch. 5 and pages 104106,
[Liskov01] Ch. 14,
[Reil96] Ch. 24 and 7,
[WirfsBrockWilkerson89]

Dec. 3 
Exam 3 

[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 1020 
[Fowler00] Ch. 5 and pages 104106,
[Liskov01] Ch. 14,
[Reil96] Ch. 24 and 7,
[WirfsBrockWilkerson89]

Dec. 6 
Designing UseCase Realizations with GoF Design Patterns 

[Larman01] Ch. 23 
[Gammaetal95],
[Liskov01] Ch. 15

Dec. 8 
Designing UseCase Realizations with GoF Design Patterns 

[Larman01] Ch. 23 
[Gammaetal95],
[Liskov01] Ch. 15

Dec. 10 
Designing UseCase Realizations with GoF Design Patterns 
HW 9, prob 1 
[Larman01] Ch. 23 
[Gammaetal95],
[Liskov01] Ch. 15

Dec. 10 
Design Patterns: Template Method, State, Command, Visitor, Decorator 

[Gammaetal95] 
[Larman01] Ch. 34 
Dec. 10 
Course Summary and Review 



Dec. 10 
Course Evaluations 



December 16 (Thurs.), 9:4511:45 a.m. 
Team Design Presentations 
Homework 10 

