Oracle - OCA and OCP Java SE 8 Programmer Certification



Only 7 Days



Classroom / Online / Hybrid

Next date

Next date:

5/6/2023 (Monday)


Your accelerated 7 day Java SE 8 programming course combines both the Oracle Certified Associate (OCA) and Oracle Certified Professional (OCP) certification tracks.

In the first three days, you will complete the OCA Java SE 8 programming course where you will be introduced to object orientated programming using the Java language. Over the next four days you will follow the OCP Java SE 8 programming course, focusing on the core language features and Application Programming Interfaces (API), object oriented development and the structure of Java applications.

This accelerated course offers a distraction free environment, allowing you to focus solely on learning. Your expert instructor will implement Firebrand’s unique Lecture | Lab| Review technique, helping you to better understand and retain information.

This course is hands on, allowing you to develop practical skills relevant to real world scenarios. This includes :

  • Creating Java technology applications
  • Creating high-performance multi-threaded applications
  • Connecting to databases using standard SQL queries through JDBC
  • Using decision and looping constructs and methods to dictate program flow

As part of this course, you will prepare for the following exams, covered by your Certification Guarantee:

  • Oracle Certified Associate Java SE 8 Programmer I (1Z0-808)
  • Oracle Certified Professional Java SE 8 Programmer II (1Z0-809)


Seven reasons why you should sit your course with Firebrand Training

  1. Two options of training. Choose between residential classroom-based, or online courses
  2. You'll be certified fast. With us, you’ll be trained in record time
  3. Our course is all-inclusive. A one-off fee covers all course materials, exams**, accommodation* and meals*. No hidden extras.
  4. Pass first time or train again for free. This is our guarantee. We’re confident you’ll pass your course first time. But if not, come back within a year and only pay for accommodation, exams and incidental costs
  5. You’ll learn more. A day with a traditional training provider generally runs from 9am – 5pm, with a nice long break for lunch. With Firebrand Training you’ll get at least 12 hours/day quality learning time, with your instructor
  6. You’ll learn faster. Chances are, you’ll have a different learning style to those around you. We combine visual, auditory and tactile styles to deliver the material in a way that ensures you will learn faster and more easily
  7. You’ll be studying with the best. We’ve been named in Training Industry’s “Top 20 IT Training Companies of the Year” every year since 2010. As well as winning many more awards, we’ve trained and certified over 100,000 professionals
  • * For residential training only. Doesn't apply for online courses
  • ** Some exceptions apply. Please refer to the Exam Track or speak with our experts


Course Contents 

Course Introduction (Evening prior to course start) 

  • Administration and Course Materials 
  • Course Structure and Agenda 
  • Student and Trainer Introductions 

Day 1

Session 1: Java Basics 

  • Define the scope of variables  
  • Define the structure of a Java class 
  • Create executable Java applications with a main method; run a Java program from the command line; including console output. 
  • Import other Java packages to make them accessible in your code 
  • Compare and contrast the features and components of Java such as: platform independence, object orientation, encapsulation, etc. 

Session 2: Java Data Types 

  • Declare and initialize variables (including casting of primitive data types) 
  • Differentiate between object reference variables and primitive variables 
  • Know how to read or write to object fields 
  • Explain an Object's Lifecycle (creation, "dereference by reassignment" and garbage collection) 
  • Develop code that uses wrapper classes such as Boolean, Double, and Integer.   

Session 3: Operators and Decision Constructs 

  • Use Java operators; including parentheses to override operator precedence 
  • Test equality between Strings and other objects using == and equals () 
  • Create if and if/else and ternary constructs  
  • Use a switch statement  

Session 4: Arrays 

  • Declare, instantiate, initialize and use a one-dimensional array 
  • Declare, instantiate, initialize and use multi-dimensional array 

Day 2 

Session 5: Loops 

  • Create and use while loops 
  • Create and use for loops including the enhanced for loop 
  • Create and use do/while loops 
  • Compare loop constructs 
  • Use break and continue   

Session 6: Methods and Encapsulation 

  • Create methods with arguments and return values; including overloaded methods 
  • Apply the static keyword to methods and fields   
  • Create and overload constructors; including impact on default constructors 
  • Apply access modifiers 
  • Apply encapsulation principles to a class 
  • Determine the effect upon object references and primitive values when they are passed  into methods that change the values 

Session 7: Inheritance 

  • Describe inheritance and its benefits 
  • Develop code that demonstrates the use of polymorphism; including overriding and object type versus reference type 
  • Determine when casting is necessary 
  • Use super and this to access objects and constructors 
  • Use abstract classes and interfaces 

Day 3 

Session 8: 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, ArithmeticExcpetion, ArrayIndexOutOfBoundsException, ClassCastException)" 

Session 9: Java API Classes 

  • Manipulate data using the StringBuilder class and its methods 
  • Creating and manipulating Strings 
  • Create and manipulate calendar data using classes from java.time.LocalDateTime,  java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter, java.time.Period  
  • Declare and use an ArrayList of a given type  
  • Write a simple Lambda expression that consumes a Lambda Predicate expression 

Revision Session: OCA Exam Topics 
Exam: Oracle Certified Associate Java SE 8 Programmer I (1Z0-808) 

Day 4 

Session 10: Java Class Design 

  • Implement encapsulation 
  • Implement inheritance including visibility modifiers and composition 
  • Implement polymorphism 
  • Override hashCode, equals, and toString methods from Object class 
  • Create and use singleton classes and immutable classes 
  • Develop code that uses static keyword on initialize blocks, variables, methods, and classes 

