Create a Neural Network in Java (Udemy.com)
Artificial Neural Networks in Java, From Scratch
Created by: John Purcell
Last updated April 2026
What you will learn
- Create a neural network from scratch in Java
- Understand how to use neural networks for handwritten digit recognition
- Implement the backpropagation algorithm
- Use neural networks for categorisation
How it compares
Against the other 155 rated Udemy courses in Machine Learning on CourseDuck:
- Rating4.7 out of 5higher than 93% of them
- Reviews123#122 of 156 by number of reviews
- Length18.1 hourslonger than 80% of them
- Last updatedApril 2026more recently than 86% of them
Course Description
Learn how to create and use neural networks in your Java programs. This course teaches you not only how to implement machine learning AI with your own artificial neural networks (ANNs), but also the principles of how artificial neural networks work — to the point that you can implement your own.
You'll need only a knowledge of Java programming and basic algebra; in this course you'll learn the relevant linear algebra, information theory and calculus, and together we'll build a fast and efficient neural network from scratch, able to recognise handwritten digits and easily adapted to other tasks.
Among other things, we’ll cover:
What artificial neural networks are and how to write them yourself
How matrixes and linear algebra can be used to create efficient neural networks
The basic principles of the calculus needed to train your networks
Writing and organising fast, efficient, multithreaded neural network code
The fundamental information theory concepts that can enable us to evaluate our neural network performance
Training your network on the freely-available MNIST hand-written digit database
After taking the course, artificial neural networks won't be a mystery to you any more. You'll be able to write your own neural networks and integrate them seamlessly into your Java programs, and understand in detail how they work.
Whether you’re completely new to neural networks and the relevant mathematics, or you’re using neural network libraries and you know some mathematics but you just don’t know how it all actually works and fits together, this course aims to clear up all the mystery.
Artificial intelligence is an increasingly important technology in the modern world, and this course will teach you the fundamentals of perhaps the most important building block of it.
Instructor Details
- 4.7 Rating
123 Reviews
John Purcell
After working as a software developer and contractor for over 14 years for a whole bunch of companies including CSC, Proquest, SPSS and AT&T in the UK and Netherlands, I decided to work full-time as a private software trainer. After spending four years in the beautiful city of Budapest, Hungary and a year in Berlin, I now live in Italy.
More courses by John Purcell
Java Tutorial for Complete Beginners (2026)
4.3 (103,168 Reviews)
Provider: Udemy
Time: 16.2h
$19.99
MySQL, SQL and Stored Procedures from Beginner to Advanced (2016)
4.5 (4,770 Reviews)
Provider: Udemy
Time: 18.3h
$99.99
More Machine Learning courses
Automated Machine Learning with AutoGluon Library in Python (2023)
4.8 (157 Reviews)
Provider: Udemy
Time: 5.5h
$84.99
Complete A.I. & Machine Learning, Data Science Bootcamp (2026)
4.7 (30,982 Reviews)
Provider: Udemy
Time: 44h
$129.99
Bayesian Machine Learning in Python: A/B Testing (2026)
4.7 (8,053 Reviews)
Provider: Udemy
Time: 10.4h
$109.99
[2026] Machine Learning: Natural Language Processing (V2)
4.7 (7,251 Reviews)
Provider: Udemy
Time: 23.5h
$99.99
Reviews
By Helen Ma on 8/24/2024
I think the instructor can use 2D arrays to represent matrices throughout the course. He used 1D arrays to represent matrices, which made the code harder to read. Then, I got lost in the math part of the course. This seems more like a Java programming course than a neural network course. I got confused in the last example. The instructor spent a lot of time writing text labels and images files with different colors. This does not seem to be the focus of of neural network. It is just data visualization. The most essential part is to predict the output array when passing the input array to the neural network.
By Charles Kirk on 3/8/2024
This is a great course. I found it to be a wonderful learning experience. The instructor has an amazing ability to explain complex concepts in a way that makes them easy to understand. The underlying math is clearly explained in a well structured way that fits very well with the code I would highly recommend this course to anyone with a working knowledge of Java who wants to understand how Neural Networks, which form the basis for Machine Learning and Artificial Intelligence, work.
By Maciej Frączek on 2/21/2024
I think John is the best teacher possible. I've done tons of courses on Udemy(Udemy can confirm ;)), but I I have to say - they're just not the same quality. First - it's not only about the knowledge - it's also about the journey that John walks us thought. It's close to the reading of a book experience, when you see how the plot unravels etc. The courses are always detailed, thorough and even if problems seem challenging at first - John makes them easy to understand. Thank you!
By Pieter-Jan Deprest on 11/9/2023
I started this course to see if I could switch from python to java when it comes to machine learning. Since I prefer coding in java, this would make the whole process of studying and trying out different ML methods and technologies more fun. This course has given me a lot of new insights, good code that I can work with and confidence that it is possible to pursue ML in java. Two small remarks: (1) The code was occasionally still a bit 'pythonesque' for my taste. Mainly because the instructor uses 'var' quite a lot and sometimes writes long methods with lots of newlines in them. I felt like some opportunities for encapsulation and simplification were missed because of that. (2) The mathematics part is very interesting but it would have benefited from a longer introduction: Why matrix multiplication? What is gradient descent and backpropagation? I felt like I lost the bigger picture here and there during sections 2-5. I would certainly recommend this course and this instructor. There is a lot of interesting information here and it is a good step-up to working with neural networks yourself. Also the instructor is clear, concise and clearly knows his stuff.
By Grant Blaise O’Reilly on 2/23/2023
This is an excellent course! John Purcell is a brilliant lecturer. This is one of my favourite Udemy AI courses. I use it as a toolbox item i.e. I constantly refer back to this course when coding my own neural networks. I would say this course is a must have for anyone serious about a deeper understanding of neural nets and being able to code your own neural nets.
By Sharon Gershoni on 12/5/2022
This course is one of a kind! Creating a Neural Network in Java is such a fabulous way to expand on Java skills in the context of AI. I am super excited and grateful for this learning experience.
By Anatolii Afanasiev on 10/20/2022
This course is fascinating and informative! I have been searching for such course for a long time. John's explanations are great and understandable! I strongly recommend to take this course for everyone who wants to deeply understand how a neural network can be created by using Java and what mathematical approaches are used there. Thanks a lot!
By Thomas Hauck on 7/23/2022
This course discusses the prerequisite concepts for Neural Networks . The mathematical concepts 1) linear algebra for matrices and 2) calculus for gradient descent are reviewed so that the theory can be coded in Java.
By Andrea Aleardi on 4/24/2022
The course provides an excellent introduction to the topic of Neural Networks. It allowed me to get to know and understand (at least at a basic level) the terminology and concepts encountered in many articles on the topic. The coding sections are relatively easy to follow, although in my opinion they do require to be already at ease working with Java (so I suggest taking a course on that before in case you are not). Overall, I have taken many courses from John over the last year, and this fully lived up to my high expectations.
By John S on 3/28/2022
John is a natural teacher and he follows his tried and true method of starting off with simple ideas and then building upon them... very effective!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 94 / 100











![[2026] Machine Learning: Natural Language Processing (V2)](/programming/machine-learning/images/4294434_daf2_5.jpg?v=1789268237)
