Certified Java Developer (Voucher Included)

This online Java certification course helps prepare you for the Java SE 17 Developer exam, the only exam needed to become an Oracle Certified Professional: Java SE 17 Developer.

It covers the main Java syntax elements needed to understand for those who wish to become a Java developer. In addition to covering the fundamental library classes necessary for any Java program, the course also covers several other important APIs, including Collections and Streams.

Java is consistently ranked one of the...

6 Months / 140 Course Hrs
Open Enrollment
Offered in partnership with your preferred school

George Mason University

Change School
Learning method

for additional information

Course code: GES3082

What you will learn

  • How Java works
  • Comprehend the "write once, run anywhere" concept
  • Understand and learn how to create basic Java objects
  • How to implement flow-control concepts in Java
  • Understand Java's package concept and create packages of Java classes
  • Understand Java arrays and write code to create and use arrays
  • How to write Java classes using inheritance and create and use interfaces
  • Use the concept of polymorphism in an application
  • Understand how Java's exception-handling mechanism works and learn how to apply exception-handling to Java applications
  • Understand and use the Java Logging API inner classes
  • Ways to use Generics with Collections
  • Use Lambda Expressions to process Java Streams
  • Discover Java's IO and NIO Streams and how to apply that to files using text and binary data
  • Understand Concurrency, JDBC, Localization, Security, and Modules

How you will benefit

  • Gain skills in one of the most popular programming languages used application development
  • Obtain a competitive advantage in the marketplace by becoming an Oracle-certified Java developer
  • Prepare for the Oracle Certified Professional: Java SE 17 Developer 1Z0-829 exam
  • Open new career opportunities and increase salary potential
  • Exam voucher included

