![]() |
![]() Second Summer 2003 In which we survey the rest of the BlueJ book.
|
A. Foundations of Object Orientation.Here's a brief run-down of the first part (Foundations):
B. Application Structures.
1. Objects and ClassesThat was what we did already, here's the new part now:
2. Understanding Class Definitions
3. Object Interaction
4. Grouping Objects
5. More Sophisticated BehaviourAnd here's the scoop on the second part (Applications):
6. Well-Behaved Objects
7. Designing Classes
8. Improving Structure with InheritanceWe're now focusing our attention on chapters 5-14.
9. More About Inheritance
10. Further Abstraction Techniques
11. Handling Errors
12. Designing Applications
13. A Case-Study
14. Wrapping Things Up
From these we will be selecting 4 projects.
You will have to choose two of them as your Homework Assignments 4 and 5.
So let's get started.
Chapter 5. More sophisticated behaviour.
The
first project discussed is the
TechSupport
system.
Here's the README.TXT
file.
Here are the other three files:
You are to put a tutorial together on these three files.
What they do, how you use them, how you'd design them.
The book describes this project on its pp. 105-134.
There is a second project, described in pp. 134-141.
Here's the README.TXT
file.
And here are the classes:
Chapter 6. Well-behaved objects.
This chapter discusses a number of projects:
diary-prototype
is used to illustrate unit testing.
diary-testing
project is used to illustrate another testing approach.
diary-test-automation
illustrates an even more advanced testing strategy.
calculator-engine
is about reverse engineering (walkthrough).
calculator-engine-print-statements
is about using print
statements
bricks
project is used to encourage you to practice the above strategies
There are also two projects the second of which can be used as a homework assignment.
Here's the README.TXT
file
and the Java classes for the calculator-gui
project.
Here's the
README.TXT
file
and the classes for the
calculator-full-solution
project.
Now let's keep going. (Remember there are also debuggers, as in Chapter 3).
Chapter 7. Designing classes.
This chapter develops a computer game (the world of zuul).
There are two versions we develop: a bad one, and a better one.
Here's the README.TXT
file for the better version and the Java class files:
zuul-better
)
This chapter also introduces the main
method (page 199, section 7.14).
Part 2. Application Structures.
Chapters 8 and 9 bring forth the topic of Inheritance.
The develop a project (DoME
) in three stages.
(DoME stands for Database of Multimedia Entertainment).
The third stage (developed in Chapter 9) can be chosen as a homework assignment.
Here's the README.TXT
file for the better version and the Java class files:
This chapter discusses the topics of abstract classes and interfaces.
It develops a
simulation which can be chosen as a project.
Here's the README.TXT
file for the better version and the Java class files:
Animal.java
Counter.java
Field.java
FieldStats.java
Fox.java
Location.java
Rabbit.java
Simulator.java
SimulatorView.java
Chapter 12 discusses the principles of program design.
Chapter 13 focuses on a case-study (a simulation).
You can use the most advanced stage as a project.
Here's the README.TXT
file for the better version and the Java class files:
Actor.java
City.java
CityGUI.java
DrawableItem.java
Item.java
Location.java
MissingPassengerException.java
Passenger.java
PassengerSource.java
Shuttle.java
Simulation.java
Taxi.java
TaxiCompany.java
Vehicle.java
images
Chapter 13 is the last chapter in the book.
Now take the following projects described above:
Choose two of them and write a tutorial for each of the two.
Call one Homework Four and the other one Homework Five.
Turn them in by the due dates and we're done.