Introduction to Java using WSAD v5.1


Audience
Application developers, programmers and other technical professionals transitioning to Java that will be utilizing IBM’s WebSphere Studio Application Developer v5.1 as their IDE development tool
   

Duration

5 Days
   
Course Abstract
Through a combination of instructor-led discussions and hands on workshops the course will illustrate the methods and techniques for developing applications using IBM’s WebSphere Studio Application Developer v5.1. The course will offer a practical introduction to the Java programming language and discuss Java topics like; class definitions and hierarchies, polymorphism, encapsulation, abstraction, exception handling, Java data types, flow control, conditional testing, single and multidimensional arrays, JDBC access and the creation of Java applications. Each of the topics will be taught while utilizing the basic components of IBM’s toolset; project creation and navigation, source editor and team development, java compiler, debugging and testing tools and the other aspects of IBM’s WebSphere Studio Application Developer IDE
   
Objectives

After completing this course, students will be able to:

  • Understand the roots and benefits of object oriented application design
  • Illustrate each of the key OO concepts of inheritance, polymorphism, encapsulation and abstraction.
  • Understand a class definition and its components of data and access methods.
  • Depict the major differences between procedural application development and object-oriented systems in both design and implementation.
  • Utilize the source repository and debugging features of WSAD v5.1 for managing all java source testing binary files.
  • Understand the role of exception handling and its implementation.
  • Illustrate Java file access considerations using streams and buffers.
  • Depict the role of JDBC in RDBMS database access and updating.
  • Illustrate the basic concepts behind even-driven programming and its role in an OO application environment
   
Class Format Lecture and Lab
   
Prerequisites

Each student should have a basic understanding of the Windows environment and a fundamental knowledge of any application programming language. No object-oriented background is required.

Course Topics

The following list represents the sections and topics discussed in this virtual instructor-led course offering.

 

Java Environment

  • Defining Java
  • Characteristics
  • Types of Java programs
  • Applets, Applications and Servlets
  • Java run-time environment
  • Java JDK
  • Library structure
  • Java API hierarchy
  • OO vs Procedural
  • Java and OO concepts
  • Inheritance
  • Polymorphism
  • Encapsulation
  • J2EE architecture

Inheritance

  • Java derivation
  • Class inheritance
  • Inherited methods
  • Derived class objects
  • Override base methods
  • Polymorphic behavior
  • Abstract classes
  • final methods
  • Universal superclass
  • Interfaces in Java
  • Implementing interfaces

WSAD IDE

  • Understanding Eclipse
  • Multiple document interface
  • WebSphere Studio family
  • Plug-in architecture
  • Java development features
  • Projects and Perspectives
  • WSAD folder structure
  • Import/Export projects
  • Utilizing Perspectives
  • Navigation panel

WSAD Debugger

  • Debugger role
  • Debug perspective
  • Debugger preference settings
  • Initiating debugger
  • Suspended threads
  • Execution controls
  • Inspecting expressions
  • Breakpoints
  • Exception handling
  • WSAD Scrapbook

Variables

  • Java primitives
  • Integer data types
  • Assignment statements
  • Binary/Unary operators
  • Increment/Decrement
  • Prefix/Postfix
  • Explicit casting
  • Floating point
  • Character and Boolean
  • String

Exception Handling

  • Defining Exceptions
  • Error vs Exception classes
  • Runtime exception errors
  • throws statement
  • try/catch blocks
  • finally block
  • Execution patterns
  • throw statement
  • Creating Exception classes

Decision Logic/Looping

  • Comparative operators
  • if statements
  • Statement blocks
  • else statement
  • Conditional nesting
  • Boolean operators
  • Conditional AND
  • Conditional OR
  • Ternary operator
  • continue statement
  • switch
  • break
  • for loops
  • while looping
  • dowhile loops
  • continue statement labels
  • Labeled breaks

Thread Management

  • Defining threads
  • Single vs Multi-threading
  • Thread lifecycle
  • Methods to control threads
  • Defining thread subclasses
  • Daemon vs User threads
  • Use of run method
  • Starting and Stopping threads
  • Multi-threading vs multi-tasking
  • Synchronization
  • Use of synchronized
  • Using synchronized methods
  • Defining deadlocks

Class Definitions

  • Class vs instance variables
  • Class vs instance methods
  • Java class definition structure
  • Parameter passing
  • Passing parameters
  • Static method calls
  • Initialization blocks
  • Constructors
  • Variable vs Object declaration
  • Method overloading
  • Java packages
  • package statement
  • Class access options: public, private, protected

Files & Streams

  • Defining Streams
  • Input/Output operations
  • Using File objects
  • File access methods
  • OutputStream
  • FileOutputStream
  • ByteArrayOutputStream
  • FilterOutputStream
  • DataOutputStream
  • Buffered output streams
  • Character output streams
  • PrintWriter
  • FileWriter

Java Arrays

  • Defining arrays
  • Array declaration
  • Accessing array elements
  • Substituting array length
  • Mutli-dimensional arrays