java Bootcamp uk

Java Bootcamp, 12-weeks

Join our 12-week, part-time Java Developer Programming Bootcamp in London, UK, or Online.

This exceptional Java Bootcamp is designed to equip you with a comprehensive understanding of Java coding. It encompasses instructor-led lessons, hands-on practical exercises, and personalized 1-on-1 mentoring to facilitate your Java Bootcamp journey.

From the fundamentals to becoming job-ready, this program covers it all. It's part-time, practical, and tailored to your needs. You'll tackle real-world challenges through practical weekly assignments and a final project.

Our approach includes one day of instructor-led training per week, ensuring you can balance learning with your existing commitments. Additionally, our personalized approach ensures that each group comprises a maximum of four participants, fostering a more focused and effective learning environment.

Upon completion, you'll receive a PCWorkshops Java Bootcamp Certificate, and you'll also have the opportunity to pursue Oracle Certification through assessment-based evaluation.

Course Details
How does it work
  • Blended Learning: 1 weekly lesson for 12 weeks, Plus 1-1 Mentoring, Plus practical
  • Study Level: Learn Java from scratch to job ready.
  • Duration: 12 Weeks
  • Classroom Times:
    Weekly Instructor-Led lesson
    Online or Classroom
  • Practical exercises: +-15 hours per week.
  • 1-1 Mentoring: to be scheduled individually, with dedicated trainer
  • Java Bootcmp Certification
    Java certificate: PCWorkshops Java certificate
    Java Oracle certificate: Java Oracle certtificate: Programmer II

  • Practical Java Exercises
    Exercises weekly
    Many code examples, JavaFX Scene Builder examples
    Java, JavaFX Scene Builder, JUnit Exercises build into a final project
    Quizzes, tests, contests
  • Live Practical Project
    Upload and showcase your project
Where is the Java Boot Camp?

Classroom: Personal is best! Request per email

Practical exercises
  • Learn by doing. You will be challenged weekly on every topic with interesting, illustrative exercises
  • By doing practical work, you will gain confidence and experience that could be immediately applied in the workplace
  • we will assist you fully with this
1-1 Mentoring
  • Book 1-1 Sessions Individually
  • Dedicated trainer per student
Practical Project

java bootcamp

  • Weekly exercises amalgamate into a great practical project
  • Show case your project on Github
  • Projects:
  • Student may choose from a few given options, prioritise frontend, backend or full for their projects.
  • Project requirements for Certification:
  • To receive the PCWorkshops Programmer Java Certificate students need to work on a project and complete practicals.
    Uploading any one project of you choice, is necessary for the certificate.
    We evaluate practicals during the course of the bootcamp.
  • Exclusion from projects:
  • If you would like to be excluded from the project, then you mention that on the registration form.
    You may be excluded from the project, but this will not qualify you for any discount.
  • In-work professionals: Some students attend because their employers want them to attend to upgrade their skills and they sometime apply to be excused from the projects, because they have limited time and they work already where they are involved in their professional projects.
  • Previous project topics include:
  • Movie theatre ticket sales
    Student Management System
    Hotel Booking System
    Bank Management Project
    E-commerce Product Sales
    Services quotation system
    Quiz app
    Food Ordering System
    Media Player Application
    Tic-Tac-Toe Game
Java Boot Camp Course Materials
  • Java Bootcamp Notes
  • Java Code Samples
  • Practical Java Boot Camp exercises
  • Mock tests and contests
Java bootcamp certificate
  • PCWorkshops Java Programmer Certificate on completion
  • Our Java Bootcamp is designed to cover all topics required for the Oracle exam
  • At an extre cost directly to Oracle, you can enter the Oracle OCP examination to get the industry recognised Oracle OCP certificate
  • This exam is sat at an official Oracle test centre under third-party supervision
  • Our course will fully prepare you for this exam
Assitance with job search
  • Online interview Java questions
  • Public project portfolio
  • Follow the booking link to make an online payment
  • Email us to arrange installments or BACS paymenta
