Textbook supplements (PowerPoint slides, source code files, and lab questions) can be downloaded from iCollege.
- Object-oriented design
- Sorting & Searching
- The Collections Framework
- Linked Lists
- Binary Trees
- Generic Classes
- Binary I/O
- Sun Microsystems Java site
- Download the JDK and accompanying documentation from here.
- Java 8 API
- Documentation for everything provided as part of the Java language. This is the most recent version, NOT installed on campus.
- Java 7 API
- Documentation for everything provided as part of the Java language. This is the version installed on campus.
- 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.
- 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 professional-level development environment
Basic Objects and Input/Output
- Usage of printf (written for C language but Java’s use is identical)
- Using the JOptionPane Class
- Scanner class documentation
GUI Design/Implementation & Graphics
- Tutorial on layout managers
- Tutorial on the Swing framework
- Tutorial on writing listener classes
- Example GUI program
- 5 Easy Steps to convert a Java Application to an Applet
Basic Object-Oriented Design
- Object-Oriented Design introduction
- Autoboxing/unboxing of primitive data types
- Complete listing of all wrapper classes in the java.lang package
- Interface and Inheritance in Java: Interface
- Interface and Inheritance in Java: Inheritance
- Quick Guide to Polymorphism in Java
- Inheritance, Association, Aggregation, Composition
Vectors, Strings, and Enumerations
Exceptions & Events
- Recursion basics
- Ideas for exercises that can be solved via recursion
- The best explanation ever of recursion, even though the code is in Python.
Generic Methods & Classes
- Java Generics Quick Tutorial
- Java Generics Tutorial
- 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.
- Using and programming generics in J2SE5.0
Collections (Data Structures)
- Complete descroption of the ArrayList class
- Creating a list using an array and sorting it using the Comparable & Comparator interfaces
- Iterations over an unsorted list
- Complete description of the List interface
- Complete description of the LinkedList class
- ArrayLists vs. LinkedLists vs. Vectors
- Linked list & doubly linked list visualization from Visualgo
- Complete description of the Stack class
- Implementation of a Stack class from the Sun Microsystems code examples
- Stack visualization from Visualgo
- Sorting Visualization from Visual.ly
- Sorting Visualizations from Visualgo, including Bubble, Selection, Insertion, Merge, Quick, Randomized Quick, Counting, and Radix sorts
The following program examples 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
- 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
- 10 Ways to Improve Your Programming Skills
- New Programming Jargon
Tower of Hanoi
- Problem description
- This Demonstration of the Towers of Hanoi puzzle allows you to solve the puzzle for any number of disks.
- The Tower of Hanoi puzzle even appeared in the Reward Challenge of the first episode of Survivor: South Pacific (Season 23).
John Conway’s Game of Life
- A Java-based implementation of the simulation.
Fibonnaci Number Series
- A comprehensive site covering Fibonnaci’s work.
- Fibonnaci’s biography
- Fibonnaci’s Rabbit Problem and other mathematical games