Improve your coding skills from beginner to expert with the largest online Java e-learning platform

Java Fundamentals

featuring basic java syntax, program structure, object oriented programming, databases and collections.
  • This Java Fundamentals training course covers the basics of programming in Java.
  • Full details of how to install a Java Development Kit (JDK)
  • The major aspects of java syntax, object oriented programming, unit testing with JUnit and working with databases.
  • The course is written using Java 7 although students using any version of Java from 6 upwards will be able to work with this course.
  • The course is valid for Java 8 - there are only minor changes in relation to the fundamentals.
  • Most of the course and learning is focused around building a real-world example application.


You do not need any previous Java knowledge or experience to take this course. We cover everything right from the start - including how to install Java and the Java Development Kit. Some basic programming knowledge in other languages is assumed - for example you should know what is meant by terms like variable, loop and condition. Students completely new to programming will be able to take this course but might need to look-up standard programming terms which are unfamiliar.

Contents - contains over 12 hours of video - equivalent to 5 days of live training.


Having problems? check the errata for this course.


Course Overview

7 m 12 s
A quick overview of the course.


The Java Development Kit

18 m 38 s
We download and install the Java Development Kit - this is required to compile Java code, and we test the installation by compiling a simple application.


Installing an IDE

27 m 39 s
We download and install Eclipse - one of the most common integrated Development Environments, and have a look at how to write, compile and run java code in Eclipse.


Java Variables

20 m 25 s
A look at the main (primitive) Java datatypes, how to manipulate data, and arrays


Control Flow

34 m 13 s
Understanding how to control the flow of our code using for and while loops, if statements and switches, plus a brief look at the string data type.


Comparing Strings

8 m 35 s
How to compare 2 strings, doing a switch statement with strings, and introducing the ternary operator


Object Orientation

25 m 12 s
Understanding functions, creating classes and objects


Writing a Class

27 m 2 s
Working out what your classes should be, understanding class constructors and creating Enumeration Types


Practical Session 1

23 m 4 s
An in-depth practical - in this session we create our second class, and see more on manipulating strings and overloading


Arrays of Objects

24 m 23 s
Working with arrays of objects and creating a basic collection class



10 m 57 s
How to structure our code into a manageable structure with packages


The Java Library

27 m 48 s
How to work with dates and times in Java, and an introduction to the JavaDocs


Java Library: Handling Numbers

16 m 12 s
Formatting numbers and working with precision decimals including dealing with money.


Handling Garbage

16 m 7 s
How Java handles garbage, immutable classes and the StringBuilder class



26 m 23 s
Using the extends keyword to create inheritance relationships - parent and child classes


Overriding and Abstract

22 m 25 s
Overriding methods in inherited classes and use of the keyword abstract to prevent classes from being instantiable or to force methods to be overridden


equals() and toString()

19 m 6 s
Overriding the toString() method to create a custom way of printing an object, and the equals() method to allow 2 objects to be compared.



22 m 25 s
Understanding how errors in code (programming exceptions) work in Java, creating custom exceptions and handling exceptions with try catch blocks. We also look at the difference between checked and unchecked exceptions.


Practical Session 2

24 m 26 s
Our second in-depth practical - putting into practice much of what we have learned so far, by developing some new functionality for our project.


Unit Testing

43 m 0 s
Mastering automatic code testing using Junit


Introducing Collections

29 m 44 s
Learning about collections in Java, including the ArrayList, HashSet and HashMap


Collections in Practice

54 m 54 s
Another in-depth practical session - this time upgrading our application by replacing the arrays with collections. We also see the different types of HashMap - the LinkedHashMap and the TreeMap



35 m 28 s
An introduction to polymorphism and a worked exercise to enhance our project application by upgrading one of our collection classes to work with inherited objects.



17 m 11 s
We look at the differences between abstract classes and interfaces, and incorporate interfaces into our project application


Databases and JDBC

29 m 15 s
Connecting to a relational database and accessing data. This chapter includes installing the Derby database software.



26 m 25 s
Exception handling with databases, Automatic Resource Management, and changing data in databases, including using Prepared Statements


Major Practical

42 m 3 s
Another in depth practical - this time we’ll apply the database functionality to our project application.


External libraries and Deployment

28 m 49 s
How to use external class libraries in our projects, and how to distribute our classes and/or full applications.


Course Review

9 m 12 s
A review of what we have learned, ideas of where to go next in your Java learning, and some recommendations of books and websites.

Let the Course Come to You

About Us Pricing Frequently Asked Questions Contact Privacy T&Cs Affiliates and Resellers
Facebook Twitter YouTube LinkedIn