- Teaching Java -


Essentially there are two ways to go: algorithms first or objects first. My early efforts made use of existing resources: Beanshell for algorithms first and BlueJ for objects first. I wasn't very satisfied with either one and started building my own tools. My goals were three: to have some classes useful in teaching, to have some classes that I myself would like to work with, and to simplify the work of making simple GUI's in Java. I may have succeeded.

The zio package described in these pages will support algorithms first or objects first teaching of an introductory Java course.

  1. Start the class algorithmically and teach a somewhat traditional course that slowly introduces objects.

    There are books out there to help you with this. What is difficult though, is getting through Java's I/O barrier. The zio package provides for both file and console I/O.

  2. Start the class with objects. Use the zio dialog approach with the help of the DialogWindow and DisplayWindow classes.

    With this approach classes, objects, methods, and inheritance are emphasized early on. By the end of the course they have been massively reinforced. File I/O can be limited to whole files which is one of the options discussed in the “file I/O” reference above.

The zio package is a less ambitious variation of a proposal by the ACM Java Task force. Here is a comparison of the two.

I have used early versions of zio both ways. I intend to go the objects first way in the fall of 2005. If you want to discuss it with me or, better yet, to work with me to refine my way of doing it, then contact me at where where the mmm is one of jan, feb, mar, ... and the yy is the last two digits of the year.

contextJul 19, 2005author