← Course catalogue
SWE-210Intermediate

Software development

Java Application Development

Develop tested object-oriented Java applications from requirements to packaged delivery.

Course outline: enrolment opens after THNF content and assessment review.

What you will be able to do

Clear outcomes. Practical evidence.

  • Use Java types and collections
  • Apply object-oriented design
  • Handle errors and files
  • Test and package an application

Course structure

Modules and lessons

01

Java setup, syntax and types

Explain and apply JDK, JVM, source/bytecode, primitives, references, records, BigDecimal to a tested, privacy-safe solution.

  1. Java setup, syntax and types60 min
02

Control flow and methods

Explain and apply conditions, switch, loops, parameters, return, overloading to a tested, privacy-safe solution.

  1. Control flow and methods60 min
03

Collections, exceptions and debugging

Explain and apply List/Set/Map, generics, checked/unchecked exceptions, debugger to a tested, privacy-safe solution.

  1. Collections, exceptions and debugging60 min
04

Classes, objects and encapsulation

Explain and apply constructors, invariants, access modifiers, immutability, records to a tested, privacy-safe solution.

  1. Classes, objects and encapsulation60 min
05

Inheritance, interfaces and polymorphism

Explain and apply interface contract, substitution, composition, sealed types to a tested, privacy-safe solution.

  1. Inheritance, interfaces and polymorphism60 min
06

SOLID and layered design

Explain and apply SRP, OCP, LSP, ISP, DIP, domain/service/repository layers to a tested, privacy-safe solution.

  1. SOLID and layered design60 min
07

Generics, streams and files

Explain and apply generic types, stream pipeline, Optional, Path/Files, CSV to a tested, privacy-safe solution.

  1. Generics, streams and files60 min
08

JDBC and relational persistence

Explain and apply DataSource, PreparedStatement, ResultSet, transaction, DAO/repository to a tested, privacy-safe solution.

  1. JDBC and relational persistence60 min
09

Maven or Gradle and JUnit

Explain and apply standard layout, lifecycle, dependencies, JUnit 5, parameterised tests to a tested, privacy-safe solution.

  1. Maven or Gradle and JUnit60 min
10

REST services and Spring foundations

Explain and apply controller, service, repository, DTO, validation, HTTP status, exception handler to a tested, privacy-safe solution.

  1. REST services and Spring foundations60 min
11

Capstone sprint

Explain and apply backlog, vertical slice, review, CI, definition of done to a tested, privacy-safe solution.

  1. Capstone sprint60 min
12

Release and demonstration

Explain and apply versioning, packaging, configuration, README, demo, retrospective to a tested, privacy-safe solution.

  1. Release and demonstration60 min

Access and progression

Know what the course requires.

The required capability matters; the learner does not have to personally own every device.

Who it is for

Aspiring developers, technical learners, career changers and practitioners seeking applied computing skills.

Hardware access

Personal 64-bit computer with 4 GB RAM and 20 GB free, or use the required device and software at a readiness-approved THNF centre.

Software and practical access

Course software is available through the text-first pack, an approved offline installer or a readiness-approved THNF centre.

Possible progression

Junior development, data, web, application-support or technical-project progression appropriate to the completed portfolio.

Progression is not a guarantee of employment or external certification.

Sierra Leone context

Mobile-first, low-data solutions for Sierra Leonean schools, traders, transport, agriculture, NGOs and SMEs using synthetic local names, districts and NLe values.

Skills in context

Career directions and next steps

These are realistic directions that the skills can support—not promises of employment, job titles or external certification.

  • Junior software developer
  • Application-support assistant
  • Software-testing assistant
Possible progression pathways

Programming and software engineering