How the course is taught

  • Self-paced, online course
  • 6 Months to complete
  • Open enrollment, begin anytime
  • 140 course hours
  1. Java Introduction
    1. The Java Environment - Overview
    2. Writing a Java Program
    3. Obtaining The Java Environment
    4. Setting Up Your Java Environment
    5. Creating a Class that Can Run as a Program
    6. Useful Stuff Necessary to Go Further
    7. Using an Integrated Development Environment
    8. Running a Simple Java Program
    9. Using the Java Documentation
  2. Java Basics
    1. Basic Java Syntax
    2. Variables
    3. Data
    4. Constants and the final Keyword
    5. Mathematics in Java
    6. Creating and Using Methods
    7. Variable Scope
    8. Method Exercise
  3. Java Objects
    1. Object-oriented Languages
    2. Object Definition
    3. References
    4. Defining a Class
    5. More on Access Terms
    6. Adding Data Members to a Class
    7. Standard Practices for Fields and Methods
    8. Java Beans
    9. Bean Properties
    10. Payroll01: Creating an Employee Class
    11. Constructors
    12. Instantiating Objects Revisited
    13. Important Note on Constructors
    14. Payroll02: Adding an Employee Constructor
    15. Method Overloading
    16. Payroll03: Overloading Employee Constructors
    17. The this Keyword
    18. Using this to Call Another Constructor
    19. Payroll04: Using the this Reference
    20. static Elements
    21. The main Method
    22. Payroll05: A static Field in Employee
    23. Garbage Collection
    24. Java Packages
    25. Compiling with Packages
    26. Working with Packages
    27. Payroll06: Creating an employees Package
    28. Variable Argument Lists (varargs)
    29. Payroll07: Using KeyboardReader in Payroll
    30. Creating Documentation Comments and Using javadoc
    31. Payroll08: Creating and Using javadoc Comments
    32. Primitives and Wrapper Classes
    33. Encapsulation
    34. String, StringBuffer, and StringBuilder
    35. Compiling and Executing with Packages
    36. Object-oriented Programs
  4. Comparisons and Flow Control Structures
    1. Boolean-valued Expressions
    2. Comparison Operators
    3. Comparing Objects
    4. Conditional Expression Examples
    5. Complex boolean Expressions
    6. Simple Branching
    7. The if Statement
    8. if Statement Examples
    9. Payroll-Control01: Modified Payroll
    10. Two Mutually Exclusive Branches
    11. Comparing a Number of Mutually Exclusive Options - The switch Statement
    12. Comparing Two Objects
    13. Conditional Expression
    14. Payroll-Control02: Payroll with a Loop
    15. Additional Loop Control: break and continue
    16. Continuing a Loop
    17. Classpath, Code Libraries, and Jar Files
    18. Creating and Using an External Library
    19. Compiling to a Different Directory
    20. Conditionals and Loops
    21. Game02: A Revised Guessing Game
    22. Game01: A Guessing Game
    23. Game03: Multiple Levels
    24. Game04: Guessing Game with a Loop
  5. Arrays
    1. Defining and Declaring Arrays
    2. Instantiating Arrays
    3. Initializing Arrays
    4. Working with Arrays
    5. Enhanced for Loops - the For-Each Loop
    6. Array Variables
    7. Copying Arrays
    8. Using the args Array
    9. Arrays of Objects
    10. Payroll-Arrays01: An Array of Employees
    11. Multi-Dimensional Arrays
    12. Multidimensional Arrays in Memory
    13. Example - Printing a Picture
    14. Typecasting with Arrays of Primitives
    15. Java Arrays
    16. Game-Arrays01: A Guessing Game with Random Messages
  6. Inheritance
    1. Payroll with Inheritance
    2. Polymorphism
    3. Creating a Subclass
    4. Inheritance and Access
    5. Inheritance and Constructors - the super Keyword
    6. Example - Factoring Person Out of Employee
    7. Payroll-Inheritance01: Adding Types of Employees
    8. Inheritance and Default Superclass Constructors
    9. Typecasting with Object References
    10. More on Overriding
    11. Payroll-Inheritance02: Using the Employee Subclasses
    12. Other Inheritance-related Keywords
    13. Payroll-Inheritance03: Making Our Base Classes Abstract
    14. Methods Inherited from Object
    15. Checking an Object's Type: Using instanceof
    16. The Instantiation Process at Runtime
    17. Inheritance Example - A Derived Class
    18. Inheritance Examples
    19. Derived Class Objects
    20. Derived Class Methods that Override Base Class Methods
    21. Object Typecasting Example
    22. Typecasting with Arrays of Objects
  7. Interfaces
    1. Creating an Interface Definition
    2. Implementing Interfaces
    3. Reference Variables and Interfaces
    4. Interfaces and Inheritance
    5. Exercise: Payroll-Interfaces01
    6. Some Uses for Interfaces
    7. Annotations
    8. Using Annotations
    9. Annotation Details
  8. Exceptions
    1. Handling Exceptions
    2. Exception Objects
    3. Attempting Risky Code - try and catch
    4. Guaranteeing Execution of Code - The finally Block
    5. Letting an Exception be Thrown to the Method Caller
    6. Throwing an Exception
    7. Payroll-Exceptions01: Handling NumberFormatException in Payroll
    8. Exceptions and Inheritance
    9. Creating and Using Your Own Exception Classes
    10. Payroll-Exceptions02
    11. Rethrowing Exceptions
    12. Initializer Blocks
    13. Logging
    14. Log Properties
    15. Assertions
  9. Collections
    1. Using the Collection Classes
    2. Using the Iterator Interface
    3. Creating Collectible Classes
    4. Generics
    5. Bounded Types
    6. Extending Generic Classes and Implementing Generic Interfaces
    7. Generic Methods
    8. Variations on Generics - Wildcards
    9. Type Erasure
    10. Multiple-bounded Type Parameters
    11. Payroll-Collections01: Payroll Using Generics
    12. Working with Streams and Lambda expressions
    13. Working with Streams and Lambda expressions
  10. Inner Classes
    1. Inner Classes, aka Nested Classes
    2. Inner Class Syntax
    3. Instantiating an Inner Class Instance from within the Enclosing Class
    4. Inner Classes Referenced from Outside the Enclosing Class
    5. Referencing the Outer Class Instance from the Inner Class Code
    6. Better Practices for Working with Inner Classes
    7. Enums
    8. Method Inner Classes
    9. Anonymous Inner Classes
  11. Streams
    1. Introducing Streams
    2. Input Stream Classes
    3. Output Stream Classes
    4. Using System.in
    5. File and Directory Information
    6. Creating a Directory Listing
    7. Files and Streams
    8. Creating a File Copying Program
    9. Dealing with Binary Data
    10. Java Primitives as Binary Data
    11. Sending and Receiving Objects - Serialization
    12. Payroll-Streams01
    13. Properties
    14. Java NIO
  12. Advanced Topics
    1. Concurrency
    2. JDBC
    3. Localization
    4. Security
    5. Modules

