Java 8 Java 11 Java 17
Get a solid foundation in the fundamentals of Java programming
Contains around 14.5 hours of video - including exercises this should take around 5 to 7 days to complete.
Having problems? check the errata
Introduction |
||
Course Introduction 5m 43s | Preview | |
Getting started |
||
What is Java? 7m 34s | Preview | |
Where do we get it? 4m 9s | Preview | |
What verison do you get? 6m 37s | Preview | |
The Hello World program 7m 18s | Watch | |
Installing an IDE |
||
Installing Intellij Idea 13m 5s | Watch | |
Installing Eclipse 7m 51s | Watch | |
Key features of the IDE 9m 31s | Watch | |
Variables |
||
Primative data types 14m 11s | Watch | |
Basic arithmetic 12m 11s | Watch | |
Booleans, chars and arrays 6m 50s | Watch | |
Control flow |
||
For loops 9m 1s | Watch | |
While loops 6m 50s | Watch | |
If and switch 9m 11s | Watch | |
Logical Operators (AND and OR) 4m 34s | Watch | |
Strings |
||
Introducing the String 10m 27s | Watch | |
Comparing strings 2m 32s | Watch | |
The ternary operator 8m 28s | Preview | |
Concatenation and interpolation 6m 16s | Watch | |
Code structure part 1 |
||
Defining methods 6m 5s | Watch | |
Using methods 12m 5s | Watch | |
Variable scope 6m 59s | Watch | |
Introducing classes 9m 58s | Watch | |
Working with classes |
||
The purpose of classes 6m 22s | Watch | |
Getter and setter methods 9m 24s | Watch | |
Constructors 4m 17s | Watch | |
Method overloading 4m 3s | Watch | |
Class design and record classes 6m 1s | Watch | |
Wrapper classes for primatives 3m 27s | Watch | |
Practical exercise 1 |
||
Instructions 1m 15s | Watch | |
Solution walkthrough 8m 36s | Watch | |
Arrays of Objects |
||
Using arrays 5m 21s | Watch | |
The meaning of null 3m 55s | Watch | |
Looping through arrays 5m 15s | Watch | |
Creating wrapper classes 14m 1s | Watch | |
Code structure part 2 |
||
Packages 12m 54s | Watch | |
Importing from the Java libraries 4m 31s | Watch | |
The Javadocs 3m 36s | Watch | |
Time and money |
||
The history of dates and times 9m 36s | Watch | |
Working with dates and times 9m 30s | Watch | |
Using precision decimals 7m 33s | Watch | |
Object Orientation part 1 |
||
Introducing object orientation 6m 1s | Watch | |
Inheriting a class 7m 44s | Watch | |
Using constructors 7m 28s | Watch | |
Overriding methods 10m 23s | Watch | |
Abstract and sealed classes 8m 2s | Watch | |
Important methods to override |
||
Creating a toString method 6m 27s | Watch | |
Object equality and the equals mehtod 11m 28s | Watch | |
Hashcodes 2m 26s | Watch | |
Practice exercise 3m 30s | Watch | |
Enums |
||
Using enums 8m 57s | Watch | |
Practice exercise 2m 23s | Watch | |
Console Input And Output |
||
Reading input from the console 5m 48s | Watch | |
Using the scanner 4m 16s | Watch | |
Practice exercise 14m 52s | Watch | |
Exceptions |
||
Introducing exceptions and reading stack traces 10m 4s | Watch | |
Throwing exceptions 4m 54s | Watch | |
Checked and Unchecked exceptions and try-catch blocks 12m 53s | Watch | |
Creating custom exceptions 5m 8s | Watch | |
Practice exercise 7m 21s | Watch | |
Practical exercise 2 |
||
Instructions 1m 22s | Watch | |
Solution demonstration 2m 8s | Watch | |
Solution walkthrough 32m 18s | Watch | |
Collections part 1 |
||
Introducing arraylists 8m 0s | Watch | |
Generic types 3m 42s | Watch | |
Retrieving data and looping 6m 21s | Watch | |
Hashsets 2m 41s | Watch | |
Practice exercise2 7m 59s | Watch | |
Object Oriented Programming part 2 |
||
Intro to polymorphism 8m 42s | Watch | |
Using polymorphism 7m 20s | Watch | |
Practice exercise3 11m 27s | Watch | |
Object Oriented Programming part 3 |
||
What is an interface? 5m 33s | Watch | |
Creating an interface 8m 36s | Watch | |
Implementing an interface 7m 18s | Watch | |
Interfaces in the Java libraries 6m 21s | Watch | |
Default and static methods 5m 34s | Watch | |
Practice exercise4 15m 39s | Watch | |
Collections part 2 |
||
Sorting lists 17m 29s | Watch | |
Maps 10m 47s | Watch | |
Practice exercise 5m 48s | Watch | |
Garbage collection |
||
How memory is managed in Java 5m 0s | Watch | |
The StringBuilder class 5m 28s | Watch | |
Practical exercise 3 |
||
Instructions 1m 37s | Watch | |
Solution demonstration 2m 52s | Watch | |
Solution walkthrough 19m 20s | Watch | |
Lambda syntax |
||
Anonymous inner classes 12m 48s | Watch | |
Lambda syntax 8m 2s | Watch | |
Using streams 8m 12s | Watch | |
Practical exercise 6m 1s | Watch | |
Deployment |
||
Creating a jar file 5m 12s | Watch | |
Running a jar file 2m 25s | Watch | |
The jpackage tool 0m 56s | Watch | |
Unit testing |
||
Introduction to Unit testing 10m 49s | Watch | |
Exploring asssertions 8m 53s | Watch | |
Using external libraries and build tools |
||
Using external libraries 12m 53s | Watch | |
Introducing Maven 5m 20s | Watch | |
Getting project dependencies with Maven 11m 3s | Watch | |
Building a Jar file with Maven 3m 26s | Watch | |
Using databases |
||
What is a relational database? 2m 49s | Watch | |
Introducing JDBC 16m 30s | Watch | |
Mapping database tables with objects 18m 47s | Watch | |
Practice Exercise 27m 20s | Watch | |
Reading and writing files |
||
Referencing files and paths 20m 20s | Watch | |
Using the FileWriter and FileReader 13m 54s | Watch | |
Using the File and Path objects 10m 52s | Watch | |
Practice Exercise 6m 37s | Watch | |
Goodbye |
||
Course Summary and next steps 1m 20s | Watch | |