Application Development & Programming Training Icon

Introduction to Programming, OO and Java 8 Essentials for Non-Programmers

5 Days Classroom Session   |  
5 Days Live Online
Classroom Registration
Private Onsite Package

This course can be tailored to your needs for private, onsite delivery at your location.

Request a Private Onsite Price Quote

Professional Credits


ASPE is an IIBA Endorsed Education Provider of business analysis training. Select Project Delivery courses offer IIBA continuing development units (CDU) in accordance with IIBA standards.


Select courses offer Leadership (PDU-L), Strategic (PDU-S) and Technical PMI professional development units that vary according to certification. Technical PDUs are available in the following types: ACP, PBA, PfMP, PMP/PgMP, RMP, and SP.


Introduction to Programming, OO and Java 8 Essentials is a five-day, basic-level training course geared for IT candidates who have no prior experience in computer programming. Throughout this gentle introduction to programming and Java, students will learn the best practices for writing object-oriented programs in Java 8, using sound development techniques. Students will learn foundation level skills that maximize performance, using Java 8 capabilities for addressing rapid application development. Special emphasis is placed on object-oriented concepts and best practices throughout the training. 

Working within an engaging, hands-on learning environment, attendees will learn to:

  • The steps involved in the creation and deployment of a computer program
  • What OO programming is and what the advantages of OO are in today's world
  • To work with objects, classes, and OO implementations
  • The basic concepts of OO such as encapsulation, inheritance, polymorphism, and abstraction
  • The basic constructs that all programming languages share
  • The basic Java constructs supporting processing as well as the OO orientation
  • Learn to use Java exception handling
  • Understand and use classes, inheritance and polymorphism
  • Understand and use collections, generics, autoboxing, and enumerations
  • Take advantage of the Java tooling that is available with the programming environment being used in the class
Upcoming Dates and Locations
All Live Online times are listed in Eastern Time Guaranteed To Run
Request a quote for private onsite training Request
May 4, 2020 – May 8, 2020    10:00am – 6:00pm Live Online Register
Jul 13, 2020 – Jul 17, 2020    10:00am – 6:00pm Live Online Register
Sep 14, 2020 – Sep 18, 2020    10:00am – 6:00pm Live Online Register
Nov 16, 2020 – Nov 20, 2020    10:00am – 6:00pm Live Online Register
Course Outline

Session: Introduction to Computer Programming

Lesson: Introduction to Programming

  • What is a Computer Program?
  • Problem Solving using Programs
  • The Spectrum of Programming Languages

Lesson: Requirements to Production

  • Starting with Requirements
  • Designing a Program
  • Implementing the Program
  • Converting Source Code to Machine Language
  • Executing Machine Language
  • Testing to Requirements
  • Deploying to Production
  • Exercise: Business Use Case: Payroll

Lesson: Programming Tools

  • Design Tools
  • Development Tools
    • Code Editors
    • Documentation
    • Compilers
    • Debuggers
  • Execution Tools
    • Runtime Environments
    • Interpreters
    • Libraries
  • Testing Tools

Session: Programming Fundamentals

Lesson: Thinking About Objects

  • Real-World Objects
  • Programming Objects
  • State and Functionality
  • Classes as a Template for Instances
  • Working with a Class
    • A Class Diagram
    • Implementing the Class
    • Compiling the Class
    • Executing the Class
  • Exercise: Modelling Employees for Payroll

Lesson: Program Basics

  • Different Languages, Different Syntax
  • Features of Any Program
    • Entry Point
    • Instructions
    • Exit Points
  • Why Break a Program Apart?

Lesson: Programming Constructs

  • Handling Data:
    • Variables and constants
    • Arrays, Lists and Queues
  • Handling Functionality
    • Methods
    • Pre-defined Functionality
  • Handling Flow Control
    • Decision structures
    • Repetition (loops)
  • Exercise: Implementing Payroll

Session: Java: A First Look

Lesson: The Java Platform

  • Java Platforms
  • Lifecycle of a Java Program
  • Responsibilities of JVM
  • Documentation and Code Reuse

Lesson: Using the JDK

  • Setting Up Environment
  • Locating Class Files
  • Compiling Package Classes
  • Source and Class Files
  • Java Applications
  • Exercise: Exploring ColorPicker and MemoryViewer

 Lesson: The Eclipse Paradigm

  • Workbench and Workspace
  • Views
  • Editors
  • Perspectives
  • Projects
  • Tutorial: Working with Eclipse Neon

