O'Reilly logo
live online training icon Live Online training

Oracle Java SE Programmer I Crash Course

Your full Oracle Certified Associate Certification Resource

Topic: Software Development
Simon Roberts

Oracle Java SE Programmer I Crash Course: Pass the 1Z0-815 or 1Z0-808 Exams is a valuable tool for passing the Oracle Java SE Programmer I exam. With 16 hours of training over 3 days, this course will prepare you for both the 1Z0-808 and the new 1Z0-815 exams. You will learn key foundational Java programming topics you need to know to pass the Programmer I exam. It is also an excellent tool for helping you cement core Java knowledge for your career as a programmer.

What you'll learn-and how you can apply it

This course will address key objectives of the Oracle Java SE 8 and the Java SE 11 Programmer I exams. These objectives have been selected as those most likely to cause difficulties for those preparing for these exams.

This training course is for you because...

  • You’re a Java programmer intending to take the certification exam
  • You’re a software engineer with skills in another object-oriented language (particularly the C/C++ derived family) looking to move into Java programming
  • You’re a beginning to mid-level Java programmer looking to build and solidify your skills in the language
  • You’re a college student looking for additional learning resources to help you with a Java course you’re taking


This course seeks to minimize prerequisites so as to be as accessible as possible, however, you should be reasonably comfortable reading simple code written in the Java programming language

Materials, downloads, or Supplemental Content needed in advance:

While not required for participation, it’s a good idea if you have a Java development environment (e.g. NetBeans, Eclipse, Intelli-J IDEA or similar) so that you can experiment with the material you learn in the class.


Source code repository on github.com will be used to distribute examples and other materials created during the course

Recommended Prep:

Java Programming Basics: This course provides an introduction the Java Programming Language and would be particularly appropriate for anyone with minimal background in Java before attending this live training.

OCA Java SE 8 Programmer (1Z0-808) Complete Video Course:This course addresses, in detail, all the objectives of the exam and this live training and may be used before or after the live class to prepare, or reinforce and act as reference for the material learned.

About your instructor

  • Simon started out working as a software engineer, specializing in industrial control systems, and had a sideline teaching for a local University in his then-home-town of Cambridge, England.

    In 1995 he joined Sun Microsystems, Inc. as a senior instructor and course developer. Simon spearheaded the introduction of Java training by Sun Microsystems in the U.K. in 1995. He developed the first Java certification exams for Sun before he moved to the U.S. in 1998.

    Since leaving Sun in 2004, Simon has developed and delivered training for clients around the world.

    Simon believes that training should have an immediate purpose and application, and that the most effective training is usually "on the job" mentoring, helping to remove the immediate roadblocks to productivity that so often plague workers in fast moving environments.


The timeframes are only estimates and may vary according to how the class is progressing

Day 1

  • Use local variable type inference
  • Apply the static keyword to methods and fields
  • Create and use subclasses and superclasses
  • Create and extend abstract classes
  • Enable polymorphism by overriding methods
  • Utilize polymorphism to cast and call methods, differentiating object type versus reference type
  • Distinguish overloading, overriding, and hiding

Day 2

  • Compile and run a Java program from the command line
  • Declare and instantiate Java objects, and explain objects' lifecycles (including creation, dereferencing by reassignment, and garbage collection)
  • Apply access modifiers
  • Apply encapsulation principles to a class
  • Describe the advantages of Exception handling and differentiate among checked exceptions, unchecked exceptions, and Errors
  • Create a try-catch block and determine how exceptions alter normal program flow
  • Create and invoke a method that throws an exception

Day 3

  • Understanding lambda Expressions
  • Describe the Modular JDK
  • Declare modules and enable access between modules
  • Describe how a modular project is compiled and run