Java Training Courses


NameDescription
DevOps Fundamentals For Developers This DevOps Fundamentals course is designed to give web developers an understanding of how to deploy their applications in the real-world. It will give participants an understanding of how to provision an VPS (Virtual Private Server) from a cloud provider. It will cover logging into the VPS and give a thorough coverage of working on the linux command line. Participants will install software, configure a web application, open the appropriate ports, and configure the application to run as a service. A domain will be registered and SSL certificates will be issued from LetsEncrypt. Nginx will be utilised to serve HTML content and to act as a reverse proxy to run multiple sites on a single machine.

The course will cover different ways of deploying a finished application, how to externalise configuration items, monitoring log files and continuous integration through the use of GitHub Actions.

The course is hands-on with each participant enabled to configure their own server from scratch and set up continuous integration from a GitHib repository.

Java Programming Intensive and hands-on, the course emphasizes becoming productive quickly as a Java™ application developer. This course quickly covers the Java language syntax and then moves into the object-oriented features of the language. Students will then use several of the provided API packages, such as I/O streams, collections, and accessing a database with JDBC. This course can be delivered using any required version of Java and IDE - Eclipse, IntelliJ etc.
Introduction to Java Programming Intensive and hands-on, the course emphasizes becoming productive quickly as a Java™ application developer. This course quickly covers the Java language syntax and then moves into the object-oriented features of the language. Students will then learn the I/O streams and collections API packages. This course is can be delivered using any required version of Java and IDE - Eclipse, IntelliJ etc.
Spring 5 Framework Development "The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments."

This course is for Java Programmers who want to understand the Spring Framework and the use of the Java Persistence API (JPA) in an enterprise software development environment. It is suitable for people who have no experience with Spring or programmers who have been working with Spring but might have joined a project that is already configured and not had to create one from scratch.

At the end of the course the participants will have a good understanding of Enterprise Software Development, Design Patterns and the core philosophies of the Spring Framework and will have practical experience in creating Spring based web applications for the Enterprise environment.

Complete Hibernate and Java Persistence API This course teaches students the Java specification for persisting objects to the database. It does so through Hibernate - the most popular JPA implementation and object-relational mapping framework for Java environments. Object relational mapping in large enterprise applications is difficult. The task is so difficult that the problem of storing and retrieving objects to a relational database has its own name - impedance mismatch.
In this class, students learn object-relational mapping concepts and the various issues and options available in Java to address object persistence. With these fundamentals, the course then explores the basics of JPA/Hibernate object persistence and configuration. It also digs into the details of mapping, queries, transactions, and concurrency.
Not just a class that focuses on theory, this course is loaded with practical labs and deals with maintenance and performance issues. After taking this class, developers will be able to build faster, more flexible and easier to maintain application persistence layers and overcome impedance mismatch with JPA implementations like the Hibernate framework.
Prompt Engineering Essentials - using AI effectively This course provides an introduction to AI Technologies available and gives practical examples of how these tools and techniques can be used in real-world situations today. The skills gained will open up programming as a tool for non-programmers. AI assistants like ChatGPT and CoPilot are able to write code, so if you can clearly describe what you require and are able to interpret the results you can now utilise programming as a tool.

Participants will gain knowledge of the new skill of "prompt-engineering" which is learning how to phrase your interactions with AI tools.

The course will primarily focus on using ChatGPT but the techniques can be adapted to other AI assistants like Copilot and many others.

Java Test-Driven Development All developers want to build good quality software but not all developers test their software as they go along. Why not? A common explanation is I don`t have time to write tests! The more pressure they feel, the fewer tests they write. This leads to less accurate and stable code, less productivity, less confidence and, ultimately, more pressure. It`s a vicious cycle. This course is designed to help you break out of the cycle by embracing unit-testing and, in particular, test-driven development. We will introduce the techniques and the tools necessary to prove your code as you go along.
Using Selenium and Practical Workshop Three day course on Selenium 3.0. The first two days are instructor led and the third day provides an opportunity for hands-on learning, putting into practice the learning from the course.

Selenium allows both developers and testers to automate tests against applications and execute them against multiple browsers. This course aims at providing a solid foundation to the attendee in understanding automated testing using Selenium.

The objectives of this course are not only to teach what the tool is capable of doing, but to focus on the practical steps required to make automation using Selenium work. The course provides a hands-on walkthrough to allow attendees to understand the steps in making Selenium function in the real world.

The consumer is putting increasing demands on organisations to deliver applications across many devices, browsers and platforms. With Increasing pressure being put on test tool budgets, IT professionals are looking to the open source market for test automation tools.

Android Programming This course is intended for Java programmers wishing to learn about Android app development. No prior knowledge of Android is expected but some knowledge of Java is expected. The course uses Android Studio 3.4.2 or later with Android Oreo / Pie (API 26 / 28) or later. The course is intended to give developers a thorough introduction to Android application development. Elements of Android Jetpack are covered throughout the course. Course content, in particular Day 4, may be customised. The course can be extended to 5 days to cover other topics such as sensors and Bluetooth in more detail.
Introduction to Programming This course is designed to teach the fundamentals of programming. Depending on the client requirements, it uses the relevant environment - such as Visual Basic, Java, C#, C++, Python etc - to show various principles, examples, and structures. It can be used as an introduction to any development language as it outlines the concepts rather than the specific features of a particular language, which would be the next stage in the development of new programmers.
Pattern-Based Software Development in Java The essence and basic structure of a software design solution may be repeated many times, even though the realisation is different in each case. Patterns offer a technique for capturing such recurrence, allowing design experience to be understood, distilled and shared. <br> The Pattern-Based Software Development in Java course introduces patterns from the ground up, presenting principles as well as concrete examples. It develops understanding through lectures, discussion and hands-on labs, which reinforce the concepts by putting them into practice.
Introduction to Rabbit MQ for Programmers This course is designed to introduce you to the basics of using RabbitMQ with the Java Messaging Service (JMS) to facilitate seamless messaging between components. In the world of distributed systems and scalable architectures, effective communication between applications is paramount. RabbitMQ, a powerful message broker, provides a reliable and flexible solution for building robust, decoupled systems.
Test-Driven Development in Java The Test-Driven Development in Java course presents a number of modern practices for developing code based on an iterative and incremental development lifecycle. Agility and predictability are two qualities often missing from software development. A test-driven approach, in which design is grown and code delivered incrementally according to functionality or risk, forms the basis of the construction phase of an iterative abd incremental development. The use of unit testing provides confidence in existing code and supports the ability to refactor code as development unfolds.