FA-0634Software Development

Java Foundations: Extended Practice

A five-day beginner course with collections, concurrency and project consolidation

Build Java foundations over five days, from JShell and classes to collections, introductory concurrency and a guided application project.

Introduction

Why this course

This five-day course begins at Java beginner level and adds practice with collections, generics, streams and introductory concurrent programming. It uses JShell, one selected IDE and a prepared compatible development environment.

A guided small application develops across the course. Repeated object, file and database topics on the final day become consolidation, refactoring and assessment rather than an unrelated second syllabus. Sessions are scheduled as eight-hour days including the source’s stated breaks and lunch, leaving approximately six and a half hours of teaching and exercises per day.

Learning outcomes

Learning outcomes

The course teaches participants to:

  • Describe Java uses and recognise platform and tooling requirements.
  • Use variables, expressions, control flow and reusable methods in small programs.
  • Compile, run and debug code in a selected IDE.
  • Apply classes, constructors, encapsulation and simple abstractions.
  • Use prepared libraries, file access and basic database operations.
  • Work with collections, generics, lambdas and streams.
  • Identify termination and shared-state issues in introductory recursion and threading examples.
  • Consolidate and explain a small application through refactoring, testing and assessment.
Prerequisites

Prerequisites

  • No previous Java programming is required; basic computer, file-management and problem-solving skills are helpful.
  • A prepared compatible JDK with JShell, selected IDE, supplied libraries and a disposable database.
  • Internet access for authorised dependency downloads; SSH access is needed only if a supplied remote training environment is used.
Training outline

5 modules

·
01Day 1 — Java and Programming Foundations1 topics

Java Uses

  • Overview of Java
  • Compare Java application contexts and their platform/framework requirements at awareness level.
    • Java for application development
    • Java in Android development: recognise its distinct mobile tools and runtime requirements.
    • Java for Web Application development
    • Java as in integration tool

Coding Principles

  • Algorithms
  • Flow
  • Logic
  • Subroutines
  • Dependencies
  • Variables, references and automatic memory management at introductory level.

JShell Experiments

  • Hello World
    • Arithmetic operations.
    • Basic I/O
    • Simple value and text manipulation.
    • Expressions
    • Variables
    • Data Types
  • Operators
  • Conditions
  • Loops
02Day 2 — Methods, Build Tools and Objects1 topics

Methods

  • Creation
  • Reusability
  • Arguments
  • Expressions

Compile, Run and Use an IDE

  • Compiling
  • Local build, package and run demonstration; not an independent production rollout.
  • IDE
    • Overview of Eclipse.
    • Overview of IntelliJ IDEA.
    • Use one selected IDE for exercises and compare alternatives briefly.

Libraries and Object-Oriented Code

  • Use an external library and inspect a simple distributable library package.
  • Introduction to OOP
  • Practise a small class design, not advanced architecture.
  • Refactoring
  • Creating Objects from Classes
03Day 3 — Objects, Files and Database Access8 topics
  • I/O within Classes
  • Encapsulation in coding
  • Getters and Setters
  • Properties and methods
  • Abstractions
  • Constructors
  • File access
  • Basic database access in a disposable training environment.

Guided Project and Progress Review

Develop the initial small application using prepared sample data and review its behaviour.

04Day 4 — Collections and Concurrency10 topics
  • Collections
  • Compare lists and arrays through small examples.
  • Generics
  • Lambdas and functional interfaces.
  • Recursion, base cases, depth limits and alternatives.
  • Stream processing; parallelism is not automatically faster.
  • Threads
  • A small concurrent-task example and its limitations.
  • Synchronisation and shared-state risks.
  • Executor/task utilities suitable for the selected JDK.
05Day 5 — Consolidation and Application Assessment1 topics

Revisit Object and Data Design

Review and refactor the project’s constructors, properties, accessors, encapsulation and simple abstractions.

File and Database Practice

Extend or improve the selected file/database operation in the same training project, with explicit resource and error handling.

Project and Assessment

Build and run the application locally, inspect library packaging, explain selected design choices and diagnose a prepared fault.

A programme built around your team.

Share your training goals and requirements.

Java Foundations: Extended Practice
FA-0634

Share your requirements for this programme.

Training enquiry

Java Foundations: Extended Practice