Java Bootcamp, 12-weeks Learning Program
Course details
Java Bootcamp Course Summary.

Learn all about Java Programming program thoroughly.
From scratch to job-ready.
1 lesson per week for 12 weeks.
Many Practical exercises.
Practical project.
Personalised, Max 4 people per course.
PCWorkshops Certificate, Oracle Certification is assessment based

Course Details
How does it work
  • Java bootcamp Structure: 1 weekly lesson for 12 weeks
  • Plus practical: +-15 hours per week.
  • Plus 1-1 Mentoring: additional between sessions
  • Plus Practical Project: Upload and showcase your project
  • Plus Practical Java Exercises: Java practical exercises per session
  • Duration: 12 Weeks, one session per week
  • Where: Online or Classroom
  • Study level: From beginner to job-ready.
  • Java Bootcamp Certification: PCWorkshops Java certificate
    Java Oracle certificate: OCP
Where is the Java Bootcamp?

Online: Instructor-led.
Classroom: Request per email

  • Video Tutorials: Short and easy
  • Java Coding Examples: All lessons are illustrated with code examples
  • Java Manuals and Notes: In-depth reference materials
  • Exercises: Weekly practical exercises
Personalised 1-1 Mentoring
  • 1-1 Mentoring: Arranged additionally
  • Personalised: Dedicated expert Java mentor per student
  • Success Guarantee: Ask your Java questions and work at your pace
Practical Exercises
  • Learn by doing: Excellent way to learn Java and re-inforce weekly lesson content
  • Gain practical expertees: You will become fluent at coding Java with practice
Practical Project
  • 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 stack 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
Part Time
  • One full day per week: Fridays or Saturdays
  • Learn and earn: Keep your job, earn your salary, get qualified in Java, then change
  • Learn Java in your own time: Practice in your own time
  • 1-1 Mentoring: Schedule this according to your own diary
Payment Options
Weekly Java bootcamp 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 modifiers:
  • 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; A stack class.

  • 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:
  • 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 small JAVA Sprin Boot web app

  • Introduction to JPA with Spring
  • Transactions with Spring and JPA
  • Spring JDBC
  • Spring Persistence Tutorial
  • Create a Login System 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 Boot Camp
About us
java Bootcamp uk
Learn Java
What's JDBC? JDBC or Java Database Connectivity is a Java API to connect and execute a Database query with the database from within a Java Class.
What's JavaFX? JavaFX is a Java library that is used to develop Desktop applications as well as Rich Internet Applications (RIA). The applications built in JavaFX, can run on multiple platforms including Web, Mobile and Desktops. JavaFX is a library that helps create fancy Frontends.
What's Spring? Spring framework provides templates for JDBC, Hibernate, JPA etc. technologies. So there is no need to write too much code. It hides the basic steps of these technologies. Spring makes life easier.
What's JUnit? JUnit is a unit testing framework for the Java programming language. JUnit is important in test-driven development.
java Bootcamp uk
java Bootcamp uk

Request a Free Java Webinar Demo

Try a 30 minutes webinar free. Choose you own topic from our course list.