Description
This is the first
course of the Intense Professional Java 2 Series. This series
of courses is designed for software professionals seeking to design
and develop applications using the Java 2 Standard Edition (J2SE)
and VisualAge for Java (VAJ). Based on InferData's well-received
training methodologies, the course provides for a rapid, efficient
(and, yes, intense) transition to object-oriented software development
using J2SE. The attendees are expected to be familiar with either
the C or C++ programming language. Experience with object orientation
would be helpful but is not required.
This five-day
course covers topics in object-orientation, the basics of programming
using Java, including syntax, compilation, packaging and deployment
using VisualAge for Java (VAJ). The J2SE class library and architecture
are also covered as well as multi-threaded programming in Java.
Other topics covered include concepts in "Interface based design
for de-coupled and concurrent development." The Java class libraries
covered include: Java utilities, input and output (I/O), web based
client development using Java "Applets", and a brief introduction
to graphical user interface development using the Java Swing library.
This course consists
of a large number of fully worked out example code illustrating
various concepts introduced during the course. The concepts are
further reinforced through the use of well-crafted exercises at
appropriate points throughout the course.
Objectives
InferData's goal
is to transfer as much knowledge as possible from the classroom
to the workplace. Intense Java has been carefully planned to ease
the student into new concepts with the use of many exercises,
labs, and sample code. At the end of this course, students should
be able to:
- Identify basic
concepts of OO design
- Write Java programs
using VisualAge for Java
- Build and embed
applets in Web pages using Java
- Build GUIs using
Java
- Build multi-threaded
programs using Java
- Reuse a lot
of the Java code taught in the classroom
Audience
- Application Developers
- System Designers
Prerequisites
Experience with
C or C++
Duration:
5 Days
Course Outline
Introduction to
VisualAge for Java
- Creating, Importing
and Exporting Projects
- Creating Packages
and Classes
- Program Editing,
Compilation and Testing
- Graphical Debugger
- Versioning
- Saving and Restoring
Workspaces
Java Basics
- Java Object Model
- Class definitions
- Class and instance
variables
- Basic data types
- Inheritance and
code reuse
- Data encapsulation
and access protection
- Compilation and
the Java run-time environment
- The "String" and
"System" classes
- Basic Java application
Java Interfaces
- Design by contract
- Java Interface
- De-coupled design
- Using the factory
design pattern
- Implementing multiple
inheritance
- Name spaces
- Standard Java
conventions
- File system dependencies
- Access protection
Error Handling
- Java Exceptions
- Seperating business
logic from error handling logic
- Using "try", "catch"
and "finally"
- Throwing exceptions
- Checked and unchecked
exceptions
- Navigating the
stack trace
- Repackaging and
re-throwing exceptions
Threads
- Concurrent and
parallel programming
- Deadlocks
- Thread Class
- Managing groups
of threads using Thread Group
- Managing thread
priorities
- Thread Synchronization
- Designing co-operating
multi-threaded applications
- Using the "Runnable"
interface
Advanced Issues
in Threads
- Locking and Semaphores
- Dealing with synchronization
- Instance vs Class
level synchronization
- Deadlocks and
"Livelocks"
|
Java Class Library
- J2SE Class Library
Architecture
- Naming conventions
- Java Utility Package
(java.util)
- Collections Library
- Storage Structures
( Array, Vector, HashMaps etc.)
- Aggregation operations
Input and Output
- The java.io class
Library
- Input and Output
structure
- Handling textual
data with "Reader" and "Writer" streams
- File System I/O
Advanced Utility
Classes and Interfaces
- Date and Time
Manipulation
- Calendar
- Collection
- HashMap, etc.
- Data Compression
Classes
- Zip
Basic Graphics
- The Java graphics
framework
- Abstract Windowing
Toolkit (java.awt)
- The Java Swing
Library (javax.swing)
- The Java event
model
- Basic UI elements
- Labels
- TextFields
- Buttons
- Panels
- Frames
- Event Processing
and Propagation
- Handling Graphical
Events using Event Listeners
Java
Applets
- Web-based client
Development
- The java.applet
package
- Issues in network
security
- The java "Sandbox"
model of security
- Applet limitations
- Building an applet-based
application
|
|