Weekly topics and other details
Weekly Java lesson topic descriptions

  • Overview of Java Fundamentals:
  • Java Data Types, Variables:
  • Primitive types; Characters; Boolean; Working with variables and its scope; Type conversion and casting;
  • The String Class:
  • Using the String class and String methods.
  • Scanner Class:
  • Getting user input.
  • Java Operators and Expressions:
  • Introduction of operators; Arithmetic operators; Relational operators; Assignment operator; Logical operators; Increment and decrement operators.
  • Decision Making:
  • If statement; If - else statement; If- else if - else statement; Nested if - else; Switch Statements
  • Using Loops:
  • The while, do-while and the for loop; Enhanced for loop; Jump statements : break, continue; The return statement; Nesting loops.

  • Using Methods
    Introduction of methods; Calling a Method.
  • Introduction to Classes and Objects:
    Creating a Class; Declaring Member Variables; Creating an Object; Using an Object;
  • Adding Instance variables;
  • Encapsulation, getters and setters;
  • Controlling accessibility; private, public and protected;
  • Class Constructors; Parameterized Constructors;
  • Inheritance. Override. Polymorphism.
  • Abstraction. Interfaces and implementing interfaces.
  • The dot operator, this keyword, the static keywords, the super keyword.
  • Access control : private, public and protected; The final keyword;
  • Learn Java Nested Classes,
  • Inner Class Classes,
  • Local Classes,
  • Anonymous Classes,
  • Lambda Expressions,
  • Method References,
  • When to Use: Nested Classes, Local Classes, Anonymous Classes, and Lambda Expressions, Enum Types
  • Nested and inner classes.

  • Handling Exceptions

  • Differentiate among checked exceptions, unchecked exceptions, and Errors
    Create a try-catch block and determine how exceptions alter normal program flow
    Describe the advantages of Exception handling
    Create and invoke a method that throws an exception
    Recognize common exception classes (such as NullPointerException, , ArithmeticException, ArrayIndexOutOfBoundsException, ClassCastException)
    Use try-catch and throw statements
    Use catch, multi-catch, and finally clauses
    Create custom exceptions and Auto-closeable resources
    Use Autoclose resources with a try-with-resources statement
    Test invariants by using assertions
  • Java I/O Fundamentals

  • Read and write data from the console
    Use BufferedReader, BufferedWriter,
    File, FileReader, FileWriter,
    FileInputStream, FileOutputStream,
    ObjectOutputStream, ObjectInputStream,
    and PrintWriter in the package.
  • Json Files

  • Learn Java Arrays:
    Working with arrays, 2-d arrays, iterating arrays.Using the for-each loop with Java Arrays
  • The Collection Interface
    This enables you to work with groups of objects; it is at the top of the collections hierarchy.
  • The List Interface
    This extends Collection and an instance of List stores an ordered collection of elements.
  • The Set
    This extends Collection to handle sets, which must contain unique elements.
  • The SortedSet
    This extends Set to handle sorted sets.
  • The Map
    This maps unique keys to values.

  • Collections Streams and Filters

  • Use java.util.Comparator and java.lang.Comparable interfaces
    Collections Streams and Filters
    Iterate using forEach methods of Streams and List
    Describe Stream interface and Stream pipeline
    Filter a collection by using lambda expressions
    Use method references with Streams
  • Lambda Built-in Functional Interfaces

  • Use the built-in interfaces included in the java.util.function package such as Predicate, Consumer, Function, and Supplier
    Develop code that uses primitive versions of functional interfaces
    Develop code that uses binary versions of functional interfaces
    Develop code that uses the UnaryOperator interface
  • Java Stream API

  • Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() method
    Search for data by using search methods of the Stream classes including findFirst, findAny, anyMatch, allMatch, noneMatch
    Develop code that uses the Optional class
    Develop code that uses Stream data methods and calculation methods
    Sort a collection using Stream API
    Save results to a collection using the collect method and group/partition data using the Collectors class
    Use flatMap() methods in the Stream API

