Introduction to OO Java Development for Procedural Developers Using Eclipse
Length: 4.5
Course Code: JA321
List Price:
$2,700
TrainingPage Price: $2,632
TAP Eligible
Get $150 NFLShop Gift Card and more
View Dates & Enroll OnlinePlease Note: This class is subject to a ten percent increase. Please contact a TrainingPage representative for verification of price increase.
Description:
Do you want to learn Java, but have no knowledge of Object-Oriented (OO) technology? Are you already a programmer in a procedural language, such as Common Business Oriented Language (COBOL) or RPG? Leverage on your already existing programming skills to help you make the transition to the hottest object technology: Java.
Learn the key object technology concepts together with the current trends, tools, and techniques to support developing Java applications. Learn not only the object technology concepts, but also Java language fundamentals, such as the data types and keywords. Also, learn how to write and organize classes, and how to create and use objects. Learn to write very simple but usable non-Graphical User Interface (GUI) applications and classes. During the hands-on labs, make use of the open source Eclipse Java Development Tools as the interactive application development environment.
It should be noted that Eclipse is the basis for IBM Rational Application Developer for WebSphere Software. Java development skills learned with Eclipse are directly applicable to the more full-function Rational tool.
This course uses the open source Eclipse Development Platform as the Interactive Development Environment (IDE) for hands-on labs. If you wish to use WebSphere Studio V5.1 for the IDE, see:
- Introduction to Java for OO Developers Using Eclipse (JA319)
If you wish to use IBM Rational Application Developer as the IDE, see the soon to be released:
- Introduction to Java using IBM Rational Application Developer V6 (JA351).
Course Materials
The course materials teach experienced procedural programmers with no knowledge of OO technology the Java language using the open source Eclipse Platform V3.0.1 as the IDE.
Hands-On Labs
Sixteen labs are included to address the skills transfer for experienced procedural programmers with no knowledge of OO technology to learn the Java language using the open source Eclipse Platform V3.0.1 as the IDE.
IACET Continuing Education Units: 3.6
Audience:
This is a basic course for programmers.
If you allready have an OO background, you should attend:
- Introduction to Java for OO Developers Using Eclipse ( JA311)
Objectives:
- Write, compile, and execute a simple Java program, using the open source Eclipse Platform V3.0.1 as the IDE
- Describe the incremental and iterative process for developing applications using object technology, and how it differs from traditional approaches, such as Waterfall, to application development
- Explain the concept of encapsulation and how it applies to data and function
- Understand messages as they relate to objects
- Describe how objects send messages to one another
- Describe the purpose of a class
- Document a class using the UML by correctly building three-part boxes
- Understand how encapsulation works with objects
- Understand the difference between messages and methods
- Identify actors within a problem domain
- Differentiate between primary and secondary actors
- Create a Use Case from a business problem domain description
- Associate actors with Use Cases
- Understand simple techniques to identify classes of objects in the system
- Understand what makes a good object
- Allocate behavior to objects based on the business
- Understand the purpose of performing dynamic modeling in analysis
- Develop a UML sequence diagram for a Use Case
- Develop a UML class diagram for a Use Case
- Understand class attributes and relationships that exist between objects and classes
- Understand the difference between an analysis class diagram and a design class diagram
- Understand the options for designing an association
- Use primitive data types in a Java program
- Use the commonly used operators in a Java program
- Instantiate objects from classes
- Send messages to objects
- Receive return values from sent messages
- Use the main features of the string and vector classes
- Create your own class
- Create and use instance variables and methods
- Create and use class methods and variables
- Create constructors
- Create accessors and mutators
- Understand Java's object model
- Know why and how to create and use an abstract class
- Know why and how to create and use an interface
- Create subclasses that override methods of their superclass
- Understand the use of super() and super.
- Do basic Input/Output (I/O) operations needed to read files
- Handle an I/O exception in code
- Understand how to organize classes in packages to restrict access to class members
Prerequisites:
You should be able to program in a procedural Third Generation Language (3GL), such as COBOL or RPG with assistance.
If you allready have an OO background, you should attend:
- Introduction to Java for OO Developers Using Eclipse ( JA311)
What's Next
Move beyond the fundamental skills of Java syntax and logic flow into concepts, see:
- Developing and Testing OO Applications with Java Using Eclipse (JA341)
- and take the courses recommended in the IBM Training Path (see the Overview section)
Topics:
Introduction to object technology
- describe what object technology means
- compare and contrast object technology application development with procedural application development
- describe the advantages that object technologies provide
Java technology overview
- define the components that make up the Java programming language
- identify the existing Java technologies
- describe some of the major Java development tools
- describe the different deployment architectures
Object concepts
- describe the main principles of object orientation, including objects and messages, encapsulation, instances versus classes, inheritance, and polymorphism
- describe the advantages that each of the main principles provide
- identify classes
Life cycle and methodology
- describe a software life cycles and how it applies to OO development in terms of tradeoffs between several traditional life cycles
- describe an OO methodology and its key components
Requirements and analysis
- describe how to find actors and use cases
- describe the layout of a use case diagram
- describe the purpose of requirements and how use cases differ from traditional requirements techniques
- follow the basic process of object-oriented analysis: finding objects, static class modeling, and dynamic class modeling
- draw a sequence diagram
- list candidate objects
- draw a class diagram
Design and implementation
- describe the purpose and process of doing OO design
- describe how OO programming reflects the output of the design process
- design an association
Java language syntax
- describe the built-in primitive data types in Java
- construct statements in Java
- understand type conversion between primitive data types
Using existing classes
- explain the relationship between classes and objects
- use and explain object references
- state the naming conventions for classes and variables
- write code to instantiate objects and invoke the object's methods
- list some of the methods of the String, Vector, Array and wrapper classes
- describe the main features of the String class
- compare Vector objects to arrays
- list the benefits and costs of using wrappers rather than primitive data types
Creating your own classes
- describe encapsulation and the private and public access modifiers
- distinguish between composition and aggregation
- write a class definition, making use of variables and methods, including getters and setters
- explain the structure of a method, including parameters and return value
- write code where a method invokes another method of the same object
- contrast local and instance variables
- write appropriate constructors for a class
- explain the meaning and purpose of overloading
Class methods and variables
- distinguish between static and instance members
- state the benefits and constraints of static members
- invoke static methods and refer to static variables
- explain how the DateFormat and NumberFormat classes are used
Object hierarchy
- explain the principles and benefits of inheritance
- draw inheritance diagrams
- use the instanceof operator to determine the type of an object
- understand constructors
- differentiate between aggregation and inheritance
Designing for change
- describe the purpose and process of designing for change
- list how object systems can be built to incorporate change more easily from every level: object, groups of objects, subsystems, and systems
- interpret a design pattern
Packages
- understand the problems solved by Java packages
- describe the concept of namespace
- state Java package naming conventions
- state the Java program structure for using packages and adding to packages
- provide default name space qualification
- understand package member scope
- know how to uniquely identify duplicate member names
- state package deployment media alternatives
- name the major core Java packages
- use the Java CLASSPATH to manage access to packages
Introduction to I/O and exceptions
- define exceptions
- discuss the keywords associated with exceptions
- describe the exception handling process
Objects today, tomorrow, and beyond
- describe where objects are playing a role in today's application development life cycle
- describe where objects will be and what technologies will be in use in the future