these notes were written to fill in textbook deficiencies
in Java courses.
When features were adequately covered in the textbook
(eg, loops), you won't find much here.
When features are missing entirely from the textbook
(eg, GUI!), there are more notes.
Choices made in these notes
These notes
Use recent Java language features (currently including some version 1.4 features).
Emphasize Graphical User Interfaces, using Swing
instead of AWT. Some simple example console output programs are used.
Use applications primarily, not applets. However, many examples
subclass JPanel, which makes placing them in applets trivial.
Development Systems
These notes do not assume
a particular development system. I use Sun's JDK/SDK
(Java/Software Development Kit) because
it's most commonly used by students, but there are other
good choices (see Tools).
Copyright
These notes are released under the
MIT License,
an open source license which
allows you to do pretty much what you want with this,
but "copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software".
I would appreciate credit, but that's optional.
Acknowledgments
Thanks to my Java classes at
Assumption University, Faculty of Science and Technology, Thailand;
Universidad San Francisco de Quito, Departamento de Multimedia, Ecuador; and
University of Maryland University College, European Division.