US / UK-EMEA / Contact Ask DevelopMentor a Question800.699.1932

Core Java 6 Programming Fundamentals Training

(FW1080) 3 Day Course, $2195
 
Upcoming Classes:

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Core Java 6 Programming Fundamentals is a three-day, fast-paced, quick start to Java 6 training course geared for developers who have prior working knowledge of object-oriented programming languages such as C++. Throughout the course students learn the best practices for writing great object-oriented programs in Java 6 using sound development techniques, new improved features for better performance, and new capabilities for addressing rapid application development. In addition to the normal exercises that are liberally sprinkled throughout the course, there is a case study that covers the entire spectrum from use cases to object-oriented design to implemented classes. This case study supplements the course and can be used during and after the course as a reference and a tool for reviewing and practicing what was learned in class.

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Students who attend Core Java 6 Programming Fundamentals will leave this course armed with the required skills to develop solid object-oriented applications written in Java, using sound coding techniques and best coding practices.


At the conclusion of the course, attendees will be able to:

  • Understand not only the fundamentals of the Java language, but also its importance, uses, strengths and weaknesses
  • Understand the basics of the Java language and how it relates to OO programming and the Object Model
  • Work with the Java Virtual Machine and understand what functions it performs in running Java applications
  • Learn to use Java multi-threading and exception handling features
  • Understand and use classes, inheritance and polymorphism
  • Work with various simple and complex data constructs as well as fields and methods
  • Understand and use collections and generics including new Java 6 features and capabilities
  • Take advantage of the Java tooling that is available with the programming environment being used in the class

Throughout the three-day course, students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review.

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Session: Java: A First Look


Lesson: Using the JDK

  • Setting Up Environment
  • The Development Process
  • Locating Class Files
  • Compiling Package Classes
  • Source and Class Files
  • Applications and Applets

Lesson: Writing a Simple Class

  • Classes in Java™
  • What Is a Class?
  • Defining the Class
  • Class Modifiers
  • Class Instance Fields
  • Instance Fields Diagram
  • Primitives vs. Object References
  • Creating Objects
  • The main Method
  • Using the Dot Operator
  • Writing Output

Lesson: The Java™ Platform

  • Defining Java
  • Java Provides Several Platforms
  • Note on Terminology
  • Java SE 6
  • Java SE Development Kit (JDK)
  • Executing Programs
  • Lifecycle of a Java Program
  • Responsibilities of JVM
  • Java is Dynamic: The Runtime Process
  • Primary Areas of the JVM Runtime
  • Garbage Collection
  • Documentation and Code Reuse
  • JavaDoc Provides Documentation Delivery
  • In-Line Comments are Translated into HTML Rendering
  • Working with Java in Your Environment

Session: Object-Oriented Concepts In Java


Lesson: Object-Oriented Programming

  • The Object Oriented Way
  • Real-World Objects
  • Classes and Objects
  • Examples of Classes and Objects
  • Classes and Objects Diagram
  • Object Behavior
  • Methods and Messages

Lesson: Inheritance, Abstraction, and Polymorphism

  • Encapsulation
  • Inheritance
  • Method Overriding
  • Aggregation
  • Type Abstraction - Grouping as Supertype
  • Polymorphism
  • Polymorphism Diagram

Session: Getting Started with Java™


Lesson: Adding Methods to the Class

  • Instance Methods
  • Passing Parameters Into Methods
  • Returning a Value From a Method
  • Overloaded Methods
  • Overloaded Methods Diagram
  • Constructors
  • Defining a Constructor
  • Optimizing Constructor Usage

Lesson: Language Statements

  • Operators
  • Comparison and Logical Operators
  • Looping: The for Statement
  • Looping: The while Statement
  • Looping: The do Statement
  • Continue and Break Statements
  • The switch Statement

Lesson: Using Strings

  • Strings
  • String Method
  • String Equality
  • StringBuffer
  • Strings, StringBuffer, and StringBuilder
  • StringTokenizer
  • Scanner
  • Scanner - File Source
  • Scanner - Getting Input
  • Scanner - Testing for Tokens
  • Scanner - Patterns for Tokens
  • Formatter
  • Formatter - Probable First Encounters
  • Formatter - StringBuffer

Lesson: Specializing in a Subclass

  • Extending a Class
  • The extends Keyword
  • Casting
  • Overriding Superclass Methods
  • Method Overriding Diagram
  • Calling Superclass Methods from Subclass
  • The Object Class
  • The equals Method
  • Default Constructor
  • Implicit Constructor Chaining
  • Passing Data Up Constructor Chain
  • A Common Programming Mistake
  • Editing Tools in Your IDE

Session: Essential Java™ Programming


Lesson: Fields and Variables

  • Fields vs. Variables
  • Data Types
  • Default Values
  • Block Scoping Rules
  • Using this
  • Final and Static Fields
  • Static Variable Diagram

