Java

Level 2 of 3

Intermediate Level

Prerequisites

Java Beginner level, or equivalent experience with classes, methods, loops and ArrayList.

Duration

8 weeks · 90 guided hours · 6 modules. Taught live by an instructor — online or in person.

By the end of this level you can

  • Design class hierarchies with inheritance, abstract classes and interfaces, and use polymorphism
  • Choose and use the right collection (List, Set, Map) and sort data with Comparator
  • Handle errors with exceptions and read and write CSV files safely
  • Organise code into packages and build it with Maven
  • Write automated unit tests with JUnit 5 and use them when fixing bugs

Modules

  1. 1Module 1 · 15 h · 3 lessonsInheritance, Interfaces and Polymorphism
  2. 2Module 2 · 16 h · 3 lessonsThe Java Collections Framework
  3. 3Module 3 · 16 h · 3 lessonsExceptions and File Input/Output in Java
  4. 4Module 4 · 13 h · 3 lessonsPackages and Builds with Maven
  5. 5Module 5 · 13 h · 3 lessonsUnit Testing with JUnit 5
  6. 6Module 6 · 17 h · 3 lessonsIntermediate Java Project

Intermediate level project

Community Library Loans System

A multi-class console application for a community library that manages members, books and loans, saves its data to CSV files and is covered by unit tests.

Deliverables

  • A Maven project with code organised into at least three packages (model, service, storage)
  • Features to add members and books, lend and return books, and list overdue loans
  • CSV persistence so data survives a restart
  • At least 15 JUnit tests covering the loan rules and error cases

Assessed on

  • Loan rules are enforced (no lending an already-lent book, limit per member) and tested
  • Appropriate use of interfaces, collections and custom exceptions
  • Data is saved and reloaded correctly, and file errors are reported clearly
  • The project builds and all tests pass with mvn test

All levels are taught live by an instructor — online or in person — see registration options.