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
- 1Module 1 · 15 h · 3 lessonsInheritance, Interfaces and Polymorphism
- 2Module 2 · 16 h · 3 lessonsThe Java Collections Framework
- 3Module 3 · 16 h · 3 lessonsExceptions and File Input/Output in Java
- 4Module 4 · 13 h · 3 lessonsPackages and Builds with Maven
- 5Module 5 · 13 h · 3 lessonsUnit Testing with JUnit 5
- 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.