Course 430:
Essential Java

(5 days)


Course Description

This course aims to equip attendees with the knowledge and core skills required to write basic Java programs. Starting immediately with exercises, the course is highly hands-on with a learning-by-doing approach to teaching the Java language applied.

Learning Objectives

After successfully completing this course, students will be able to:

  • Write simple, well structured, clean Java programs
  • Define classes and instantiate objects
  • Effectively use the core language constructs for decision making and iteration
  • Read and write data to/from files
  • Work with core collections
  • Handle exceptions in an appropriate manner
  • Store and retrieve data from relational databases
  • Use lambda expressions effectively
  • Define and using functional interfaces
  • Use sequential and parallel streams

Who Should Attend

This course is designed for attendees who are totally new to Java but require a fast-paced introduction to the core language. A knowledge of programming will help significantly.


Students should have working knowledge in a procedural language or scripting language. Alternatively, students should have taken ROI Course 400: Learning to Think Like a Programmer. Although not required, prior exposure to object-oriented concepts will prove helpful.

Course Outline

Introducing Java Programming

  • Structure of a Java Program
  • Compiling and Executing Java Programs
  • Working with an Integrated Development Environment

Core Java Syntax

  • Declaring, Initializing, and Using Variables
  • Operators and Operator Precedence
  • Making Decisions
  • Conditionals and Loops
  • Declaring and Using Arrays

Object–Oriented Programming with Java

  • Introducing Object-Oriented Programming
  • Encapsulation, Inheritance, and Polymorphism
  • Effective Class Design
  • Instantiating Objects from Classes
  • Working with Java Libraries

Defining Classes

  • Defining a Class
  • Adding Methods to a Class
  • Method Overloading
  • Working with Constructors
  • Making Use of Inheritance
  • Introducing Interfaces
  • Implementing Interfaces
  • Method Overriding

Java Input Output

  • Structure of Java I/O Library
  • Reading and Writing Text Files
  • Reading and Writing Streams
  • Object Serialization
  • Exception Handling

Java Collections

  • Overview of Java Collections
  • List, Set, Map, and Queue
  • Iterators and Iterating over Collections

Java Database Access

  • The JDBC API
  • Executing SQL Statements from Java
  • Transaction Handling

Java 8 Lambdas

  • What Is a Lambda?
  • Formal Syntax for Lambda Expressions
  • Lambda Expression Simple Syntax
  • Lambda Expressions that Return a Value
  • Lambda Expressions with Multiple Arguments
  • Lambda Expressions and Scope
  • Common Usage Scenarios

Method Enhancements

  • Method References
  • Constructor References
  • Default Methods
  • Static Methods in Interfaces

Functional Interfaces

  • Function
  • Predicate
  • Consumer
  • Supplier
  • BinaryOperator
  • Additional Interfaces


  • Sequential vs. Parallel Streams
  • Immediate vs. Terminal Operations
  • Lazy Evaluation
  • Immediate and Terminal Operations in detail
  • Primitive Specialized Streams

Please Contact Your ROI Representative to Discuss Course Tailoring!