Detailed Course Outline
Introducing the Java Technology
- Relating Java with other languages
 - Showing how to download, install, and configure the Java environment on a Windows system.
 - Describing the various Java technologies such as Java EE, JavaME, Embedded Java SE
 - Describing key features of the technology and the advantages of using Java
 - Using an Integrated Development Environment (IDE)
 
Thinking in Objects
- Defining the problem domain
 - Identifying objects and recognizing the criteria for defining objects
 
Introducing the Java Language
- Defining classes
 - Identifying the components of a class
 - Creating and using a test class
 - Compiling and executing a test program
 
Working with Primitive Variables
- Declaring and initializing field variables
 - Describing primitive data types such as integral, floating point, textual, and logical
 - Declaring variables and assigning values
 - Using constants
 - Using arithmetic operators to modify values
 
Working with Objects
- Declaring and initializing objects
 - Storing objects in memory
 - Using object references to manipulate data
 - Using JSE javadocs to look up the methods of a class
 - Working with String and StringBuilder objects
 
Using operators and decision constructs
- Using relational and conditional operators
 - Testing equality between strings
 - Evaluating different conditions in a program and determining the algorithm
 - Creating if and if/else constructs
 - Nesting and chaining conditional statements
 - Using a switch statement
 
Creating and Using Arrays
- Declaring, instantiating, and initializing a one-dimensional Array
 - Declaring, instantiating, and initializing a two-dimensional Array
 - Using a for loop to process an Array
 - Creating and initializing an ArrayList
 - Using the import statement to work with existing Java APIs
 - Accessing a value in an Array or and ArrayList
 - Using the args Array
 
Using Loop Constructs
- Creating while loops and nested while loops
 - Developing a for loop
 - Using ArrayLists with for loops
 - Developing a do while loop
 - Understanding variable scope
 
Working with Methods and Method Overloading
- Creating and Invoking a Method
 - Passing arguments and returning values
 - Creating static methods and variables
 - Using modifiers
 - Overloading a method
 
Using Encapsulation and Constructors
- Creating constructors
 - Implementing encapsulation
 
Introducing Advanced Object Oriented Concepts
- Using inheritance
 - Using types of polymorphism such as overloading, overriding, and dynamic binding
 - Working with superclasses and subclasses
 - Adding abstraction to your analysis and design
 - Understanding the purpose of Java interfaces
 - Creating and implementing a Java interface
 
Handling Errors
- Understanding the different kinds of errors that can occur and how they are handled in Java
 - Understanding the different kinds of Exceptions in Java
 - Using Javadocs to research the Exceptions thrown by the methods of foundation classes
 - Writing code to handle Exceptions
 
The Big Picture
- Creating packages and JAR files for deployment using java
 - Two and three tier architectures
 - Looking at some Java applications examples