Lesson: Writing a Simple Class

  • Classes in Java
  • Class Modifiers and Types
  • Class Instance Variables
  • Primitives vs. Object References
  • Creating Objects
  • Exercise: Create a Simple Class

Session: OO Concepts

Lesson: Object-Oriented Programming

  • Real-World Objects
  • Classes and Objects
  • Object Behavior
  • Methods and Messages

Lesson: Inheritance, Abstraction, and Polymorphism

  • Encapsulation
  • Inheritance
  • Method Overriding
  • Polymorphism

Session: Getting Started with Java

Lesson: Adding Methods to the Class

  • Passing Parameters into Methods
  • Returning a Value from a Method
  • Overloaded Methods
  • Constructors
  • Optimizing Constructor Usage
  • Exercise: Create a Class with Methods

Lesson: Language Statements

  • Operators
  • Comparison and Logical Operators
  • Looping
  • Continue and Break Statements
  • The switch Statement
  • The for-each() Loop
  • Exercise: Looping

Lesson: Using Strings

  • Strings
  • String Methods
  • String Equality
  • StringBuffer
  • StringBuilder
  • Exercise: Fun with Strings
  • Exercise: Using StringBuffers and StringBuilders

Lesson: Specializing in a Subclass

  • Extending a Class
  • Casting
  • The Object Class
  • Default Constructor
  • Implicit Constructor Chaining
  • Exercise: Creating Subclasses

Session: Essential Java Programming

Lesson: Fields and Variables

  • Instance vs. Local Variables: Usage Differences
  • Data Types
  • Default Values
  • Block Scoping Rules
  • Final and Static Fields
  • Static Methods
  • Exercise: Field Test

Lesson: Using Arrays

  • Arrays
  • Accessing the Array
  • Multidimensional Arrays
  • Copying Arrays
  • Variable Arguments
  • Exercise: Creating an Array

Lesson: Java Packages and Visibility

  • Class Location of Packages
  • The Package Keyword
  • Importing Classes
  • Executing Programs
  • Java Naming Conventions

Session: Advanced Java Programming

Lesson: Inheritance and Polymorphism

  • Polymorphism: The Subclasses
  • Upcasting vs. Downcasting
  • Calling Superclass Methods from Subclass
  • The final Keyword
  • Exercise: Salaries - Polymorphism

Lesson: Interfaces and Abstract Classes

  • Separating Capability from Implementation
  • Abstract Classes
  • Implementing an Interface
  • Abstract Classes vs. Interfaces
  • Exercise: Mailable - Interfaces

Lesson: Exceptions

  • Exception Architecture
  • Handling Multiple Exceptions
  • Automatic Closure of Resources
  • Creating Your Own Exceptions
  • Throwing Exceptions
  • Checked vs. Unchecked Exceptions
  • Exercise: Exceptions

Session: Java Developer's Toolbox

Lesson: Utility Classes

  • Wrapper Classes
  • The Number Class
  • Random Numbers
  • Autoboxing/Unboxing
  • The Date Class
  • Exercise: Using Primitive Wrappers

Lesson: Enumerations and Static Imports

  • Enumeration Syntax
  • When You Should Use Enumerations
  • Using Static Imports
  • When You Should Use Static Imports
  • Exercise: Enumerations

Lesson: Formatting Strings

  • StringJoiner
  • format
  • out.printf
  • The Formatter class
  • Using the formatting syntax

Session: Collections and Generics

Lesson: Introduction to Generics

  • Generics and Subtyping
  • Bounded Wildcards
  • Generic Methods
  • Legacy Calls to Generics
  • When Generics Should Be Used
  • Exercise: ShoppingCart

Lesson: Collections

  • Characterizing Collections
  • Collection Interface Hierarchy
  • Iterators
  • The Set Interface
  • The List Interface
  • Queue Interface
  • Map Interfaces
  • Using the Right Collection
  • Collections and Multithreading
  • Exercise: Collections Poker
Who should attend

This is a beginner- level programming course, designed for IT candidates without prior development experience who wish to get up and running with Java to a basic level of competency, or who need to refresh introductory-level, sound object-oriented Java coding practices.  We assume some amount of basic user experience with the use of computers and working with Windows.  Attending students are usually working towards becoming developers.


We assume some amount of basic user experience with the use of computers and working with Windows.  Attending students are usually working towards becoming developers.