Application Programming Interface (API)
An Application Programming Interface (API) contains software building tools that facilitate interaction between systems. An API may be for a database system, operating system, computer hardware or a web-based system.

  • Java File I/O (NIO.2)

  • Use Path interface to operate on file and directory paths
    Use Files class to check, read, delete, copy, move, manage metadata of a file or directory
    Use Stream API with NIO.2
  • Working with Selected classes from the Java API

  • Manipulate data using the StringBuilder class
    String methods
    Create and manipulate Strings
    Random Functions
    Math Class
  • Use Date/Time API

  • Create and manage date-based and time-based events including a combination of date and time into a single object using LocalDate, LocalTime, LocalDateTime, Instant, Period, and Duration
    Work with dates and times across timezones and manage changes resulting from daylight savings including Format date and times values
    Define and create and manage date-based and time-based events using Instant, Period, Duration, and TemporalUnit
  • Localization

  • Read and set the locale by using the Locale object
    Create and read a Properties file
    Build a resource bundle for each locale and load a resource bundle in an application

  • Refer to the SQL 1-Day Course
  • Relational Database Concepts: What is a Relational Database? Relationships. Tables, Rows and Columns, Indexes, Primary Keys and Foreign Keys, Data Types
  • SQL Language Essentials: The SQL Select Statement
  • SQL Conditions and the Where Clause: Greater and Less than, =, Not, Between, AND, OR, Like, Wildcards
  • The SQL Order By Clause
  • SQL Arithmetic Operations, Expression Queries
  • SQL Column Aliases
  • Limit/Top, Distinct
  • Working with Null Values
  • SQL Summarizing and Grouping Data:
    Aggregate Functions (Sum, Avg, Count, Max, Min)
    The Group By Clause
    The Having Clause
  • Querying Multiple Tables:
    Joining Tables, Inner Joins, Outer Joins, Self Joins, Full Joins, Cross Joins
    Alternative Join Syntax
  • Additional SQL Features:
    Combining Queries
    The Union, Intersect and Minus Operators
  • Basic Subqueries
  • SQL Queries, DML, DDL commands, stored procedures.
  • Introduction to Big Data, NoSQL databases and Hadoop.
  • JDBC

  • JDBC stands for Java Database Connectivity. JDBC is a Java API to connect and execute the query with the database. It is a part of JavaSE (Java Standard Edition). JDBC API uses JDBC drivers to connect with the database
    Connecting to databases and embedding SQL Queries to interact with database while coding, Defining the layout of the Java JDBC API, Connecting to a database by using a JDBC driver,
    Submitting queries and get results from the database, Specifying JDBC driver information externally,
    Create database, drop database using JDBC
    Create Table, Drop Table using JDBC
    Insert Records, Udate Records, Delete Records using JDBC
    Select records using JDBC


    • Life Cycle of a Thread
    • Thread Priorities
    • Create a Thread by Implementing a Runnable Interface
    • Create a Thread by Extending a Thread Class
    • Thread Methods
    • Major Java Multithreading Concepts
      While doing Multithreading programming in Java, you would need to have the following concepts very handy −
      What is thread synchronization?
      Handling interthread communication
      Handling thread deadlock
      Major thread operations

      Processes and Threads, Thread Objects
      Defining and Starting a Thread, Pausing Execution with Sleep
      Interrupts, Joins
      The SimpleThreads Example
      Synchronization, Thread Interference, Memory Consistency Errors, Synchronized Methods Intrinsic Locks and Synchronization,
      Atomic Access, Liveness, Deadlock, Starvation and Livelock
      Executors, Executor Interfaces, Thread Pools, Fork/Join, Concurrent Collections
      Guarded Blocks, Immutable Objects
      A Synchronized Class Example
      A Strategy for Defining Immutable Objects, High Level Concurrency Objects, Lock Objects

  • Overview: Different types of testing
    Principles of unit testing using JUnit
    JUnit Environment Setup
    JUnit Test Framework
    JUnit Basic Usage
    JUnit API
    Writing a Tests
    Using Assertion
    Execution Procedure
    Executing Tests
    Suite Test
    Ignore Test
    Time Test
    Exceptions Test
    Parameterized Test
    Plug with Ant
    JUnit Plug with Eclipse
    JUnit Extensions

  • Why Choose Spring as Your Java Framework?
  • Inversion of Control and Dependency Injection with Spring
  • Constructor Dependency Injection in Spring
  • What is a Spring Bean?
  • Spring Bean Scopes
  • Spring Bean Annotations
  • Spring @Autowired Annotation
  • Wiring in Spring: @Autowired, @Resource and @Inject
  • Spring @Qualifier Annotation
  • @Component vs @Repository and @Service in Spring
  • Properties with Spring
  • Create a simple Java Spring Boot Web Application

  • Introduction to JPA with Spring
  • Transactions with Spring and JPA
  • Spring JDBC
  • Spring Persistence Tutorial
  • Create a simple Java Spring Boot Login Application using CRUD Operations

  • Getting Started with JavaFX

  • What Is JavaFX
    What is JavaFX? JavaFX is a software platform for creating and delivering desktop applications, as well as rich Internet applications (RIAs). JavaFX is intended to replace Swing as the standard GUI library for Java SE.
    Get Acquainted with JavaFX Architecture
    Deployment JavaFX Guide
  • Graphics

  • Getting Started with JavaFX 3D Graphics
    Use the Image Ops API
    Work with Canvas
  • JavaFx User Interface Components

  • Work with JavaFx UI Controls
    Create Charts
    Add Text in JavaFx
    Add HTML Content
    Work with Layouts
    Skin Applications with CSS within JavaFx
    Build UI with FXML
    Handle Events
  • JavaFX Scene Builder 2

  • JavaFX Scene Builder Overview. JavaFX Scene Builder is a visual layout tool that lets users quickly design JavaFX application user interfaces, without coding. Users can drag and drop UI components with Scene Builder.
    Get Started with JavaFx Scene Builder
    Working with Scene Builder
    Design UI with Scene Builder
    Use JavaFx Scene Builder with Java IDEs
  • Install Scene Builder

Book the Java Bootcamp
About us

Java Bootcamp Free Trial


Learn Java
What's new in Java 17? Accelerating Java’s Adoption in the Cloud with continuous innovation that address the evolving needs of developers. To accelerate Java adoption in the cloud, Oracle recently introduced the Oracle Java Management Service
What's new in Java 17? Updates and Improvements to Libraries JEP 306: Restore Always-Strict Floating-Point Semantics –
What's new in Java 17? Future Proofing Java Programs JEP 403: Strongly Encapsulate JDK Internals – It will no longer be possible to relax the strong encapsulation of internal elements
What's new in Java 17? Read the Java 17 technical blog :
java Bootcamp uk
java Bootcamp uk