Topics

1

Your first Java program and the JVM

Understand class, main, compilation to bytecode and the JVM.

Free
2

Variables and data types

Use primitive types and know their sizes and defaults.

Free
3

Operators and Scanner input

Read input and compute with operators.

Full course
4

Conditions and switch

Branch with if/else and the switch statement.

Full course
5

Loops

Use for, while, do-while and enhanced for.

Free
6

Arrays

Create and process 1D and 2D arrays.

Full course
7

Strings, immutability and StringBuilder

See why String is immutable and when to use StringBuilder.

Full course
8

Methods and pass-by-value

Write methods and see that Java passes copies of references.

Full course
9

Classes and objects

Create objects with new and see references on the stack and objects on the heap.

Free
10

Constructors and this

Initialise objects with constructors and use this.

Full course
11

static members

Know the difference between per-object and shared class data.

Full course
12

Encapsulation

Hide data with private fields and expose getters/setters.

Full course
13

Inheritance

Reuse code with extends and super.

Free
14

Polymorphism: overloading and overriding

Same method name, different behaviour at compile time and runtime.

Full course
15

Abstract classes and interfaces

Define contracts with abstract classes and interfaces.

Full course
16

Exception handling

Use try/catch/finally, throw and custom exceptions.

Full course
17

ArrayList

Use a resizable list and know how it grows.

Full course
18

HashMap and HashSet

Store key-value pairs and unique items; see how hashing buckets work.

Full course
19

Generics

Write type-safe classes and methods.

Full course
20

Lambdas and Streams

Process collections with lambdas, filter, map and collect.

Full course
21

Multithreading basics

Run tasks in parallel and see race conditions and synchronized.

Full course
22

Memory, null and garbage collection

Understand references, null and how GC frees unreachable objects.

Full course
23

Mini project: bank management

Combine OOP, collections and exceptions.

Full course