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. 25 |
Introduction |
|
Handouts, Course Web Site |
|
Aug. 27 |
Running Java |
Exercise 1 |
Running Java web page
|
[Walrath-Campione99] Ch 1.
|
Aug. 29 |
Exception Handling |
Exercise 2 |
[Arnold-Gosling-Holmes00] Ch. 8
|
|
Sep. 1 |
No class (university holiday) |
|
|
|
Sep. 3 |
Exception Handling |
(Exercise 2) |
[Arnold-Gosling-Holmes00] Ch. 8
|
|
Sep. 3 |
Object-Orientation |
|
[Reil96] Ch. 1
|
[Booch94] Ch. 1-2,
[Budd02] Ch. 1,
[Cox-Novobilski91] Ch. 1-3,
[Meyer97] Ch. 1-2
|
Sep. 3-5 |
Objects and Classes
(Calculator
example code,
other example code)
|
Exercise 3 |
[Arnold-Gosling-Holmes00] Ch. 1-2,
[Reil96] Ch. 2
|
[Booch94] Ch. 3,
[Budd02] Ch. 2-7,
[Cox-Novobilski91] Ch. 4,
[Liskov01] Ch. 1-2 and 5,
[Meyer97] Ch. 3-8
|
Sep. 5-8 |
Objects and Classes
(Calculator
example code,
other example code)
|
|
[Arnold-Gosling-Holmes00] Ch. 1-2,
[Reil96] Ch. 2
|
[Booch94] Ch. 3,
[Budd02] Ch. 2-7,
[Cox-Novobilski91] Ch. 4,
[Liskov01] Ch. 1-2 and 5,
[Meyer97] Ch. 3-8
|
Sep. 8-10 |
Objects and Classes
(Calculator
example code,
other example code)
|
Exercise 4,
HW 1
|
[Arnold-Gosling-Holmes00] Ch. 1-2,
[Reil96] Ch. 2
|
[Booch94] Ch. 3,
[Budd02] Ch. 2-7,
[Cox-Novobilski91] Ch. 4,
[Liskov01] Ch. 1-2 and 5,
[Meyer97] Ch. 3-8
|
Sep. 12 |
Inheritance and Polymorphism
(examples
and the
Calculator example)
|
Exercise 5 |
[Reil96] Ch. 5,
[Walrath-Campione99]
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16
|
Sep. 15 |
Inheritance and Polymorphism
(examples
and the
Calculator example)
|
HW 2
|
[Reil96] Ch. 5,
[Walrath-Campione99]
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16
|
Sep. 17 |
Inheritance and Polymorphism
(examples
and the
Calculator example),
Patterns using polymorphism
|
Exercise 6 |
[Gamma-etal95] pp. 127-134 and 325-330,
[Larman01] Sec. 16.3-4, 22.1, 23.4, 34.12,
[Reil96] Ch. 5,
[Walrath-Campione99],
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16
|
Sep. 19 |
Review for Exam 1 |
(Exam study guide),
HW 3 problem 1a
|
[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 |
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. 24-26 |
Presentations of project
inceptions (hw2) |
HW 3
|
[Larman01] Ch. 4 |
Student project visions |
Sep. 26 |
Form teams |
|
|
|
Sep. 29-Oct. 1 |
Inheritance and Polymorphism
(
examples and the
Calculator example)
|
Exercise on
Observer Pattern,
HW 5 problem 1
|
[Reil96] Ch. 5,
[Walrath-Campione99]
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Horstmann-Cornell01], Ch. 4-9,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16
|
Oct. 3 |
Course Review and Planning |
|
|
|
Oct. 3 |
OOAD Overview |
Exercise 8 |
[Larman01] Ch. 1-3 |
[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Fowler00] Ch. 1-2,
[Liskov01] Ch. 13,
[Meyer97] Ch. 27
|
Oct. 6 |
Inception Phase |
HW 4 |
[Larman01] Ch. 4 |
StickSync project documents
|
Oct. 8 |
Understanding Requirements |
Exercise 9
|
[Larman01] Ch. 5
|
[Liskov01] Ch. 11,
[Meyer97] Ch. 27
|
Oct. 8 |
Use-Case Model: Writing Requirements in Context |
|
[Fowler00] Ch. 3,
[Larman01] Ch. 6,
|
|
Oct. 10 |
Use-Case Model: Writing Requirements in Context |
Exercise 10 |
[Fowler00] Ch. 3,
[Larman01] Ch. 6,
|
|
Oct. 13 |
Team work on requirements (hw5) |
|
[Larman01] Ch. 4 |
|
Oct. 15 |
Use-Case Model: Writing Requirements in Context |
HW 5 |
[Fowler00] Ch. 3,
[Larman01] Ch. 6,
|
|
Oct. 15-17 |
Identifying Other Requirements |
|
[Larman01] Ch. 7 |
|
Oct. 17 |
Course Review and Planning |
|
|
|
Oct. 17 |
From Inception to Elaboration |
|
[Larman01] Ch. 8 |
|
Oct. 17 |
Use-Case Model: Drawing System Sequence Diagrams |
Exercise 11 |
[Fowler00] Ch. 5,
[Larman01] Ch. 9
|
[Larman01] Ch. 13,
[Meyer97] Ch. 27
|
Oct. 20 |
Domain Model: Visualizing Concepts |
HW 6 |
[Fowler00] Ch. 4,
[Larman01] Ch. 10 |
|
Oct. 22 |
Domain Model: Adding Associations |
Exercise 12 |
[Fowler00] Ch. 4,
[Larman01] Ch. 11 |
[Reil96] Ch. 4 and 7
|
Oct. 24 |
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
|
Oct. 27 |
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
|
Oct. 29 |
Domain Model: Adding Associations |
|
[Fowler00] Ch. 4,
[Larman01] Ch. 11 |
[Reil96] Ch. 4 and 7
|
Oct. 29 |
Domain Model: Adding Atributes |
Exercise 13 |
[Fowler00] Ch. 4,
[Larman01] Ch. 12 |
[Reil96] Ch. 4
|
Oct. 31 |
Course Review and Planning |
|
|
|
Oct. 31 |
Domain Model: Adding Atributes |
HW 8, prob 1 |
[Fowler00] Ch. 4,
[Larman01] Ch. 12 |
[Reil96] Ch. 4
|
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 |
Exercise 14 |
[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. 7 |
Team work on designs (hw8) |
|
|
|
Nov. 10 |
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. 12 |
Basic OO Design |
Exercise 15 |
[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. 14 |
Basic OO Design |
Exercise 15 |
[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 |
HW 8, prob 4 |
[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 |
Exercise 16
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. 21 |
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]
|
Nov. 24-28 |
Thanksgiving Break, no class |
|
|
|
Dec. 1 |
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. 3 |
Course Review and Planning |
|
|
|
Dec. 3 |
GRASP: More Patterns for Assigning Responsibilities |
Exercise 17 |
[Larman01] Ch. 22 |
[Larman01] Ch. 21,
[Reil96] Ch. 3
|
Dec. 5 |
Designing Use-Case Realizations with GoF Design Patterns |
Exercise 18 |
[Larman01] Ch. 23 |
[Gamma-etal95],
[Liskov01] Ch. 15
|
Dec. 8 |
Designing Use-Case Realizations with GoF Design Patterns |
HW 9, prob 1 |
[Larman01] Ch. 23 |
[Gamma-etal95],
[Liskov01] Ch. 15
|
Dec. 10 |
Designing Use-Case Realizations with GoF Design Patterns |
|
[Larman01] Ch. 23 |
[Gamma-etal95],
[Liskov01] Ch. 15
|
Dec. 10 |
Design Patterns: Template Method, State, Command, Visitor, Decorator |
|
[Gamma-etal95] |
[Larman01] Ch. 34 |
Dec. 12 |
Course Summary and Review |
HW 9, prob 2 |
|
|
Dec. 12 |
Course Evaluations |
|
|
|
December 16 (Tues.), 9:45-11:45 a.m. |
Team Design Presentations |
Homework 10 |
|
|
This web page is for the Fall 2003 offering of Com S 362
at Iowa State University. The details of this course are subject to
change as experience dictates. You will be informed of any changes.
Please direct any comments or questions to Gary T. Leavens at
leavens@cs-DOT-iastate-DOT-edu (after replacing -DOT- with `.').