The table below gives the planned syllabus for the course.
This syllabus is subject to change. When it becomes necessary to
revise the schedule, then this page will be updated to reflect
the changes.
Dates |
Topics |
Exercise or homework due |
Readings |
Optional Readings |
Aug. 23 |
Introduction |
|
Handouts, Course Web Site |
[Booch94] Ch. 1-2,
[Budd02] Ch. 1,
[Cox-Novobilski91] Ch. 1-3,
[Meyer97] Ch. 1-2,
[Shalloway-Trott02] 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
|
[Walrath-Campione99] Ch 1.
|
Aug. 30 |
Running Java |
|
Running Java web page
|
[Walrath-Campione99] Ch 1.
|
Sep. 1 |
Exception Handling |
Exercise 1 |
[Arnold-Gosling-Holmes00] Ch. 8
|
|
Sep. 3 |
Objects and Classes
(Calculator
example code,
other example code)
|
Homework 1 |
[Arnold-Gosling-Holmes00] Ch. 1-2
|
[Booch94] Ch. 3,
[Budd02] Ch. 2-7,
[Cox-Novobilski91] Ch. 4,
[Liskov01] Ch. 1-2 and 5,
[Meyer97] Ch. 3-8,
[Reil96] Ch. 2
|
Sep. 6 |
No class (university holiday) |
|
|
|
Sep. 8 |
Objects and Classes
(Calculator
example code,
other example code)
|
|
[Arnold-Gosling-Holmes00] Ch. 1-2
|
[Booch94] Ch. 3,
[Budd02] Ch. 2-7,
[Cox-Novobilski91] Ch. 4,
[Liskov01] Ch. 1-2 and 5,
[Meyer97] Ch. 3-8,
[Reil96] Ch. 2
|
Sep. 10 |
Objects and Classes
(Calculator
example code,
other example code)
|
Homework 2
|
[Arnold-Gosling-Holmes00] Ch. 1-2
|
[Booch94] Ch. 3,
[Budd02] Ch. 2-7,
[Cox-Novobilski91] Ch. 4,
[Liskov01] Ch. 1-2 and 5,
[Meyer97] Ch. 3-8,
[Reil96] Ch. 2
|
Sep. 13 |
Objects and Classes
(Calculator
example code,
other example code)
|
|
[Arnold-Gosling-Holmes00] Ch. 1-2
|
[Booch94] Ch. 3,
[Budd02] Ch. 2-7,
[Cox-Novobilski91] Ch. 4,
[Liskov01] Ch. 1-2 and 5,
[Meyer97] Ch. 3-8,
[Reil96] Ch. 2
|
Sep. 15 |
Inheritance and Polymorphism
(examples
and the
Calculator example)
|
Exercise 2
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Walrath-Campione99]
|
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16,
[Reil96] Ch. 5
|
Sep. 17 |
Inheritance and Polymorphism
(examples
and the
Calculator example),
Patterns using polymorphism
|
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Larman01] Sec. 16.3-4, 22.1, 23.4, 34.12,
[Shalloway-Trott02] Ch. 16, 18,
[Walrath-Campione99]
|
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Gamma-etal95] pp. 127-134 and 325-330,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16
[Reil96] Ch. 5
|
Sep. 17 |
Review for Exam 1 |
Homework 3 problem 1a,
(Exam study guide)
|
[Arnold-Gosling-Holmes00] Ch. 1-4,
[Walrath-Campione99]
|
[Booch94] Ch. 1-4,
[Budd02] Ch. 1-10,
[Cox-Novobilski91] Ch. 1-6,
[Liskov01] Ch. 1-2, 5, and 7,
[Meyer97] Ch. 1-6 and 14-16
[Reil96] Ch. 1-2 and 5
|
Sep. 20 |
Exam 1 |
|
[Reil96] Ch. 1-2 and 5,
[Walrath-Campione99]
|
[Arnold-Gosling-Holmes00] Ch. 1-4,
[Booch94] Ch. 1-4,
[Budd02] Ch. 1-10,
[Cox-Novobilski91] Ch. 1-6,
[Liskov01] Ch. 1-2, 5, and 7,
[Meyer97] Ch. 1-6 and 14-16
|
Sep. 22-24 |
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)
|
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Shalloway-Trott02] Ch. 17,
[Walrath-Campione99]
|
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Gamma-etal95] pp. 293-303,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16
[Reil96] Ch. 5
|
Sep. 29 |
Inheritance and Polymorphism
(
examples and the
Calculator example)
|
Exercise 4,
Homework 5 problem 1
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Shalloway-Trott02] Ch. 17,
[Walrath-Campione99]
|
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Gamma-etal95] pp. 293-303,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16,
[Reil96] Ch. 5
|
Oct. 1 |
Inheritance and Polymorphism
(
examples and the
Calculator example)
|
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Shalloway-Trott02] Ch. 17,
[Walrath-Campione99]
|
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Gamma-etal95] pp. 293-303,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16,
[Reil96] Ch. 5
|
Oct. 4 |
Inheritance and Polymorphism
(
examples and the
Calculator example)
|
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Shalloway-Trott02] Ch. 17,
[Walrath-Campione99]
|
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Gamma-etal95] pp. 293-303,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16,
[Reil96] Ch. 5
|
Oct. 4 |
Course Review and Planning |
|
|
|
Oct. 4 |
OOAD Overview |
|
[Larman01] Ch. 1-3 |
[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Fowler00] Ch. 1-2,
[Liskov01] Ch. 13,
[Meyer97] Ch. 27,
[Shalloway-Trott02] Ch. 1
|
Oct. 6 |
OOAD Overview |
Homework 4
|
[Larman01] Ch. 1-3 |
[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Fowler00] Ch. 1-2,
[Liskov01] Ch. 13,
[Meyer97] Ch. 27,
[Shalloway-Trott02] 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 |
Use-Case 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 |
Use-Case 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 |
Use-Case 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. 1-3,
[Larman01] Ch. 1-7
|
[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. 1-3,
[Larman01] Ch. 1-7
|
[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. 13-20 |
[Fowler00] Ch. 5 and pages 104-106,
[Liskov01] Ch. 14,
[Reil96] Ch. 2-3,
[Wirfs-Brock-Wilkerson89]
|
Nov. 5 |
Basic OO Design |
Homework 8, prob 1 |
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 13-20 |
[Fowler00] Ch. 5 and pages 104-106,
[Liskov01] Ch. 14,
[Reil96] Ch. 2-3,
[Wirfs-Brock-Wilkerson89]
|
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. 13-20 |
[Fowler00] Ch. 5 and pages 104-106,
[Liskov01] Ch. 14,
[Reil96] Ch. 2-3,
[Wirfs-Brock-Wilkerson89]
|
Nov. 12 |
Course Review and Planning |
|
|
|
Nov. 12 |
Basic OO Design |
HW 8, prob 3 |
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 13-20 |
[Fowler00] Ch. 5 and pages 104-106,
[Liskov01] Ch. 14,
[Reil96] Ch. 2-3,
[Wirfs-Brock-Wilkerson89]
|
Nov. 15 |
Basic OO Design |
Exercise 13 |
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 13-20 |
[Fowler00] Ch. 5 and pages 104-106,
[Liskov01] Ch. 14,
[Reil96] Ch. 2-3,
[Wirfs-Brock-Wilkerson89]
|
Nov. 17 |
Design by Contract with JML and JUnit |
Exercise 14
and the
HistoricalData.java file
|
[Beck-Gamma98],
[Leavens-Cheon03]
|
[Fowler00] pages 62-65,
[Leavens-Baker-Ruby03]
[Liskov01] Ch. 3-5 and 12,
[Meyer97] Ch. 11,
[Mitchell-McKim02]
|
Nov. 19 |
Design by Contract with JML and JUnit |
HW 8, prob 4, parts a-c |
[Beck-Gamma98],
[Leavens-Cheon03]
|
[Fowler00] pages 62-65,
[Leavens-Baker-Ruby03]
[Liskov01] Ch. 3-5 and 12,
[Meyer97] Ch. 11,
[Mitchell-McKim02]
|
Nov. 22-26 |
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. 10-20 |
[Fowler00] Ch. 5 and pages 104-106,
[Liskov01] Ch. 14,
[Reil96] Ch. 2-4 and 7,
[Wirfs-Brock-Wilkerson89]
|
Dec. 3 |
Exam 3 |
|
[Fowler00] Ch. 4 and 11,
[Larman01] Ch. 10-20 |
[Fowler00] Ch. 5 and pages 104-106,
[Liskov01] Ch. 14,
[Reil96] Ch. 2-4 and 7,
[Wirfs-Brock-Wilkerson89]
|
Dec. 6 |
Designing Use-Case Realizations with GoF Design Patterns |
|
[Larman01] Ch. 23 |
[Gamma-etal95],
[Liskov01] Ch. 15
|
Dec. 8 |
Designing Use-Case Realizations with GoF Design Patterns |
|
[Larman01] Ch. 23 |
[Gamma-etal95],
[Liskov01] Ch. 15
|
Dec. 10 |
Designing Use-Case Realizations with GoF Design Patterns |
HW 9, prob 1 |
[Larman01] Ch. 23 |
[Gamma-etal95],
[Liskov01] Ch. 15
|
Dec. 10 |
Design Patterns: Template Method, State, Command, Visitor, Decorator |
|
[Gamma-etal95] |
[Larman01] Ch. 34 |
Dec. 10 |
Course Summary and Review |
|
|
|
Dec. 10 |
Course Evaluations |
|
|
|
December 16 (Thurs.), 9:45-11:45 a.m. |
Team Design Presentations |
Homework 10 |
|
|
This web page is for the Fall 2004 offering of Com S 362
at Iowa State University. The details of this course are subject to
change as experience dictates. Students will be informed of any changes.
Please direct any comments or questions to the
course staff.