Training

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

439 University Av
Suite 820
Toronto, ON
M5G 1Y8

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

 

Home > Training > Java, Java EE and Frameworks > Eclipse IDE >

WA1253 Java Programming Language Training and Courseware

Quick Enroll

This course teaches students the syntax of the Java programming language; object-oriented programming with the Java; creating graphical user interfaces (GUI), exceptions, file input/output (I/O), threads and networking. Programmers familiar with object- oriented concepts can learn how to develop Java application.

Topics
 
  • Introduction to Java
  • Java Basics
  • Branching and Looping
  • Arrays
  • Objects
  • Advanced Class Concepts
  • Exceptions
  • Stream I/O
  • Collections
  • Threads
  • Networking
  • Overview of OOAD
  • AWT
  • AWT Event
  • AWT Components
  • JFC
  • Applet
Practical work
  Extensive practical exercises take students through all major aspects of the design and development of Java programs.
What you will learn
  After completing this course, the student should be able to:
  • Apply OOP principles
  • Design OO applications using abstraction, encapsulation, modularity, and hierarchy
  • Create applications
  • Use Java Exceptions to guarantee graceful error recovery of your application
  • Do input/output using Java
  • Create and use inner classes in your program to be concise and clear
  • Collections
  • Java Networking
  • Threads
  • Develop GUI using AWT and Swing with event handling
Audience
  This course is intended for programmers who are interested in adding Java to their skills.
Prerequisites
  Students should have some basic-level knowledge of programming in any programming language.
Duration
  Five days.

Course Outline

Chapter 1. Overview of Java

 
  • History Of Java
  • Benefits Of Java
  • What Is Java?
  • What's This "Virtual Machine"?
  • Comparison to Other Languages
  • Java Programs
  • Basic Java Development Tools
  • Java Editions
  • Example – HelloWorld
  • Java Classes
  • Main Methods
  • Statements
  • Summary
 

Chapter 2. Java Tools in Eclipse

 
  • Eclipse Platform
  • Eclipse Workspace
  • Perspectives, Views & Editors
  • Basic Operations with Eclipse Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Problems View
  • Eclipse Preferences
  • Build and Validation
  • Code Completion, Templates and Snippets
  • Searching
  • Configure Compiler Class Path
  • JRE Switching
 

Chapter 3. Basic Object Concepts

 
  • What Is An Object?
  • State
  • Behavior
  • Encapsulation
  • Encapsulation Examples
  • Classes vs. Objects
  • Inheritance
  • Interfaces
  • Polymorphism
  • Benefits Of Objects
  • Summary
 

Chapter 4. Basic Java Syntax

 
  • Declaring And Initializing Variables
  • Keywords
  • Coding Tips – Variables
  • Primitive Data Types
  • Logical - boolean
  • Textual - char and String
  • Integral - byte, short, int, long
  • Floating Point - float and double
  • Literal Values
  • Strings
  • Creating Strings
  • White Space
  • Comments
  • Coding Tips - Comments
  • Java Statements
  • Coding Tips - Statements
  • Scope of a Variable
  • System.out/System.in
  • Scanner Class
  • Summary
 

Chapter 5. Operations and Making Decisions

 
  • Operator Categories
  • Special Situations
  • Binary Operators
  • Integer Division
  • Numeric Promotion
  • Type Conversion Of Primitive Types
  • Unary Operators
  • Relational Operators
  • Logical Operators
  • "Short Circuited" Operators
  • Bitwise Operators
  • Bitwise Examples
  • Shift Operators
  • Overflow And Underflow
  • Assignment Operators
  • Ternary Operator
  • Calculation Errors
  • Operator Precedence
  • Precedence Examples
  • Combining Strings
  • Coding Tips - Operators
  • Control Flow Statements
  • 'if' Statement
  • 'if…else' Statement
  • Nested Statements
  • Coding Tips - if & if-else
  • Summary
 

Chapter 6. Using Classes and Objects

 
  • Objects, Instances, And Classes
  • What Are Classes?
  • Working With Classes And Objects
  • Instantiation
  • Instance Methods
  • Object References
  • String Operations
  • "Wrapper" Classes
  • Autoboxing
  • Summary
 

Chapter 7. Writing Classes

 
  • Why Define Your Own Classes?
  • Encapsulation
  • Elements Of A Class
  • Defining Classes
  • Coding Tips - Class Definitions
  • Fields
  • Defining Fields
  • Coding Tips - Fields
  • Methods
  • Defining Methods
  • Passing Parameters
  • Overloading Methods
  • Coding Tips - Methods
  • Local Variables vs. Instance Variables
  • Example - Defining a Class
  • Example - Fields
  • Example - Defining a Method
  • Example - Calling a Method
  • Summary
 

