Second Summer 2003

In which we survey the rest of the BlueJ book.


There are two parts to the BlueJ book:
A. Foundations of Object Orientation.
B. Application Structures.
Here's a brief run-down of the first part (Foundations):
1. Objects and Classes
2. Understanding Class Definitions
3. Object Interaction
4. Grouping Objects
That was what we did already, here's the new part now:
5. More Sophisticated Behaviour
6. Well-Behaved Objects
7. Designing Classes
And here's the scoop on the second part (Applications):
8. Improving Structure with Inheritance
9. More About Inheritance
10. Further Abstraction Techniques
11. Handling Errors
12. Designing Applications
13. A Case-Study
14. Wrapping Things Up
We're now focusing our attention on chapters 5-14.

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:

This finishes Chapter 5. We move on to:

Chapter 6. Well-behaved objects.

This chapter discusses a number of projects:

Finally,

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:

You can choose this project (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:

Chapter 10. Further abstraction techniques.

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:

Chapter 11 discusses the handling of errors.

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:

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.


Updated by Adrian German for A201/A597 and I210