Full program description

NICF - Oracle Certified Professional, Java SE Programmer

What's In It For Me

  • Become a certified Java programmer.
  • Learn core Application Programming interfaces (API) that are used to design object-oriented applications with Java.
  • Learn to build and maintain Java applications.

Course Overview

NTUC LearningHub Course Code: NICF126

SSG Skillsconnect Code: CRS-Q-0030858-IT

Oracle University Course Title: Java SE 8 Programming

This official Oracle course Java SE 8 Programming is designed for individuals who possess a strong foundation in the Java Programming language and expertise in creating Java technology programs. This course covers the core language features and Application Programming Interfaces (API) you will use to design object-oriented applications with Java Standard Edition 8 (Java SE 8) Platform.

You can use this course to further develop your skills with the Java language and prepare for the Oracle Certified Professional, Java SE 8 Programmer Exam! The process of becoming Java certified broadens an individual’s knowledge and deepens your skills through exposure to a wide array of important features, functions and tasks. As one prepare for these certication exams, you can work your way through hands-on exercises and labs using real Java code, which expands on your own capabilities as a Java developer.

Who Should Attend

  • Java Developers
  • J2EE Developer
  • Java EE Developers
  • Developer

Course Duration

5 Days / 35 Hours

Course Outline

Java Platform Overview

  • Defining how the Java language achieves platform independence
  • Differentiating between the Java ME, Java SE, and Java EE Platforms
  • Evaluating Java libraries, middle-ware, and database options
  • Defining how the Java language continues to evolve

Java Syntax and Class Review

  • Creating simple Java classes
  • Creating primitive variables
  • Using operators
  • Creating and manipulate strings
  • Using if-else and switch statements
  • Iterating with loops: while,do-while,for,enhanced for
  • Creating arrays
  • Using Java fields, constructors, and methods

Encapsulation and Subclassing

  • Using encapsulation in Java class design
  • Modeling business problems using Java classes
  • Making classes immutable
  • Creating and use Java subclasses
  • Overloading methods

Overriding Methods, Polymorphism, and Static Classes

  • Using access levels: private, protected, default, and public.
  • Overriding methods
  • Using virtual method invocation
  • Using varargs to specify variable arguments
  • Using the instanceof operator to compare object types
  • Using upward and downward casts
  • Modeling business problems by using the static keyword
  • Implementing the singleton design pattern

Abstract and Nested Classes

  • Designing general-purpose base classes by using abstract classes
  • Constructing abstract Java classes and subclasses
  • Applying final keyword in Java
  • Distinguish between top-level and nested classes

Interfaces and Lambda Expressions

  • Defining a Java interface
  • Choosing between interface inheritance and class inheritance
  • Extending an interface
  • Defaulting methods
  • Anonymous inner classes
  • Defining a Lambda Expression

Collections and Generics

  • Creating a custom generic class
  • Using the type inference diamond to create an object
  • Creating a collection by using generics
  • Implementing an ArrayList
  • Implementing a TreeSet
  • Implementing a HashMap
  • Implementing a Deque
  • Ordering collections

Collections Streams, and Filters

  • Describing the Builder pattern
  • Iterating through a collection using lambda syntax
  • Describing the Stream interface
  • Filtering a collection using lambda expressions
  • Calling an existing method using a method reference
  • Chaining multiple methods together
  • Defining pipelines in terms of lambdas and collections

Lambda Built-in Functional Interfaces

  • Listing the built-in interfaces included in java.util.function
  • Core interfaces - Predicate, Consumer, Function, Supplier
  • Using primitive versions of base interfaces
  • Using binary versions of base interfaces

Lambda Operations

  • Extracting data from an object using map
  • Describing the types of stream operations
  • Describing the Optional class
  • Describing lazy processing
  • Sorting a stream
  • Saving results to a collection using the collect method
  • Grouping and partition data using the Collectors class

Exceptions and Assertions

  • Defining the purpose of Java exceptions
  • Using the try and throw statements
  • Using the catch, multi-catch, and finally clauses
  • Autoclose resources with a try-with-resources statement
  • Recognizing common exception classes and categories
  • Creating custom exceptions
  • Testing invariants by using assertions

Java Date/Time API

  • Creating and manage date-based events
  • Creating and manage time-based events
  • Combining date and time into a single object
  • Working with dates and times across time zones
  • Managing changes resulting from daylight savings
  • Defining and create timestamps, periods and durations
  • Applying formatting to local and zoned dates and times

I/O Fundamentals

  • Describing the basics of input and output in Java
  • Read and write data from the console
  • Using streams to read and write files
  • Writing and read objects using serialization