Chapter 8. Controlling Code Access and Code Organization

 
  • Controlling Access
  • Data Hiding
  • Encapsulation
  • JavaBeans
  • Packages
  • Naming Packages
  • Declaring Packages In Classes
  • Problems Solved With Packages
  • Package Access
  • Example - Access Modifiers
  • Import Statement
  • Using Classes From Packages
  • Coding Tips - Import Statements
  • Correlation To File Structure
  • Class Path
  • Java Core Packages
  • Java API Documentation
  • Summary
 

Chapter 9. Constructors and Class Members

 
  • Constructors
  • Default Constructor
  • Multiple Constructors
  • Defining Constructors
  • Example - Calling Constructors
  • "Good" Constructors
  • 'this' Keyword
  • Using 'this' to Call a Constructor
  • Using 'this' to Set a Field
  • Class Members
  • Examples Of Class Members
  • Comparison With Instance Members
  • Use Of Class Variables
  • Static Class Methods
  • Use Of Class Methods
  • The Math Class
  • Main Method And Command Line Arguments
  • Declaring Constants
  • Coding Tips - Class Members
  • Useful Standard Class Members
  • Initialization Blocks
  • Static Initialization Blocks
  • Summary
 

Chapter 10. Advanced Control Structures

 
  • 'switch' Statement
  • Example - switch
  • Switch "Fall Through"
  • Using switch "Fall Through" for Multiple Options
  • 'for' Loop
  • Example - for
  • 'while' Loop
  • Example - while
  • 'do…while' Loop
  • Example - do while
  • Break Statement
  • Example - break
  • Labeled Statements
  • Example - Labeled break
  • Continue Statement
  • Example - continue
  • Example - Labeled continue
  • Coding Tips - Control Structures
  • Summary
 

Chapter 11. Arrays

 
  • Arrays
  • Declaring Arrays
  • Populating Arrays
  • Accessing Arrays
  • Arrays of Objects
  • Array Length
  • Coding Tips - Arrays
  • Array References
  • Multidimensional Arrays
  • Arrays Of Arrays
  • Copying Arrays
  • For-Each loop
  • Variable Arguments
  • Variable Arguments Example
  • Summary
 

Chapter 12. Inheritance

 
  • Inheritance Is…
  • Inheritance Examples
  • Declaring Inheritance
  • Inheritance Hierarchy
  • Access Modifiers Revisited
  • Inherited Members
  • Instances Of A Subclass
  • Example Of Inheritance
  • Role In Reuse
  • The super Keyword
  • Example - super Keyword
  • Problems with Constructors
  • Limiting Subclasses
  • Calling Methods in Constructors
  • The Object Class
  • Summary
 

Chapter 13. Commonly Overridden Methods

 
  • Overriding Methods
  • @Override Annotation
  • toString()
  • toString() in Object
  • Overriding toString()
  • Comparing Objects
  • Using == vs. equals(..)
  • Overriding equals(..)
  • Complex Comparisons
  • equals(..) Example
  • hashCode()
  • Overriding hashCode()
  • hashCode() Example
  • Generating equals and hashCode
  • Summary
 

Chapter 14. Advanced Java Tools

 
  • Refactoring
  • Changing Class Name
  • Changing Method Name
  • Changing Variable Name
  • Generalizing a Variable
  • Moving a Class to a Different Package
  • Extracting Code to a Method
  • Pull-up and Push-down Methods
 

Chapter 15. Exceptions

 
  • What is an Exception
  • Benefits
  • The Exception Class
  • How to Work With Exceptions
  • Example Exception Handling
  • The try-catch-finally Statement
  • Flow of Program Control
  • Exception Hierarchy
  • Checked Exceptions
  • Unchecked Exceptions
  • Coding Tips - Exception Types
  • Catching Multiple Exceptions
  • Specifying Thrown Exceptions
  • Rethrowing Exceptions
  • Chaining Exceptions
  • Creating your Own Exception
  • Summary
 

Chapter 16. Interfaces and Polymorphism

 
  • Casting Objects
  • The instanceof Operator
  • Abstract Classes
  • Abstract Class – An Example
  • Interface
  • Interface – An Example
  • Comparable Interface
  • Comparable Example
  • Coding Tips - Superclass or Abstract Class/Interface?
  • Coding Tips – Abstract Class or Interface
  • Polymorphism
  • Conditions for Polymorphism
  • Coding Tips - Leveraging Polymorphism
  • Covariant Return Types
  • Covariant Return Types – An Example
  • Summary
 

Chapter 17. Collections and Generics

 
  • What are Collections?
  • Arrays vs. Collections
  • Main Collections Interfaces
  • java.util.Collection
  • Main Collection Methods
  • Sets
  • java.util.List
  • java.util.Queue
  • Iteration on a Collection
  • Iterator vs. For-Each Loop
  • Maps
  • java.util.Map
  • Other Maps
  • Collections Implementations
  • Abstract Implementations
  • Choosing a Collection Type
  • Generics
  • Generics and Collections
  • Generic Collection Example
  • Collections and Primitive Types
  • Summary
 

