Java SE8 Programming training and certification in washington DC
George Mason University, Volgenau School of Engineering

TAIT 0526: Java SE8 Programming



George Mason University partners with Oracle in the Oracle University program. Official Oracle curriculum is utilized in our Java SE8 Programming course. Our instructors are Oracle Certified Professionals with real-world database administration experience. Students receive a 25% discount coupon on certification examinations as an added benefit of George Mason's membership with Oracle University. Effective 2010, books shipped by Oracle Corporation are in electronic format.

Overview

This Java SE 8 Programming hands-on training 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.

Participants will learn to:

  • Create Java technology applications with the latest JDK Technology
  • Develop your object-oriented skills
  • Identify good practices in the use of the language to create robust Java application
  • Use Lambda expressions in Java applications
  • Store and manipulate data using collections
  • Manipulate files, directories and file systems
  • Connect to databases using standard SQL queries through JDBC
  • Create high-performance multi-threaded applications

This course is designed to teach you the subject matter in a hands-on manner to develop your skills with the Java language and prepare for the Oracle Certified Professional, Java SE 8 Programmer Exam.

All books and materials are included.

Back to top

Audience and Prerequisites

This course is designed for programmers/developers who want to learn Java techniques and who have a basic understanding of object-oriented principles and programming logic.

Course Outline Detail

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

Registration

Click here to download the registration form (fax or mail)

Register online*

*Full payment by Visa or Mastercard only required at the time of online registration.

Schedule

June 27, 2017 - August 1, 2017
Tuesdays and Thursdays
Time: 6:00 PM - 10:00 PM
Schedule Details

Location: Loudoun 
Section: L04

Tuition

$1,900

CEUs
4 CEUs
40 Hours
Onsite Opportunity

Enhance your organization's competitive edge!

George Mason University's TechAdvance Program can tailor programs to meet your organization's needs. Companies or agencies interested in bringing this program on site should contact TechAdvance at 703-993-1551.

Contact Info.
Address:

  George Mason University
TechAdvance
Volgenau School of Engineering
  3351 Fairfax Drive, Suite 448
  Arlington, VA 22201

Telephone: 703-993-1551
Email: advance@gmu.edu

 

 

Volgenau School of Engineering George Mason University