Lesson: Using Arrays

  • Arrays
  • Accessing the Array
  • Multidimensional Arrays

Lesson: Static Methods and Fields

  • Static Fields
  • Simple Example of Static Fields
  • Static Methods

Lesson: Java™ Packages

  • The Problem
  • Packages
  • Class Location of Packages
  • The Package Keyword
  • Importing Classes
  • Executing Programs
  • Visibility
  • Java Naming Conventions
  • Packages Diagram
  • Refactoring in Your IDE

Session: Advanced Java™ Programming


Lesson: Inheritance and Polymorphism

  • Polymorphism
  • Polymorphism: The Subclasses
  • Treating Derived Classes as the Superclass
  • Casting to the Derived Class
  • Using instanceof For Downcasting
  • Upcasting vs. Downcasting
  • Calling Superclass Methods From Subclass
  • The final Keyword

Lesson: Interfaces and Abstract Classes

  • Separating Capability from Implementation
  • Abstract Classes
  • Shape as an Abstract Class
  • Polymorphism With Abstract Classes
  • Interfaces
  • Implementing an Interface
  • Extending Interfaces
  • Polymorphism With Interfaces
  • Type Checking
  • Abstract Classes vs. Interfaces
  • Interfaces Diagram

Lesson: Exceptions

  • What is an Exception?
  • Exception Architecture
  • Handling Exceptions
  • The Throwable Class
  • The try Block
  • The catch Block
  • The finally Block
  • Full Example of Exception Handling
  • Generalized vs. Specialized Exceptions
  • Overriding Methods
  • Creating Your Own Exceptions
  • Throwing Exceptions
  • Re-throwing an Exception
  • Checked vs. Unchecked Exceptions
  • Debugging in Your IDE

Session Java™ Developer's Toolbox


Lesson: Utility Classes

  • Wrapper Classes
  • The Number Class
  • Numbers and Strings
  • Big Decimal
  • Random Numbers
  • Decimal Formatting
  • The Date Class

Lesson: Vector and Hashtable

  • The Vector Class
  • Creating and Using a Vector
  • Java Collections Methods in Vector
  • Hashtables
  • Understanding How Hashing Works
  • Creating and Using a Hashtable
  • Performing Lookups

Lesson: Collections

  • The Collections Framework
  • Collections Feature Types
  • Collections Interface Hierarchy
  • Map Interfaces
  • Optional Methods
  • The Collection Interface
  • Iterators
  • The Set Interface
  • SortedSet
  • Set and SortedSet Example
  • Comparable and Comparator
  • The List Interface
  • List Example
  • ListIterator
  • Queue Interface
  • QueueExample
  • BlockingQueue
  • BlockingQueue Implementations
  • Collections Utility Methods
  • Features of the Implementation Classes
  • Synchronization Wrappers
  • Feature Comparison
  • Using the Right Collection
  • Use of Collections vs. Vector/Hashtable
  • Optimizing Collection Constructors
  • Copying Arrays
  • Creating and Using an ArrayList
  • Creating and Using a HashMap

Lesson: Generics

  • Generics and Parametric Polymorphism
  • Simple Generics
  • The Mechanics of Generics
  • Generics and Subtyping
  • Compiler Restrictions on Generics and Subtyping
  • Generics as Arguments in Methods
  • Rationale Behind Wildcards
  • Wildcards In Use
  • Regular Wildcards in Method Parameters
  • Bounded Wildcards
  • Standard Rules Apply
  • Generic Methods
  • Interoperability with Legacy Code
  • Raw Types
  • Legacy Calls To Generics
  • When Generics Should Be Used
  • Build Paths in Your IDE

Lesson: Overview of Java GUIs

  • JFC - Java Foundation Classes
  • Categories of Classes in JFC
  • Creating the Frame
  • Adding Content to a Frame
  • A Closer Look at Layout Managers
  • BorderLayout
  • JFC Provides an Event Handling Structure
  • Switching Java Versions in Your IDE

LABS: There are over 20 hands-on lab exercises and challenges laced throughout this course. Please ask us for lab details.


Case Study: A complete case study provides an incremental series of labs covering requirements analysis, design, implementation, and refactoring. A complete set of solutions are also included, enabling the case study to be used after class as a homework assignment, tool for review, or a reference.

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Upcoming Dates & Locations

London
August 13 - 15, 2012
Map
London
November 5 - 7, 2012
Map
Ready?
Connect
Signup for our Free Newsletter!
Latest news
Twitter Feed MORE
There is something to this statement: Why Quit? Because They Have Bigger Monitors http://t.co/9FrGETG5 #dm (via @mkennedy)
19 hours ago (details)
Essential RESTful Services Training. The new #REST course @BrockLAllen and myself where working on is online. http://t.co/XXhGN5JP #dm ^MdB
2 days ago (details)
Testimonials
  • Tony Whitter has a genuine enthusiasm for the topic and technology in general - inspiring. Adrian W.