Logo

Oracle Certified Associate (OCA) and Oracle Certified Professional (OCP) Java SE 8 Programmer

What you'll learn

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)

Curriculum

101 modules

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¬†

Prerequisites

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.

Exam info

You will prepare for the following exams during your course, covered by our 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

Please note that it is not possible to sit Oracle exams onsite. As part of this course, delegates receive an exam voucher to take exams remotely.

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

Course Dates

Sorry, there are currently no dates available for this course. Please submit an enquiry and one of our team will contact you about potential future dates or alternative options.

FAQs

4 question

Yes, we do provide courses suitable for beginners. However, Firebrand's accelerated courses aren't easy and it's essential that you are interested and actively pursuing a career in IT.

Traditional training providers usually run their courses from 9am to 5pm. At Firebrand Training we maximise the number of learning hours to minimise the number of training days, so you’ll be back to your job as quickly as possible. You don’t waste time travelling to several courses and finding an exam centre after that.

Firebrand's accelerated courses are constantly reviewed. We ask our delegates for feedback after every course. We are official partners with leading vendors and therefore, we're provided with certification changes and updates, which we can then implement in our course delivery at a very early stage. This feedback is then analysed in view of changes or discrepancies. We will then address the topics mentioned and have a panel of subject matter experts provide us with valuable suggestions for improvement and solutions.

If you need to learn new skills and you want to be able to put them into practice quickly, then Firebrand is the right training company for you.

Our unique accelerated training method means that we are your fastest way to learn. By delivering training for up to 12 hours per day, seven days per week, with exam centres on-site, we ensure that you are trained and certified quicker than anywhere else, having spent less time out of the office away from the day job.

Can't find the answer you're looking for?

Our expert learning advisors are ready to help. Whether you need course recommendations, have technical queries, or want to discuss your learning goals, we're just a message away.

Related courses

All Oracle Courses

Train your team

Since 2001 we've trained 134,561 employees from thousands of large and small organisations, saving them more than one million hours in training time.

Learn More