General Info.
Course Homepage
About Com S 362
Contacting Us
Syllabus
Homework & Grades
Grading Policies
Grades
Homework Directory
Certification Forms
Exams
Reference
Q & A
Meeting outlines
Resources
Running Java
StickSync Project
Links
OO A&D Links
Dept. Homepage
ISU Homepage
|
|
Course Syllabus
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.
The references in the readings are given in the bibliography below.
Dates |
Topics |
Readings |
Optional Readings |
Aug. 26 |
Introduction |
Handouts, Course Web Site |
|
Aug. 28 |
Object-Orientation |
[Reil96] Ch. 1
|
[Booch94] Ch. 1-2,
[Budd02] Ch. 1,
[Cox-Novobilski91] Ch. 1-3,
[Meyer97] Ch. 1-2
|
Aug. 28-30 |
Objects and Classes
(example code)
|
[Reil96] Ch. 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
|
Sept. 2 |
No class (university holiday) |
|
|
Sept. 4-11 |
Inheritance and Polymorphism
(examples
and the
BadStatements example and the
corrected version of the BadStatements example)
|
[Reil96] Ch. 5,
[Walrath-Campione99]
|
[Arnold-Gosling-Holmes00] Ch. 3-4,
[Booch94] Ch. 4,
[Budd02] Ch. 8-10,
[Cox-Novobilski91] Ch. 5-6,
[Liskov01] Ch. 7,
[Meyer97] Ch. 14-16
|
Sept. 13 |
OOAD Overview |
[Larman01] Ch. 1-3 |
[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Fowler00] Ch. 1-2,
[Liskov01] Ch. 13,
[Meyer97] Ch. 27
|
Sept. 13-16 |
Inception Phase |
[Larman01] Ch. 4 |
StickSync project documents
|
Sept. 16 |
Understanding Requirements |
[Larman01] Ch. 5
|
[Liskov01] Ch. 11,
[Meyer97] Ch. 27
|
Sept. 16 |
Use-Case Model: Writing Requirements in Context |
[Fowler00] Ch. 3,
[Larman01] Ch. 6,
|
|
Sept. 18 |
Review for 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
|
Sept. 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
|
Sept. 23 |
Course Review and Planning |
|
|
Sept. 23-25 |
Presentations of project
inceptions (hw2) |
[Larman01] Ch. 4 |
Student project visions |
Sept. 25 |
Form teams |
|
|
Sept. 27-30 |
Use-Case Model: Writing Requirements in Context |
[Fowler00] Ch. 3,
[Larman01] Ch. 6,
|
|
Oct. 2 |
Team work on requirements (hw3) |
[Larman01] Ch. 4 |
|
Oct. 4 |
Identifying Other Requirements |
[Larman01] Ch. 7 |
|
Oct. 7 |
Course Review and Planning |
|
|
Oct. 7 |
From Inception to Elaboration |
[Larman01] Ch. 8 |
|
Oct. 7-9 |
Use-Case Model: Drawing System Sequence Diagrams |
[Fowler00] Ch. 5,
[Larman01] Ch. 9
|
[Larman01] Ch. 13,
[Meyer97] Ch. 27
|
Oct. 11 |
Domain Model: Visualizing Concepts |
[Fowler00] Ch. 4,
[Larman01] Ch. 10 |
|
Oct. 11-14 |
Domain Model: Adding Associations |
[Fowler00] Ch. 4,
[Larman01] Ch. 11 |
[Reil96] Ch. 4 and 7
|
Oct. 14 |
Domain Model: Adding Atributes |
[Fowler00] Ch. 4,
[Larman01] Ch. 12 |
[Reil96] Ch. 4
|
Oct. 14 |
Course Review and Planning |
|
|
Oct. 16 |
Basic OO Design |
[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]
|
Oct. 18 |
Team work on SSDs (hw4) |
[Fowler00] Ch. 5,
[Larman01] Ch. 9 |
|
Oct. 21 |
Review for Exam 2 |
[Fowler00] Ch. 3-5,
[Larman01] Ch. 1-9
|
[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Fowler00] Ch. 1-2,
[Liskov01] Ch. 11 and 13,
[Meyer97] Ch. 27
|
Oct. 23 |
Exam 2 |
[Fowler00] Ch. 3-5,
[Larman01] Ch. 1-9
|
[Beck99],
[Booch94] Ch. 2.1,
[Budd02] Ch. 3,
[Fowler00] Ch. 1-2,
[Liskov01] Ch. 11 and 13,
[Meyer97] Ch. 27
|
Oct. 25-30 |
Basic OO Design |
[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. 1 |
Team work on designs (hw5) |
|
|
Nov. 4-6 |
Design by Contract with JML and JUnit |
[Beck-Gamma98],
[Leavens-Baker-Ruby02]
|
[Fowler00] pages 62-65,
[Liskov01] Ch. 3-5 and 12,
[Meyer97] Ch. 11,
[Mitchell-McKim02]
|
Nov. 8 |
Team work on design or implementation (hw5) |
|
|
Nov. 11 |
Design by Contract with JML and JUnit |
[Beck-Gamma98],
[Leavens-Baker-Ruby02]
|
[Fowler00] pages 62-65,
[Liskov01] Ch. 3-5 and 12,
[Meyer97] Ch. 11,
[Mitchell-McKim02]
|
Nov. 13 |
Basic OO Design |
[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. 13-18 |
GRASP: More Patterns for Assigning Responsibilities |
[Larman01] Ch. 22 |
[Larman01] Ch. 21,
[Reil96] Ch. 3
|
Nov. 18 |
Designing Use-Case Realizations with GoF Design Patterns |
[Larman01] Ch. 23 |
[Gamma-etal95],
[Liskov01] Ch. 15
|
Nov. 20 |
Review for 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]
|
Nov. 22 |
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]
|
Nov. 25-Nov. 29 |
Thanksgiving Break, no class |
|
|
Dec. 2 |
Course Review and Planning |
|
|
Dec. 2-4 |
Designing Use-Case Realizations with GoF Design Patterns |
[Larman01] Ch. 23 |
[Gamma-etal95],
[Liskov01] Ch. 15
|
Dec. 6-9 |
Team work on designs (hw6) |
|
|
Dec. 11 |
Design Patterns: Template Method, State, Command, Visitor, Decorator |
[Gamma-etal95] |
[Larman01] Ch. 34 |
Dec. 13 |
Course Summary and Review |
|
|
Dec. 13 |
Course Evaluations |
|
|
Dec. 16 (Mon.), 9:45-11:45 a.m. |
Team Design Presentations |
|
|
Return to top
- [Arnold-Gosling-Holmes00]
-
Ken Arnold and James Gosling and David Holmes.
The Java Programming Language Third Edition.
Addison-Wesley, Reading, Mass., 2000.
- [Beck99]
-
Kent Beck.
Extreme Programming Explained: Embrace Change.
Addison-Wesley, Boston, Mass, 1999.
- [Beck-Gamma98]
-
Kent Beck and Erich Gamma.
Test Infected: Programmers Love Writing Tests.
Java Report, 3(7):37-50, 1998.
Online at:
http://junit.sourceforge.net/doc/testinfected/testing.htm
- [Booch94]
-
Grady Booch.
Object-Oriented Design: With Applications, Second Edition.
Benjamin Cummings, New York, N.Y., 1994.
- [Budd02]
-
Timothy Budd.
An Introduction to Object-oriented Programming, Third edition.
Addison-Wesley, Boston, Mass, 2002.
- [Cox-Novobilski91]
-
Brad J. Cox and Andrew J. Novobilski.
Object Oriented Programming: an Evolutionary Approach,
Second edition.
Addison-Wesley, Reading, Mass, 1991.
- [Fowler00]
-
Martin Fowler with Kendall Scott.
UML Distilled Second Edition: A Brief Guide to the
Standard Object Modeling Language.
Addison-Wesley Longman, Inc., Reading, MA, 2000. ISBN 020165783X.
- [Gamma-etal95]
-
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
Design Patterns: Elements of Reusable Object-Oriented
Software.
Addison-Wesley, Boston, MA, 1995. ISBN 0201633612.
- [Larman01]
-
Craig Larman.
Applying UML and Patterns:
An Introduction to Object-Oriented Analysis and Design and the
Unified Process, Second Edition.
Prentice Hall PTR, Upper Saddle River, NJ, 2001. ISBN 0130925691.
- [Leavens-Baker-Ruby02]
-
Gary T. Leavens, and Albert L. Baker, and Clyde Ruby.
Preliminary Design of JML: A Behavioral Interface Specification Language for Java.
Iowa State University, Department of Computer Science,
TR98-06s, June 1998, revised October 2002.
[Postscript]
[PDF]
- [Liskov01]
-
Barbara Liskov with John Guttag.
Program Development in Java.
Addison-Wesley, Boston, Mass, 2001.
- [Meyer90]
-
Bertrand Meyer.
Lessons from the Design of the Eiffel Libraries.
Comm. ACM, 33(9):69-88 (Sept., 1990).
- [Meyer97]
-
Bertrand Meyer.
Object-oriented Software Construction, Second edition.
Prentice Hall, New York, NY, 1997.
- [Mitchell-McKim02]
-
Richard Mitchell and Jim McKim.
Design by Contract by Example.
Addison-Wesley, 2002.
- [Reil96]
-
Arthur J. Reil.
Object-Oriented Design Heuristics.
Addison-Wesley, Reading, MA, 1996. ISBN 020163385X.
- [Walrath-Campione99]
-
Kathy Walrath and Mary Campione.
The JFC Swing Tutorial: A Guide to Constructing GUIs.
Addison-Wesley, Reading, MA, 1999.
Online at:
http://java.sun.com/docs/books/tutorial/uiswing/index.html
- [Wirfs-Brock-Wilkerson89]
-
Rebecca Wirfs-Brock and Brian Wilkerson.
Object-Oriented Design: A Responsibility-Driven Approach.
OOPSLA '89 Conference Proceedings, Norman Meyerowitz
(editor),
ACM SIGPLAN Notices, 24(10):71-75, Oct. 1989.
Return to top
Old Syllabi
Below are links to syllabi from previous offerings of this
course.
Return to top
Course Content and Policies
The course's content
and grading policy
are described on separate web pages. See the links on the top
left of this page.
Return to top
Last modified Saturday, February 8, 2003.
|