Lesson-based Links

Use Chrome to display java text in browser.

Lesson One

Lab 1:  Numeric Types
Task #2. Modify the starting program Numeric Types program to accept first and last name inputs from the user, and print out the full name. Task #3. Print the user's initials and their name in upper case. Task #4. Prompt for the diameter of a sphere, then calculate and display the radius and sphere volume.
Lab 2:  Expert System: Plant Advisor
Create a system that will advice customers on which plant to purchase, then calculate their bill using various discount levels and bonuses.

Lesson Two

Java Documentation
• An example class documentation: DecimalFormat
Lab 3:  Math Functions
Display a table of powers; calculate the factorial of a number; find the greatest common divisor of two positive integers. (part 3 is optional).
Lab 4:  Murach Exercises - Conditionals and Loops
a. Work with the Invoice and the Test Score applications.
b. Add data validation to the Invoice application.
Lab 5:  Murach Exercises - Arrays
Create a class which uses a one-dimensional array per Exercise 11-1. Modify the FutureValue application to use a rectanglar array.

Lesson Three

Lab 6:  Creating Instances of an Existing Class
Create a driver program for the BankAccount class.
Lab7:  Creating Persons and Validating Person Data
Create a Person class with getters and setters as well as some instance and class methods to validate Person date and string data.

Lesson Four

Lab 8:  Pets! (Using inheritance)
Create a superclass Animal, its subclass Pet, and its subclasses Cat and Dog. Use private and public properties, override properties, override methods, enums, and build methods which accept objects as their parameters.
Lab 9:  Person App Part 2
Enhance Lab 7 to add inheritance, interfaces, and static (class) variables

Lesson Five

Composition vs. Inheritance, an excellent discussion by
  Bill Venners at JavaWorld.com
Lab 10:  Notes Application
Create a fully functional notes application using an ArrayList that lets you operate on the list as a whole and manage/prioritize individual notes.
Lab 11:  Persons and Collections
Practice polymorhism by extending the application to work with both Students and Instructors. Utilize the ArrayList, LinkedList, HashSet and TreeSet collections to store your Persons. Explore object equality and the collection method contains().
Lab 12:  A Help System
Practice TreeSets and HashMaps. Use the driver program to build a HashMap of one-word keys and their definitions on any topic of your choosing. Analyze a user's questions for unique words using a HashSet. Formulate a response to the user based on any words you recognize. Use these programs as templates to get you started: HelpDesk.java and HelpDeskApp.java
Lab 13:  Comparators
Getting a solid foundation in Comparators will prove useful. Study the Comparator examples and implement on any Java Collection of your choosing.