CS4233-A04 Class Schedule

The following table shows the class schedule, the topics for the classes, and whether there are assignments or readings. If there are assignments or readings, the details can be found in the class notes pages for that class. The class notes pages may be accessed here. You will know when an assignment has been assigned by the presence of a due date in that column. All assignments are due by class time on the due date. Reading assignments that refer simply to chapters or sections are assumed to be in the course textbook. Assignments will either be turned in electronically, through the turnin facility, or brought to class. If there is no turnin instruction with the assignment due date, you should bring a printed copy of your assignment to class.

Date
Topics
Assignment (Date due)
Reading
8-26
Course overview, O-O and Java
Chapter 1
8-27
Packages, copies, collections, introduction to the project

31-Aug-2004

 
8-30
Analysis and the analysis model
Sections 2.1-2.4
8-31
Use-case analysis, Finding objects

2-Sep-2004

/cs/bin/turnin submit cs4233 hw2 homework2.{doc,txt,pdf}

Sections 2.5-2.10
9-2
Class relationships

7-Sep-2004

Create a class diagram that models the static relationship between the elements of this course. This should include classes, or interfaces, for: student, professor, homework, test, project, and other things that make sense. Use the class notes thus far, especially the course overview, to get ideas for classes.
You should show the static relationships that you think are necessary in order to completely describe the model of this course.
Print out your diagram, make sure your name is on it.

Section 2.12
9-3
JUnit review  

Sections 3.1-3.3

Test before you code

9-7
Dynamic relationships   Sections 3.4-3.7
9-9
Representing state

13-Sep-2004

Use the VP-UML model that I've put on myWPI in the Course Documents section, called "Voice Mail System.vpp" and add a sequence diagram for the Retrieve a message scenario.

/cs/bin/turnin submit cs4233 hw4 homework4.vpp

Sections 5.1-5.3
9-10
Class Design

14-Sep-2004

Do Exercise 3.10 in the text. With this class, provide a set of JUnit tests that exercise all of your code.
Turn in the complete Eclipse project zipped. Your class should be wpi.edu.cs.cs4233.time.TimeOfDay. Your test class(es) should be in the same package.

/cs/bin/turnin submit cs4233 hw5 homework5.zip

 
9-13
Patterns, Delegation   Sections 5.4-5.5
9-14
Iterators

23-Sep-2004

Write a program that implements an iterator over a TreeMap. The iterator should return the objects stored in the TreeMap according to the order they are added to the map, regardless of KeyValue. Make your collection only accept objects of a specific type (I don't care what type, you can just subclass Object to the class TestObject that has no behavior). The iterator should return objects of type TestObject when it gets the next item in the collection.
Write JUnit tests to prove that your code works and submit the zipped Eclipse project using turnin.
turnin cs4233 hw6 homework6.zip

Sections 5.6-5.8
9-16
Threads   Java tutorial Threads
9-17
Observer and Strategy    
9-20
Midterm exam    
9-21
Guest speaker: Robert Martin    
9-23
Midterm postmortem, homework6 clarification, project update (return to start)    
9-24
The Strategy pattern    
9-27
Homework 6 review, Composite pattern    
9-28
Decorator pattern, package dependency metrics

4-Oct-2004

Exercise 5.12. Include JUnit tests for your code. You will be graded on correctness, your tests, and code design and quality (including documentation / comments). Use turnin to submit your zipped Eclipse project..

turnin cs4233 hw7 homework7.zip

Chapter 6, especially sections 6.4-6.6, 6.8-6.9
9-30
Adapter and Template Method patterns    
10-1
Java Beans and Reflection   Chapter 7
10-4
No class    
10-5
Java Beans and Reflection

11-Oct-2004

Extra credit, optional assignment. See myWPI.

 
10-7
Frameworks   Chapter 8
10-8
Frameworks    
10-11
More patterns    
10-12
Final Exam preparation    
10-14
Final exam    

Modified: 11-Oct-2004
Gary Pollice