Resources

Books, Certification Exams, & Preparation

Textbook

Optional: "Java How to Program" 10th Edition by Deitel, Prentice-Hall Inc. (Pearson Education), ISBN: 0133807800, Copyright 2015

The book is available on reserve in the library.

The 11th edition 0134743350 would also be acceptable.

The book has a scratch off code on the back of the cover. This code provides access to VideoNotes and Web Chapters.

10th edition

https://media.pearsoncmg.com/bc/abp/cs-resources/products/product.html#product,isbn=0133813436

11th edition https://media.pearsoncmg.com/ph/esm/deitel/java_htpeo_11/cw/login/sign-in.php?dest=https://media.pearsoncmg.com/ph/esm/deitel/java_htpeo_11/cw/index.php

If you do not have a usable access code you can purchase one for $24 (but you don’t really need to).

You do not need MyProgrammingLab access.

Author’s page

Dive Into® IntelliJ video (17:25)

Errata (mistakes)

Pearson page

Source code

Amazon page (rent or buy used)

The textbook code examples can be downloaded at http://www.deitel.com/bookresources/jhtp10/examples.zip

Certification

Oracle Academy Discount voucher codes:

  1. Your membership comes with a certification exam discount: Oracle Academy Institutional faculty members and their students are eligible to receive a 25% discount on select Oracle certification exams. Faculty members must request the discount vouchers/codes and distribute them to their students. Students at Oracle Academy Institutions cannot request for discount vouchers/ codes directly from Oracle Academy.

  2. Schedule to take the exam and redeem your discount: Choose a date and register through Pearson VUE and redeem your Oracle Academy 25% discount code at Pearson VUE payment checkout.

To download instruction guide, click here.
To view a demonstration,
click here.

Entry Level

1Z0-819

In Sep. 2020, Oracle combined the 815 and 816 into the 819.

Exam details, topics, and registration

Preparation Materials

  • OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide

  • OCP Oracle Certified Professional Java SE 11 Developer Practice Tests

  • MOOC

1Z0-819 certification exam topics

Working with Java data types

  • Use primitives and wrapper classes, including, operators, parentheses, type promotion and casting

  • Handle text using String and StringBuilder classes

  • Use local variable type inference, including as lambda parameters

Java Object-Oriented Approach

  • Declare and instantiate Java objects including nested class objects, and explain objects' lifecycles (including creation, dereferencing by reassignment, and garbage collection)

  • Define and use fields and methods, including instance, static and overloaded methods

  • Initialize objects and their members using instance and static initialiser statements and constructors

  • Understand variable scopes, apply encapsulation and make objects immutable

  • Create and use subclasses and superclasses, including abstract classes

  • Utilize polymorphism and casting to call methods, differentiate object type versus reference type

  • Create and use interfaces, identify functional interfaces, and utilize private, static, and default methods

  • Create and use enumerations

Working with Arrays and Collections

  • Use generics, including wildcards

  • Use a Java array and List, Set, Map and Deque collections, including convenience methods

  • Sort collections and arrays using Comparator and Comparable interfaces

Java Platform Module System

  • Deploy and execute modular applications, including automatic modules

  • Declare, use, and expose modules, including the use of services

Java I/O API

  • Read and write console and file data using I/O Streams

  • Implement serialization and deserialization techniques on Java objects

  • Handle file system objects using java.nio.file API

Database Applications with JDBC

  • Connect to and perform database SQL operations, process query results using JDBC API

Annotations

  • Create, apply, and process annotations

Controlling Program Flow

  • Create and use loops, if/else, and switch statements

Exception Handling

  • Handle exceptions using try/catch/finally clauses, try-with-resource, and multi-catch statements

  • Create and use custom exceptions

Working with Streams and Lambda expressions

  • Implement functional interfaces using lambda expressions, including interfaces from the java.util.function package

  • Use Java Streams to filter, transform and process data

  • Perform decomposition and reduction, including grouping and partitioning on sequential and parallel streams

Concurrency

  • Create worker threads using Runnable and Callable, and manage concurrency using an ExecutorService and java.util.concurrent API

  • Develop thread-safe code, using different locking mechanisms and java.util.concurrent API

Secure Coding in Java SE Application

  • Develop code that mitigates security threats such as denial of service, code injection, input validation and ensure data integrity

  • Secure resource access including filesystems, manage policies and execute privileged code

Localization

  • Implement Localization using Locale, resource bundles, and Java APIs to parse and format messages, dates, and numbers