File I/O (NIO.2)

  • Using the Path interface to operate on file and directory paths
  • Using the Files class to check, delete, copy, or move a file or directory
  • Using Stream API with NIO2

Concurrency

  • Describing operating system task scheduling
  • Creating worker threads using Runnable and Callable
  • Using an ExecutorService to concurrently execute tasks
  • Identifying potential threading problems
  • Using synchronized and concurrent atomic to manage atomicity
  • Using monitor locks to control the order of thread execution
  • Using the java.util.concurrent collections

The Fork-Join Framework

  • Parallelism
  • The need for Fork-Join
  • Work stealing
  • RecursiveTask
  • RecursiveTask

Parallel Streams

  • Reviewing the key characteristics of streams
  • Describing how to make a stream pipeline execute in parallel
  • List the key assumptions needed to use a parallel pipeline
  • Defining reduction
  • Describing why reduction requires an associative function
  • Calculating a value using reduce
  • Describing the process for decomposing and then merging work
  • Listing the key performance considerations for parallel streams

Database Applications with JDBC

  • Defining the layout of the JDBC API
  • Connecting to a database by using a JDBC driver
  • Submitting queries and get results from the database
  • Specifying JDBC driver information externally
  • Performing CRUD operations using the JDBC API

Localization

  • Describing the advantages of localizing an application
  • Defining what a locale represents
  • Read and set the locale by using the Locale object
  • Building a resource bundle for each locale
  • Calling a resource bundle from an application
  • Changing the locale for a resource bundle

Mode of Assessment

Students will be required to complete a paper-based NICF assessment during class.

Certification Obtained and Conferred by

Awarded NICF Statement of Attainments (SOAs)

Upon completion of the course, students will be awarded with SOA from SSG.

Course Objectives

After completing this course, students will be able to:

  • Creating high-performing multi-threaded applications
  • Creating Java technology applications that leverage the object-oriented features of the Java language, such as encapsulation, inheritance, and polymorphism
  • Implementing input/output (I/O) functionality to read from and write to data and text files and understand advanced I/O streams
  • Executing a Java technology application from the command line
  • Manipulating files, directories and file systems using the JDK NIO.2 specification
  • Creating applications that use the Java Collections framework
  • Performing multiple operations on database tables, including creating, reading, updating and deleting using both JDBC and JPA technology
  • Searching and filter collections using Lambda Expressions
  • Implementing error-handling techniques using exception handling
  • Using Lambda Expression concurrency features

Pre-requisites

It is required that students have completed the NICF - Oracle Certified Associate, Java SE Programmer course or experience with the Java language (can create, compile and execute programs) or meet the following criteria:

  • Experience with at least one programming language,
  • Understand object-oriented principles, and
  • Basic understanding of database concepts and SQL syntax.

Funding Information

  • SSG Funding

This course is aligned to the National Infocomm Competency Framework (NICF) and accredited by SSG with Cat-B Funding (PME Level).

  • Eligible Singapore Citizens can use their SkillsFuture credit to offset the course fee. 

Price

Course Fee with SSG Cat-B funding

Individual Sponsored Company Sponsored
w/o GST w GST Non-SME SME
w/o GST w GST w/o GST w GST
Original Course Fee $3,690.00 $3,948.30 $3,690.00 $3,948.30 $3,690.00 $3,948.30
Singapore Citizens & PRs aged 21 years and above $3,165.00 $3,423.30 $3,165.00 $3,423.30 $1,940.00 $2,198.30
Singapore Citizens aged 40 years and above $1,940.00 $2,198.30 $1,940.00 $2,198.30 $1,940.00 $2,198.30
Singapore Citizens aged 35 years and above who are not earning more than $2,000 per month (WTS Scheme) $184.50 $442.80 $184.50 $442.80 $184.50 $442.80

Remarks:

  • Individual Sponsored
    • Eligible Singapore Citizens can use their SkillsFuture Credit to offset course fee payable after funding.
    • Eligible Singapore Citizens can use their PSEA funds to offset course fee payable after funding.
  • Company Sponsored
    • Absentee Payroll claimable by SMEs: Up to 80%of hourly basic salary capped at $7.50/hr
    • Absentee Payroll claimable by Non-SMEs: Up to 80% of hourly basic salary capped at $4.50/hr
    • Absentee payroll claimable by companies (SMEs and Non-SMEs) sponsoring candidates under WTS Scheme: Up to 95% of hourly basic salary (no dollar cap)

Terms and conditions apply. NTUC LearningHub reserve the right to make changes or improvements to any of the products described in this document without prior notice.

Prices are subject to other LHUB miscellaneous fees

NICF126