Java: Behind the Wheel
Intro
to Java for Programmers
Audience: This course
is designed for developers who want to learn the Java programming language
and have experience in other languages like C, COBOL, Visual Basic, Fortran,
and so on.
Course Length: 5 days
Java: Behind the Wheel is an introduction
to Java that builds a foundation for using Java in a real-world development
environment. This intense five-day course begins with a discussion of
why Java has become so popular and ends with the student writing a fully-functional
chat program that uses Java threads, sockets, streams and GUI programming.
The course also prepares the student for taking the Sun Certified Java
Programmer exam.
Course
Outline (download pdf
version)
Module 1: An Introduction to Java
- Java Overview:
What Java is and why it is so popular today.
- The Lifecycle of Other Programs:
A look at how programs are developed
in other languages.
- The Lifecycle of a Java Program:
A look at how Java programs are developed.
- Performance Issues:
Translating vs. Interpreting.
- A Simple Java Program:
Writing a class in Java with main().
- The Java Development Kit: The
tools used to create a Java program.
- Writing a Java Program:
The details of creating and running a Java program.
Module 2: The Java Programming Language
- Java Keywords: The
Java language.
- Identifiers: Names
used to identify the various parts of a program, like names of classes,
methods and fields.
- The Built-in Data Types: The
way Java stores data.
- Literals:
- Constants:
- The String Class:
A useful class in Java.
- Declaring Variables: Allocating
memory for data.
- Arithmetic Operators: The
syntax of the Java operators and their order of operation.
- Comparison Operators
- Boolean Expressions: Logic
and the Boolean operators.
- The if Statement: The
basic tool for making decisions.
- The if/else Statement:
Extending an if statement.
- The switch Statement: Another
decision maker.
- The while Loop: Repeating
code.
- The do/while Loop:
A variation of the while loop.
- The for Loop: Useful
for repeating a specific number of tasks.
Module 3: Object Oriented Analysis &
Design
- OOP and Procedural Languages:
Today’s common programming languages.
- Writing a Program Procedurally:
An overview of how procedural programs
are designed.
- Writing a Program Using Objects:
An overview of OOP.
- Classes and Object:
The fundamental components of an object-oriented program.
- An Introduction to OOAD: Object
Oriented Analysis and Design.
- UML:
The Unified Modeling Language.
- Inheritance:
Creating a new class from an existing class.
Module 4: Classes and Objects
- Classes and Objects: An
object is an instance of a class.
- Writing a Class in Java: Determining
fields and methods.
- Instantiating Objects: The
"new" keyword.
- Using Objects:
The dot operator.
- Understanding References: Understanding
the difference between a reference and an object.
- Garbage Collection
- The == operator
- The "this" Reference
- Methods: The
signature of a method.
- Invoking Methods:
Using the dot operator.
- Passing References by Value:
Understanding call-by-value.
- Method Overloading
- Constructors:
A special type of method that allows an object to be initialized when
it is instantiated.
- Access Specifiers
- Encapsulation: Hiding
the fields of a class.
- Static Fields and Methods: Understanding
the concept of static.
- Instance and Static initializers
- Packages: Java’s
well-defined namespace technique.
Module 5: Inheritance and Polymorphism
- Inheritance:
Creating new classes from existing classes.
- The "is a" Relationship:
Determining when inheritance is a good
design.
- The extends Keyword:
Implementing inheritance in Java.
- What Gets Inherited: Understanding
what a child inherits from its parent.
- Single Inheritance: A
child can only have one parent.
- Method Overriding:
A child class overriding a behavior of the parent class.
- The super Keyword:
- The Object Class:
The finalize() and toString() methods
- Constructors:
Using this() and super()
- Polymorphism
- Virtual methods
- final Methods and Classes
- Abstraction
Module 6: Arrays
- Arrays:
Contiguous memory for storing data.
- Array References
- Array Objects:
Instantiating arrays.
- Using Arrays:
Indexes and the length attribute.
- Arrays of References
- Copying Arrays:
System.arraycopy()
- Multidimensional Arrays
Module 7: Interfaces
- Interfaces: Creating
an interface in Java.
- Implementing an Interface:
A class implements each method of an
interface.
- Constants in Interfaces:
Interfaces can contain static final attributes.
- Extending Interfaces:
An interface can be subclassed by another interface.
- Interfaces and Polymorphism:
Using interface references.
Module 8: Exception Handling
- Exceptions: The
hierarchy of exception classes.
- The Throwable Class: The parent
of all the exception and error classes.
- Catching Exceptions: Using
try/catch blocks.
- Declaring Exceptions: The
handle or declare rule.
- Throwing Exceptions: The
"throws" keyword.
- The finally Statement: Always
executes after a try block.
- User-defined Exceptions: Creating
your own exception classes.
Module 9: GUI Programming
- Swing vs. AWT: Understanding
the difference options available.
- Containers and Components: The
relationship between components and containers.
- The java.awt.Frame Class:
Represents a standard window.
- Layout Managers:
Flow, border and grid layout.
- Event Handling: The
delegation model.
- The GUI Events:
The event classes and listener interfaces.
- The Event Adapters
- Components:
The various Swing and AWT components.
Module 10: Threads
- Processes vs. Threads:
Understanding what a thread is.
- Thread Scheduling:
The lifecycle of a thread.
- Creating a Thread:
The Thread class and the Runnable interface.
- Synchronization:
Making your Java classes thread-safe.
Module 11: Input and Output
- The File Class: Represents
a file on a hard drive.
- The java.io Package:
An overview of the input/output classes.
- Streams vs. Readers and Writers:
Binary streams vs. character streams.
- Low-level Streams: Connecting
to the source of data.
- High-level Streams:
Stream filters and buffers.
- Serialization:
Java’s object serialization.
- Low-level Readers and Writers:
Character streams.
- High-level Readers and Writers
Module 12: Sockets
- Sockets:
An overview of sockets.
- The Server:
Listening for requests from clients.
- The Client:
Connecting to the server.
- Socket Streams:
Communicating between the client and server.
Appendix A: Applets
- An Overview of Applets:
A Java program that runs in a web browser.
- The Applet Class:
The parent class of all applets.
- The Methods of the Applet Class:
init(), start(), stop(), destroy() and
paint().
- Embedding an Applet in a Webpage:
The <applet> tag in HTML.
- The Graphics Class:
Used for drawing in the applet.
- Parameters:
Allows the HTML to pass data to the applet.
|