EC29 - Java SE Primer Workshop for Legacy Programmers - 4 Days

Course Description

This course is aimed at mainframe developers, already experienced with languages such as COBOL or PL1, who need to be cross-trained to understand Object Orientation and write Java programs.


Pre-requisites

The student should be familiar with the Windows host environment. Knowledge of an existing 3GL language is assumed.


Objectives

This course is designed to provide the mainframe developer with a broad overview of the Java object oriented approach. Developers will learn the key elements of object oriented applications including classes, interfaces, attributes, objects, access levels, inheritance and polymorphism.

The instructor will make comparisons with mainframe legacy development to facilitate the learning process.

This course also provides students with the skills to write simple Java programs. The syntax of the language is covered in detail and also Object Oriented coding techniques are discussed.

During the course the student will write many applications to ensure that the concepts and statements taught are fully understood and practical experience is gained.

The course is taught using a choice of IDE. The skills needed to use this software are presented as part of the course.

On completion of this course the student will be able to:

  • Understand the concepts of object oriented programming
  • Understand and differentiate between objects and classes
  • Understand object instantiation
  • Understand and differentiate between instance methods and variables and class methods and variables
  • Understand the concept and benefits of messaging
  • Understand the concept and benefits of encapsulation
  • Understand the concept and benefits of inheritance
  • Understand the concept and benefits of interfaces
  • Understand the concept and benefits of polymorphism
  • use the major concepts of a modern, block-structured, high-level language, such as control flow, function calls and modular programming
  • structure programs using classes and other essential object-oriented features
  • create, test and debug simple Java code using the chosen Integrated Development Environment (IDE)


Environment

Development will be performed using:

  • Eclipse
  • IntelliJ
  • NetBeans
  • JBuilder


Customisation

For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.


Course Details

INTRODUCTION TO OBJECT ORIENTED CONCEPTS
History of OO Languages
What is Object Orientation ?
Messaging
Abstraction
Solution Space and Problem Space
Object Oriented Concepts
Summary Object Oriented Terms

OBJECTS
Introduction to Objects
Object Definition

CLASSES
Introduction to Classes
Class Definition
Objects and Classes
Delegation
The Benefits of Classes
Java Class Definition

OBJECT INSTANTIATION
Instantiation and Types / Classes
Object Instantiation
Instance variables
Instance Methods
Class Variables
Class Methods

MESSAGES
Sending Messages to an Object - Methods
The Benefits of Messages
Methods and Method Signature

ENCAPSULATION
Encapsulation and Data Hiding
Variable and Method Definition
The Benefits of Encapsulation

INHERITANCE
Generalisation and Specialisation
Inheritance and Implementation Inheritance
Single Inheritance
Inheritance Definition
The Benefits of Inheritance

INTERFACES
Multiple Implementations of Single Inheritance
Single Implementations Supporting Multiple Interfaces

POLYMORPHISM
Introduction to Polymorphism
Polymorphism Definition
Overriding
Overloading

OBJECT LIFETIME
Object Lifetime
Constructors
Destructors - Garbage Collection

OBJECT MODELLING
Introduction to Object Modelling
Unified Modelling Language
Rational Unified Process
Inception
Elaboration
Construction
Transition
Analysis

INTRODUCTION TO JAVA
What is Java?
The Java Programming Language
The Java Platform, the ClassPath
What Can Java Do?
Overview of the many subjects covered by Java
Advantages of using Java
Creating a java class
Running Simple Applications
A simple first example - The "Hello World" Application

OBJECT-ORIENTED CONCEPTS
An introduction to Objects
What is an Object?, Encapsulation
Communicating between objects
What are Messages?, the benefits of Messages
Classes
What are Classes?, Objects vs. Classes, instantiation, the benefits of Classes
Inheritance
What is Inheritance?, the benefits of Inheritance

THE JAVA LANGUAGE
Variables
Usage Types, Data Types, Literal Values, Naming Standards, Scope, Initialisation, Constants, Escape Characters
Arrays & Multi-Dimentional Arrays
Strings
Strings are objects!, Concatenation, Testing for String equality, Manipulation
Operators
Arithmetic, Unary, Relational, Conditional, Bitwise, Assignment, Expressions
Primitive Casting & Data Type Conversion
Control Flow Statements
if-else, switch, For, While, Do-while, break and continue, Labeled Loops
The return Statement
Enums
Passing Arguments to JAVA Programs

OBJECTS, METHODS AND CLASSES
Introduction to Classes and Objects
Methods, Applications & Object Code
Creating & Manipulating Objects, Calling Methods, Passing Arguments and Method Overloading, Returning Values from Methods
Constructors, Static Code
Varargs
Inheritance - Extending a Class
What does a Subclass Inherit?

PACKAGES
Packages, Using Package Members, Importing

JAVA KEYWORD SUMMARY
Accessibility Modifiers
Declaration Parameters
Class modifiers, Variable modifiers, Method modifiers

CONVERSION, FORMATTING AND PRECISION
Data Type Conversion, Wrapper Classes
Autoboxing
Decimal Precision and the BigDecimal class
Numeric Formatting, Date Formatting
Formatting

CASTING
Literal Values, Implicit & Explicit Casting, Casting With Operators
Casting Objects, Narrowing & Widening

THE ECLIPSE/RAD/WSAD DEVELOPMENT ENVIRONMENT (if applicable)
The Workbench
Perspectives, Views, Toolbars, Editors
Importing and exporting, Searching
Rearranging Views, Fast Views
Working With Java
Working with buildpaths and classpaths
Fixing Problems, Creating new Classes and Interfaces
The Java Editor
Editing code and elements, Content/Code Assist, Code Formatter
Managing Imports, Local History, Refactoring
Other Views
The Type Hierarchy, Using the Outline View
Running and Debugging apps


Course Format

Practical sessions make up a large part of the course, allowing delegates to demonstrate and reinforce the lectures given. During these sessions the delegate will build a simple but complete application.

Examples are used extensively, ranging from simple code 'snippets' to full applications with complete 'real world' functionality. These are supplied at the start of the course and it is encouraged that the delegates execute and 'experiment' with these under the instructor's guidance as they are introduced.

These examples are available to take away, along with the delegate's own work.

The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.


Course Enquiry