Foundations
Learn the foundational principles of Java.
- The Java philosophy
- Java Virtual Machine
- Compiling and running programs
|
Introduction to the language
In this module, you will learn the first fundamental steps of Java development.
- Primitive data-types
- Statements and expressions
- Operators
- Arrays
|
Object-oriented programming
Learn how to create programs using objects.
- Types, classes and objects
- Methods
- Members
- Constructors and destructors
- Enumerations
|
Object-oriented design
There are many principles behind good object-oriented development. You will explore them in this module.
- Inheritance
- Interfaces
- Visibility
- Packages
- Static methods and types
- Polymorphism
|
Exception-handling
It is essential for robust programs to write them so that they can handle unexpected problems.
- try-catch-finally
- Exception types
- Logging
|
Core Utilities
In this module, you will learn the basic building blocks of Java programs.
- Collections(Lists, Sets, Stacks, Queues, Maps)
- Mathematics
- Dates and Times
|
Generics
You will learn how to take advantage of Generics.
- Motivation
- Parameterized types
- Wildcards
- Subtypes
|
Input/Output
Learn which tools are available in Java to deal with input to and output from your program.
|
GUIs with Swing
Swing is Java's main library for building GUIs. This module will teach you how to build GUIs using Swing.
- Components
- Containers
- Layout management
- Event-handling
|
Threads
Java allows you to implement multiple threads of execution within a single program. This module explores this advanced topic.
- Introduction to using threads
- Creating and executing threads
- Synchronisation
- Common problems
|