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 modulesCourse 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 questionYes, 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