Course Supplements
The following items supplement the information in your textbook.- Errata list for Gaddis textbook
- Source code (downloadable zip file) for Gaddis textbook examples
- PowerPoint slides (Gaddis/Muganda)
- The PowerPoint slides are packaged in two zip files -- one for the first fifteen chapters, and one for the remaining chapters
- Sun Microsystems Java site
- Download the JDK and accompanying documentation from here.
- Auburn University jGRASP site
- Download the jGRASP development environment and accompanying documentation from here.
- Java Compiler Options
- Documentation for the most common Java compiler options, useful for command line compilation.
- Using Java's Compiler
- Steps you'll need to use to compile a Java program from the command line; includes how to temporarily set the PATH variable under Windows so that it can locate javac. Works for both desktop and Portable Apps use.
- Notes on Setting Up jGRASP
- Downloadable Microsoft Word document written by Lawrenceville faculty member Nat Kumaresian that gives some helpful information on setting up a class path to make using your own imported packages easier under jGRASP.
- The Eclipse Integrated Development Environment
- A more powerful and full-feature (and correspondingly more complex to learn) environment for doing Java programming.
- The NetBeans Java Integrated Development Environment
- Another alternative to jGRASP
- Troubleshooting Guide
- Tips and hints for locating and fixing program errors. Under development!
Topic References
These are references suggested by Malik in his book's teaching guide.
- Overview
- Basic Elements
- Basic Objects and Input/Output
- Java's String Class
- Usage of printf (written for C language but Java's use is identical)
- Using the JOptionPane Class
- Scanner class documentation
- Selection statements
- Repetition statements
- Basic GUI Design/Implementation
- Basic Object-Oriented Design
- User-defined methods
- User-defined classes
- Arrays
- Vectors, Strings, and Enumerations
- Inheritance & Polymorphism
- Exceptions & Events
- Advanced GUIs & Graphics
- Recursion
- Generic Methods & Classes
- Cloning
- Hashing and Cloning
- Making your clone() method final
- Comparable Objects
- Comparable Interface, part I
- Comparable Interface, part II
- Another compareTo method example.
- Generics in the Java Programming Language
- Tutorial on generic methods.
- Frequently Asked Questions about type parameters.
- Overriding generic methods in a generic class
- Using and programming generics in J2SE5.0
- A simple generic class with two type parameters T and V.
- Generics FAQ
- ArrayLists
- Linked Lists
- Stacks
- Complete description of the Stack class
- Implementation of a Stack class from the Sun Microsystems code examples
- Queues
- Searching Algorithms
- Sorting Algorithms
- Binary Trees
Program Examples
The following program examples are provided to supplement the textbook examples.
- A variety of basic code examples from Sun Microsystems
- Character & String code examples from Sun Microsystems
- Numbers & math operations code examples from Sun Microsystems
- I/O code examples from Sun Microsystems. Most of these are advanced I/O concepts but there are a couple of basic examples as well.
- Classes & Inheritance code examples from Sun Microsystems
- Applet code examples from Sun Microsystems
Resources and References
- How to Use Java From the Command Line
- Java Compiler Options
- Core Java Reference Card from DZone
- Sun Microsystem's Java Tutorial
- Introduction to Programming I from NetBeans. (note: this is a little out of date but still may be useful)
- Thinking in Java etextbook
Classic Problems
-
Tower of Hanoi
-
- Problem description
- This Java-based demonstration of the Towers of Hanoi puzzle allows you to solve the puzzle for any number of disks.
-
John Conway's Game of Life
-
- Eric Weisstein's description of Life
- A Java-based implementation of the simulation.
-
Koch Snowflakes
-
- Discussion by Eric Weisstein.
- Discussion by Ryan O'Leary.
- Java applet to render Koch Snowflakes.
-
Fibonnaci Number Series
-
- A comprehensive site covering Fibonnaci's work.
- Fibonnaci's biography
- Fibonnaci's Rabbit Problem and other mathematical games
-
Binary Trees
- Java applet demonstration of building a binary tree of words.
-
Stacks and Queues
-
Sorting
-
- Demonstration of three versions of Shell sort
- Demonstration of several versions of QuickSort.
- Java applet demonstration of a heapsort.
- Comparison demonstration (Java applet) of six different sorting algorithms.
-
Miscellaneous
-
- The famous Dining Philosophers problem demonstrated.