Nat Dunn

Nat Dunn founded Webucator in 2003 to combine his passion for technical training with his business expertise and to help companies benefit from both. His previous experience was in sales, business and technical training, and management. Nat has an MBA from Harvard Business School and a BA in International Relations from Pomona College.


Students should have basic computer skills. For example, they should be able to download files from the internet, unzip files, and work with common desktop software like Microsoft Word. Some experience in programming would be useful but is not required.

Certification Requirements:

A combination of Java training and hands-on experience (attained via labs and/or field experience) in the learning subscription provides the best preparation for passing the exam.


Hardware Requirements:

  • This course can be taken on either a PC, Mac, or Chromebook.

Software Requirements:

  • PC: Windows 10 or later.
  • Mac: macOS 10.8 or later.
  • Browser: The latest version of Google Chrome or Mozilla Firefox is preferred. Microsoft Edge and Safari are also compatible.
  • Amazon Coretto 17 (Free. Instructions will be provided in the course)
  • Free version of IntelliJ (available at https://www.jetbrains.com/idea/download)
  • Microsoft Word Online
  • Adobe Acrobat Reader
  • Software must be installed and fully operational before the course begins.


  • Email capabilities and access to a personal email account.

Instructional Material Requirements:

The instructional materials required for this course are included in enrollment and will be available online.

According to Salary.com, the entry-level Java developer salary range is $65,341 to $85,833, with the average salary at $74,422 per year in the U.S.

Yes, you will be prepared for the Oracle Certified Professional: Java SE 17 Developer 1Z0-829 exam.

This course is open enrollment, so you can register and start the course whenever you are ready. Access to your course can take 24-48 business hours.

Yes, ed2go courses are completely online. However, keep in mind that not all certifying bodies or industry-specific certifications are recognized internationally. Please review your country's regulations prior to enrolling in courses that prepare for certification.

After you register, you will receive 6 months to complete the course. The time allotted for completion has been calculated based on the number of course hours.

The time allotted for course completion has been calculated based on the number of course hours. However, if you are unable to complete the course, contact the student advising team to see what options you may have available to work out a suitable completion date. Please note that an extension fee may be charged.

The course instructor will be available by email to answer any questions and provide feedback on your performance. Occasionally, your course may be supported by a team of industry experts. You will also receive support from the student advising team.

Upon successfully passing the final exam, you will be awarded a certificate of completion from the school or organization that you registered through.

ed2go courses will help you gain the skills you need to obtain an entry-level position in most cases. However, you should always research the job market in your area before enrolling.

ed2go courses are non-credit, so they do not qualify for federal aid, FAFSA, and Pell Grant. In some states, vocational rehab or workforce development boards may provide funding to take our courses. Additionally, you may qualify for financial assistance if you meet certain requirements. Learn more about financial assistance.

If you have questions that are not answered on our website, representatives are available via LIVE chat. You can also call us at 1-877-221-5151 during regular business hours to have your questions promptly answered. If you are visiting us during non-business hours, please send us a question using the "Contact Us."