Session 11: Advanced Java Class Design 

  • Develop code that uses abstract classes and methods 
  • Develop code that uses final keyword 
  • Create inner classes including static inner class, local class, nested class, and anonymous inner class 
  • Use enumerated types including methods, and constructors in an enum type 
  • Develop code that declares, implements and/or extends interfaces and use the atOverride annotation. 
  • Create and use Lambda expressions 

Session 12: Generics and Collections 

  • Create and use a generic class 
  • Create and use ArrayList, TreeSet, TreeMap, and ArrayDeque objects 
  • 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 

Session 13: 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 

Day 5 

Session 14: 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 

Session 15: Exceptions and Assertions 

  • Use try-catch and throw statements 
  • Use catch, multi-catch, and finally clauses 
  • Use Autoclose resources with a try-with-resources statement 
  • Create custom exceptions and Auto-closeable resources 
  • Test invariants by using assertions 

Session 16: Java SE 8 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 

Day 6 

Session 17: 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.iopackage. 

Session 18: 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 

Session 19: Java Concurrency 

  • Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks 
  • Identify potential threading problems among deadlock, starvation, livelock, and race conditions 
  • Use synchronized keyword and java.util.concurrent.atomic package to control the order of thread execution 
  • Use java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList 
  • Use parallel Fork/Join Framework 
  • Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance. 

Day 7 

Session 20: Building Database Applications with JDBC 

  • Describe the interfaces that make up the core of the JDBC API including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations 
  • Identify the components required to connect to a database using the DriverManager class including the JDBC URL 
  • Submit queries and read results from the database including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections 

Session 21: 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 

Exam Track

You will prepare for the following exams during your course, covered by your Certification Guarantee:

Oracle Certified Associate Java SE 8 Programmer I (1Z0-808)

  • Duration: 150 minutes
  • Number of Questions: 70
  • Passing Score: 65%
  • Format: Multiple Choice

Oracle Certified Professional Java SE 8 Programmer II (1Z0-809)

  • Duration: 150 minutes
  • Number of Questions: 85
  • Passing Score: 65%
  • Format: Multiple Choice

Before taking any exam, ensure you have the recommended experience. The Oracle website lists all exam requirements and these are updated regularly.

What's Included

Your accelerated course includes:

  • Accommodation *
  • Meals, unlimited snacks, beverages, tea and coffee *
  • On-site exams **
  • Exam vouchers **
  • Practice tests **
  • Certification Guarantee ***
  • Courseware
  • Up-to 12 hours of instructor-led training each day
  • 24-hour lab access
  • Digital courseware **
  • * For residential training only. Accommodation is included from the night before the course starts. This doesn't apply for online courses.
  • ** Some exceptions apply. Please refer to the Exam Track or speak with our experts
  • *** Pass first time or train again free as many times as it takes, unlimited for 1 year. Just pay for accommodation, exams, and incidental costs.


Before attending the course, it is recommended you meet the following prerequisites:

  • At least six months’ programming experience in Java.
  • Understand the command-line interface.
  • Used a text editor and a browser.

Unsure whether you meet the prerequisites? Don’t worry. Your training consultant will discuss your background with you to understand if this course is right for you.


Here's the Firebrand Training review section. Since 2001 we've trained exactly 134,561 students and asked them all to review our Accelerated Learning. Currently, 96.48% have said Firebrand exceeded their expectations.

Read reviews from recent accelerated courses below or visit Firebrand Stories for written and video interviews from our alumni.

"Training experience is very great and the trainer really gave a good insight about what is required and also on how to go further. Overall a great experience in learning. Special Thanks to the instructor. "
arun rajendran. (8/4/2019 (Monday) to 14/4/2019 (Sunday))

"This was my first course with Firebrand and I must say, its been an overwhelming experience.Hands down it is exhausting and taking two exams at the level of difficulty like Java 8 SE OCA/OCP within one week is not for the faint-hearted. However, you would hardly ever get any better chance to succeed in this task at that pace. This was among the most intense training experiences Ive ever had, with one of the best trainers Ive ever met, a real Java Expert being able to answer almost any question right off the bat and teach the unteachable within the limited amount of time. He got the penny to drop for me on several things I didnt understand within 4 months self-studying before, and he made it within 5 minutes!The whole training is extremely focussed on getting you to learn and understand everything thats needed to easily pass the exam, as long as youve been doing the basics beforehand. You have little to no distraction, ensuring youre totally committed to your objectives all the time.At the same time, you meet other experts being in the same boat with you, giving you the chance to deepen your knowledge and understanding of the topics youre struggling the most with.All in all, this was a week I will never forget, an instense experience second to none and definitely something I can recommend for anyone with real dedication and skills.Theres no better way to prove youre a pro.You wont regret it."
Michael Stiefler, Casio Europe GmbH. (15/10/2018 (Monday) to 21/10/2018 (Sunday))

"Training overall is great and useful, instructor was very knowledgeable and professional."
Alex Edwards, CoreFiling Limited. (18/10/2021 (Monday) to 20/10/2021 (Wednesday))

Anonymous (18/11/2019 (Monday) to 20/11/2019 (Wednesday))

"Really enjoyed the experience and learned a lot of new skills. So thank you Firebrand."
M.A.. (18/11/2019 (Monday) to 20/11/2019 (Wednesday))

Course Dates

Oracle - OCA and OCP Java SE 8 Programmer Certification




Book now

5/6/2023 (Monday)

11/6/2023 (Sunday)

Wait list


Latest Reviews from our students