What You'll Learn
✔ Build a neural network from first principles — perceptrons, logic gates, linear separability, and the foundations of modern deep learning ✔ Implement matrix mathematics in Java — create your own matrix class, transformations, and optimized multiplication ✔ Use activation functions like ReLU and Softmax — implement them from scratch and understand why they matter ✔ Apply information theory and cross‑entropy — entropy, symbol spaces, optimal encoding, and loss functions ✔ Code backpropagation step by step — gradients, chain rule, weighted sums, and full backward passes ✔ Load and process the MNIST dataset — read binary files, parse metadata, batch data, and prepare inputs ✔ Train a network to recognise handwritten digits — run epochs, batches, evaluate loss, and track accuracy ✔ Use multithreading to speed up training — concurrent batch execution and safe locking ✔ Build a reusable neural‑network engine — layers, loaders, configuration, saving/loading models
Who This Course Is For
✔ Java developers who want to understand neural networks at a deep, mathematical level ✔ Programmers moving into machine learning who prefer learning by building instead of relying on libraries ✔ Self‑taught learners who want a clear, structured path through the fundamentals of neural networks ✔ Engineers who want to see how ML works under the hood rather than treating it as a black box ✔ Anyone frustrated by Python‑only ML tutorials and looking for a Java‑based alternative ✔ Developers who enjoy building systems from scratch and want a reusable neural‑network engine they fully understand
The syllabus
-
1
Introduction and Perceptron
-
(Included in full purchase)
Introduction
-
(Included in full purchase)
Why Write a Neural Network
-
(Included in full purchase)
Getting the Most Out of This Course
-
(Included in full purchase)
Java vs Python
-
(Included in full purchase)
Neurons
-
(Included in full purchase)
Perceptron
-
(Included in full purchase)
Project With JUnit Support
-
(Included in full purchase)
Coding Perceptron
-
(Included in full purchase)
Where to Find the Source Code
-
(Included in full purchase)
Eclipse Formatters
-
(Included in full purchase)
Logic Gates
-
(Included in full purchase)
Perceptron AND
-
(Included in full purchase)
OR NOR NAND
-
(Included in full purchase)
XOR and XNOR
-
(Included in full purchase)
Linear Separability
-
(Included in full purchase)
Some Layer Terminology
-
(Included in full purchase)
Labelling Weights
-
(Included in full purchase)
Matrices
-
(Included in full purchase)
Some Mathematical Terminology
-
(Included in full purchase)
-
2
Matrix Mathematics
-
(Included in full purchase)
A Matrix Class
-
(Included in full purchase)
Initialising the Matrix
-
(Included in full purchase)
Matrix toString Method
-
(Included in full purchase)
Testing the toString Method
-
(Included in full purchase)
The Apply Method
-
(Included in full purchase)
Multiplying Matrices By a Value
-
(Included in full purchase)
Comparing Matrices
-
(Included in full purchase)
Using the Equals Method
-
(Included in full purchase)
Adding Matrices
-
(Included in full purchase)
Motivation for Matrix Multiplication
-
(Included in full purchase)
Multiplying the Tables
-
(Included in full purchase)
Matrix Multiplication
-
(Included in full purchase)
Matrix Multiplication Rule
-
(Included in full purchase)
Matrix Multiplication Summary
-
(Included in full purchase)
Matrix Multiplication Examples
-
(Included in full purchase)
Assertions
-
(Included in full purchase)
2D to 1D
-
(Included in full purchase)
Iterating Over Multiplicand Rows
-
(Included in full purchase)
Completing the Multiplication Implementation
-
(Included in full purchase)
Timing Matrix Multiplication
-
(Included in full purchase)
Optimising Matrix Multiplication
-
(Included in full purchase)
-
3
Activation Functions
-
(Included in full purchase)
Neural Net Test Class
-
(Included in full purchase)
Modifying Matrices
-
(Included in full purchase)
Adding Bias
-
(Included in full purchase)
Multiple Columns of Input
-
(Included in full purchase)
ReLu
-
(Included in full purchase)
A ReLu Test
-
(Included in full purchase)
Matrix forEach
-
(Included in full purchase)
Implementing ReLu
-
(Included in full purchase)
Introducing Softmax
-
(Included in full purchase)
Softmax Worked Example
-
(Included in full purchase)
Summing Columns
-
(Included in full purchase)
Implementing Softmax
-
(Included in full purchase)
Testing Softmax
-
(Included in full purchase)
The Engine
-
(Included in full purchase)
Deciding Weight Matrix Sizes
-
(Included in full purchase)
An Untrained Network
-
(Included in full purchase)
Configuring Dense Layers
-
(Included in full purchase)
Adding Multiple Layers
-
(Included in full purchase)
Running the Engine
-
(Included in full purchase)
-
4
Information Theory and Cross Entropy
-
(Included in full purchase)
Mean Squares Loss
-
(Included in full purchase)
What is Information
-
(Included in full purchase)
Symbol Spaces
-
(Included in full purchase)
Entropy
-
(Included in full purchase)
An Optimal Encoding Strategy
-
(Included in full purchase)
Unequally Probable Symbols
-
(Included in full purchase)
Calculating the Information Assoicated With a Symbol
-
(Included in full purchase)
Entropy for Unequally Probable Symbols
-
(Included in full purchase)
Introducing Cross Entropy
-
(Included in full purchase)
Cross Entropy Example
-
(Included in full purchase)
Cross Entropy as a Loss Function
-
(Included in full purchase)
Implementing Cross Entropy
-
(Included in full purchase)
A Cross Entropy Test
-
(Included in full purchase)
Implementing the Cross Entropy Test
-
(Included in full purchase)
-
5
Calculus and Backpropagation
-
(Included in full purchase)
Training the Network
-
(Included in full purchase)
Gradient Descent
-
(Included in full purchase)
Gradients and Neural Networks
-
(Included in full purchase)
A Calculus Class
-
(Included in full purchase)
Implementing Differentiation
-
(Included in full purchase)
Basic Mathematical Notation
-
(Included in full purchase)
Partial Derivatives
-
(Included in full purchase)
Overview of a 3 Layer Network
-
(Included in full purchase)
The Network as a Transform
-
(Included in full purchase)
Approximator
-
(Included in full purchase)
Mock Expected Data
-
(Included in full purchase)
Implementing the Transform
-
(Included in full purchase)
Examining Loss
-
(Included in full purchase)
An AddIncrement Method
-
(Included in full purchase)
Completing the Approximator
-
(Included in full purchase)
Recap and Natural Logarithms
-
(Included in full purchase)
Finishing the Approximator Test
-
(Included in full purchase)
Back Propagation
-
(Included in full purchase)
Obtaining Softmax Cross Entropy Gradient
-
(Included in full purchase)
Backpropagating Errors Through Weighted Sums
-
(Included in full purchase)
Introducing the Chain Rule
-
(Included in full purchase)
Programming the Chain Rule
-
(Included in full purchase)
Chain Rule for Functions of Multiple Variables
-
(Included in full purchase)
Programming Multi Variable Chain Rule
-
(Included in full purchase)
More Mathematical Terminology
-
(Included in full purchase)
Matrix Transpose
-
(Included in full purchase)
Implementing Transpose
-
(Included in full purchase)
Backpropagation Through Weights
-
(Included in full purchase)
Calculating the Backpropagation Transform for Weights
-
(Included in full purchase)
Creating a Test for Weights Backprop
-
(Included in full purchase)
Creating Weights and Biases
-
(Included in full purchase)
Completing the Weights Backprop Test
-
(Included in full purchase)
Improving the Weight Backprop Test
-
(Included in full purchase)
Backpropagating Through ReLu
-
(Included in full purchase)
Implementing Backpropagation Through ReLu
-
(Included in full purchase)
-
6
The Neural Network Engine
-
(Included in full purchase)
Adding a RunBackwards Method
-
(Included in full purchase)
A Test Data Class
-
(Included in full purchase)
A Batch Result Class
-
(Included in full purchase)
Configuring the Engine
-
(Included in full purchase)
Checking the Loss and Final Transform
-
(Included in full purchase)
Storing Errors
-
(Included in full purchase)
Initiating Backpropagation
-
(Included in full purchase)
Checking Initial Backpropagation
-
(Included in full purchase)
Adding Backpropagation Through Weights
-
(Included in full purchase)
Adding Backpropagation Through ReLu
-
(Included in full purchase)
Turning Off Backpropagation to Input
-
(Included in full purchase)
-
7
Training the Neural Network
-
(Included in full purchase)
Calculating the Weight Gradients from the Error
-
(Included in full purchase)
Practical Weight Gradient Calculation via Coding
-
(Included in full purchase)
Completing the Weight Gradients Test
-
(Included in full purchase)
A Useful Fact Involving Matrix Transpose
-
(Included in full purchase)
Online Training versus Batch Training
-
(Included in full purchase)
Training the Network in Full
-
(Included in full purchase)
Testing Average Column
-
(Included in full purchase)
Averaging Columns
-
(Included in full purchase)
Evaluating Average Loss
-
(Included in full purchase)
Getting Weight Inputs and Errors
-
(Included in full purchase)
Generating Trainable Data
-
(Included in full purchase)
Configuring the Engine Test
-
(Included in full purchase)
Finishing the Adjust Method
-
(Included in full purchase)
Getting Greatest Row Numbers
-
(Included in full purchase)
Adding Percent Correct
-
(Included in full purchase)
Repeated Training
-
(Included in full purchase)
Generating Spherically Symmetric Distributions
-
(Included in full purchase)
Better Training Data
-
(Included in full purchase)
Trying the New Data
-
(Included in full purchase)
A Running Averages Class
-
(Included in full purchase)
Using Running Averages
-
(Included in full purchase)
Variable Learning Rates
-
(Included in full purchase)
Testing Engine Performance
-
(Included in full purchase)
-
8
Epochs, Batches and Multithreading
-
(Included in full purchase)
The MetaData Interface
-
(Included in full purchase)
The BatchData Interface
-
(Included in full purchase)
The Loader Interface
-
(Included in full purchase)
The Neural Network Class
-
(Included in full purchase)
Initializing Matrixes with Double Arrays
-
(Included in full purchase)
Generating Training Arrays
-
(Included in full purchase)
Some Abstract Convenience Classes
-
(Included in full purchase)
Creating a Test Loader
-
(Included in full purchase)
Completing the Test Loader
-
(Included in full purchase)
Testing the Test Loader
-
(Included in full purchase)
Summing Matrix Elements
-
(Included in full purchase)
Finishing the Loader Test
-
(Included in full purchase)
The Fit Method
-
(Included in full purchase)
Running with the Test Loader
-
(Included in full purchase)
Running the Epochs
-
(Included in full purchase)
Running the Batches
-
(Included in full purchase)
Implementing RunBatch
-
(Included in full purchase)
Adding Multithreading
-
(Included in full purchase)
Consuming the Batches
-
(Included in full purchase)
Fixing the Execution Exception
-
(Included in full purchase)
Outputting Metrics
-
(Included in full purchase)
Preventing NaN
-
(Included in full purchase)
Improving toString
-
(Included in full purchase)
Saving the Network
-
(Included in full purchase)
Adding a Load Method
-
(Included in full purchase)
Dealing with the Lock
-
(Included in full purchase)
Adding a Predict Method
-
(Included in full purchase)
-
9
Loading MNIST Images
-
(Included in full purchase)
The MNIST Dataset
-
(Included in full purchase)
Command Line Arguments
-
(Included in full purchase)
Creating the Image Loader
-
(Included in full purchase)
Opening the MNIST files
-
(Included in full purchase)
The MNIST File Format
-
(Included in full purchase)
Reading Label Metadata
-
(Included in full purchase)
Reading the Image MetaData
-
(Included in full purchase)
Storing the MetaData
-
(Included in full purchase)
Structuring Batch Reading
-
(Included in full purchase)
Reading Image Data
-
(Included in full purchase)
Converting Bytes to Doubles
-
(Included in full purchase)
Reading Batches
-
(Included in full purchase)
Reading the Labels
-
(Included in full purchase)
An ImageWriter Class
-
(Included in full purchase)
Writing Images
-
(Included in full purchase)
Determining Canvas Width
-
(Included in full purchase)
Calculating Pixel Location
-
(Included in full purchase)
Writing the Montage Images
-
(Included in full purchase)
Converting One Hot to Int
-
(Included in full purchase)
Writing the Labels
-
(Included in full purchase)
-
10
Putting It All Together
-
(Included in full purchase)
Putting it All Together
-
(Included in full purchase)
Fixing a Nasty Bug
-
(Included in full purchase)
Scaling Initial Weights
-
(Included in full purchase)
Improving One Hot Conversion
-
(Included in full purchase)
Getting Predictions
-
(Included in full purchase)
Colorising the Images
-
(Included in full purchase)
-
11
Conclusion
-
(Included in full purchase)
Summary
-
(Included in full purchase)
Meet Your Instructor, John Purcell
I’ve taught many thousands of students through programming courses and YouTube tutorials. My focus is always the same: clear explanations, practical examples, and a structured path that makes learning feel natural.
Start Learning Today
Start building your own neural‑network engine in Java and take your skills to the next level with hands‑on, first‑principles learning.
€59,00