Chapter 18. Useful Java Classes

 
  • Java Logging API
  • Control Flow of Logging
  • Logging Levels
  • Loggers
  • Logging Example
  • Logging Handlers
  • Logging Formatters & Log Manager
  • Logging Configuration File
  • Example Logging Configuration File
  • Logging Filters
  • java.lang.StringBuilder
  • java.util.StringTokenizer
  • java.util.Arrays & java.util.Collections
  • java.util.Random
  • java.util.Date
  • GregorianCalendar & Calendar
  • Formatting
  • Formatting Example
  • Summary
 

Chapter 19. Input and Output

 
  • Overview of Java Input/Output
  • The File Class
  • File Example
  • Serialization
  • Serializing Object State
  • Avoiding Serialization Problems
  • serialVersionUID
  • Options for File Input/Output
  • Streams
  • Input Stream
  • Output Stream
  • "Chained" Streams
  • RandomAccessFile
  • Using Streams - Write Example
  • Using Streams - Read Example
  • Reader and Writer
  • Using Readers and Writers - Write Example
  • Using Readers and Writers - Read Example
  • Using Readers and Writers - Scanner Read Example
  • Buffers
  • Channels
  • Using Buffers and Channels - Write Example
  • Using Buffers and Channels - Read Example
  • Summary
 

Chapter 20. Threads

 
  • Overview of Threads
  • Threads in Java Programming
  • Write a Runnable Class
  • Create Threads
  • Another Way of Creating Threads
  • Two ways of creating threads
  • States in a Thread’s Lifetime
  • JVM Scheduler
  • Control and Schedule Thread
  • Executor Interface
  • Callable<V> Interface
  • ExecutorService Interface
  • Future<T> Object
  • Coordinating the Concurrency of Multiple threads
  • Synchronization
  • How Does the Object Lock Flag Work
  • Using the synchronized keyword
  • The implication of synchronization
  • Example of Synchronization - Producer/Consumer
  • Example of Synchronization – MyStack
  • Example of Synchronization – Producer
  • Example of Synchronization – Consumer
  • Example of Synchronization – SyncTest
  • But…
  • Coordinating Thread Cooperation
  • wait() and notify()
  • Example of Coordination Producer/Consumer
  • Example of Coordination – MyStack
  • Results
  • Deadlock
 

Chapter 21. Using Swing to Build GUIs

 
  • What Is Swing?
  • Swing Example
  • Building A Swing GUI
  • Simple Example
  • JFrame
  • Components
  • Adding Components
  • BorderLayout
  • Panel
  • BoxLayout
  • Swing Widgets
  • JTextField
  • JTextArea
  • JList
  • JCheckBox
  • JPasswordField
  • Event Handling
  • Event Handler Class
  • Sample Event Handler Class
  • Adding The Event Handler
  • Using Event Handlers
  • Inner Event Handler Classes
  • Inner Event Handler
  • Using Inner Classes
  • Recoded main()
  • Components As Fields
  • Example - The Time Updater
  • SwingTimeDisplay.java
  • SwingTimeDisplay.java (cont.)
  • Summary
 

Chapter 22. Networking

 
  • Overview
  • URL Connections
  • Browser Example
  • InetAddress
  • Socket Classes
  • Simple Clients and Servers
  • Simple Clients and Servers (cont.)
  • Multithreaded Servers
  • UDP Sockets
 

Chapter 23. Other Java Concepts

 
  • Annotations
  • Enumerated Types
  • Enumerated Types – Example
  • Assertions
  • Assertions Example
  • When to use Assertions
  • Enabling Assertions
  • JVM Storage Areas
  • Java Heap Space
  • Heap Size Limits
  • Garbage Collection Basics
  • Allocation Failure (AF)
  • OutOfMemoryError
  • Memory Leak
  • Distributing Java Code with JARs
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
Outline Course Outline
Setup Guide Lab Setup Guide

Buy on-site and customized class

Attend a public class

05/28/2012 - Calgary
$3,450.00 Enroll

05/28/2012 - Montreal
$3,450.00 Enroll

06/25/2012 - Ottawa
$3,450.00 Enroll

07/09/2012 - Toronto
$3,450.00 Enroll

07/09/2012 - Montreal
$3,450.00 Enroll

07/23/2012 - Calgary
$3,450.00 Enroll

07/30/2012 - Vancouver
$3,450.00 Enroll

08/20/2012 - Toronto
$3,450.00 Enroll

08/27/2012 - Calgary
$3,450.00 Enroll

09/10/2012 - Vancouver
$3,450.00 Enroll

09/10/2012 - Ottawa
$3,450.00 Enroll

09/17/2012 - Montreal
$3,450.00 Enroll

10/15/2012 - Toronto
$3,450.00 Enroll

10/22/2012 - Calgary
$3,450.00 Enroll

11/05/2012 - Montreal
$3,450.00 Enroll

11/19/2012 - Vancouver
$3,450.00 Enroll

11/26/2012 - Ottawa
$3,450.00 Enroll

*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.