Java Lecture Notes

These are the lecture notes I'm using in my course, Introduction to Java Programming, currently (Spring semester, 1999) being taught at Polytechnic University in Brooklyn (formerly known as Brooklyn Poly). This class is being taught at the senior undergraduate and introductory graduate level for computer science majors, and is split into 13 two hour, fifteen minute classes plus a final exam:

If you wish to use these notes for personal education, entertainment, and enlightenment, please do. However they are primarily intended to accompany a course and lectures. These notes draw heavily from my text, The Java Developer's Resource, Prentice Hall, 1997; and I suspect you might find the actual book more edifying. It is unfortunately out of print. I am currently working on getting a revised edition back into print, but I don't expect that to happen in the near future.

If you would like to use, modify, or adapt these notes for a course of your own, to be taught at a degree-granting school or university, or at any other non-profit institution, you may do that under the condition that you make The Java Developer's Resource a required or recommended text for the course, and that your bookstore order at least some copies of it. You can contact Prentice Hall's educational sales department at 1-800-526-0485. Since the JDR is out of print, you can contact me for alternative terms.

If you would like to use, modify, or adapt these notes for a course taught by a for-profit training company, you may do so if you purchase and give to each student in your class a copy of The Java Developer's Resource. The corporate sales department at Prentice Hall can assist you with bulk sales and quantity discounts. Since the JDR is currently out of print, you can contact me for alternative terms.

A tar file of these notes is available only to teachers who adopt the The Java Developer's Resource as a required or recommended text. Once your bookstore or company has ordered the book, let me know and I'll send you a tar file of the entire current collection so you can more easily modify or rearrange them to meet your needs and print transparencies or handouts for use in class.

If you are teaching a course based on this material or on The Java Developer's Resource, please let me know by sending email to If there's interest I may even see if I can set up a mailing list so teachers teaching this course can swap comments, exercises, test questions, and war stories.

Under no circumstances should you post these notes on any Internet servers visible to search engines or the public at large. You may modify and post them to internal servers visible only within your organization, if you wish. However, as I'm going to be heavily revising and adding to these notes throughout the next few months based on my experience teaching this course, this almost guarantees that your copy will be out of date. I strongly recommend you link to the official site at instead.

Last Modified January 15, 1999
Copyright 1997-1999 Elliotte Rusty Harold