Join our 8-week, part-time Java Developer Programming Bootcamp in online, instructor-led 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.
Java Course Details
How does it work
Blended Learning: 1 weekly lesson for 8 weeks, Plus 1-1 Mentoring, Plus practical
Study Level: Learn Java from scratch to job ready.
Duration: 8 Weeks
online, instructor-led Times: Weekly Instructor-Led lesson
Online or online, instructor-led
Practical exercises: +-15 hours per week.
1-1 Mentoring: to be scheduled individually, with dedicated trainer
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?
Online: Gotomeeting.com
online, instructor-led : 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
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 extra 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
Financials
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 java.io 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
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
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
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
:
Multithreading
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
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 : https://blogs.oracle.com/java/post/announcing-java17