Call us at 1-978-250-4299
Hands On Technology Transfer

Learning to Program with Java Course

Attend face-to-face, remote-live or via on-demand training

On-Demand Training with Personal Facilitation
Top

Learning to Program with Java

Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training.

Pricing

Face-to-face or remote-live: CDN$3,275

On-demand: CDN$1,975

Discounts: We offer multiple discount options. Click here for more informaiton.

Duration

Face-to-face or remote-live: 5 Days

On-demand: Approximately 35 hours of coursework with personal facilitation, to be completed in a four week span.

Registration

Face-to-face: Click here to view our schedules and register for in-person sessions.

Remote-live: Click here to register for live remote class sessions within a date range of your choosing.

On-demand: Click here to register for on-demand training with personal facilitation, on a start date of your choosing.

Students Will Learn

  • Fundamental elements of programming
  • Interactive Development Environment (IDE) concepts
  • Classes, objects and methods
  • Declaring and instantiating a Java object
  • Using conditional and looping constructs
  • Declaring and instantiating arrays
  • Using and creating interfaces
  • Defining classes using inheritance
  • Exception handling
  • Formatting output with class Formatter
  • Using strings, characters and regular expressions
  • GUI programming concepts

Course Description

This hands on basic Java training course provides an introduction to programming using the Java language. Students are introduced to the application development cycle, structure of programs, and specific language syntax. The course introduces important algorithmic constructs, string and character manipulation, dynamic memory allocation, standard I/O, and fundamental object-oriented programming concepts. The course explains the use of inheritance and polymorphism early on so the students can practice extensively in the hands on labs. Structured programming techniques and error handling are emphasized. The course includes the processing of command line arguments and environment variables so students will be able to write flexible, user-friendly programs. Comprehensive hands on exercises are integrated throughout to reinforce learning Java programming and develop real competency.

This class is intended for non-programmers. Students who already understand fundamental structured programming and object-oriented techniques should attend the Java Programming course instead of this more introductory course.

Course Prerequisites

Familiarity with computers is required when learning to program with Java.

Course Overview

Fundamentals of the Program Development Cycle
  • Computer Architecture
  • The Notion of Algorithms
  • Source Code vs. Machine Code
  • Compile-Time vs. Run-Time
  • Software Program Architecture
    • Standalone
    • Client/Server
    • Distributed
    • Web-Enabled
  • IDE (Interactive Development Environment) Concepts
Application Development Fundamentals
  • Structure of a Java Program
  • Memory Concepts
  • Fundamental Data Type Declarations
  • Fundamental I/O Concepts
  • Fundamental Operators
    • Arithmetic Operators
    • Logical Operators
    • Precedence and Associativity
  • Building and Deploying a Java Program
Introduction to Classes and Objects
  • Classes, Objects and Methods
  • Object Instances
  • Declaring and Instantiating a Java Object
  • Declaring Methods
  • set and get Methods
  • Initiating Objects with Constructors
  • Primitive Types vs. Reference Types
Flow Control
  • Conditional Constructs
  • Looping Constructs
    • Counter-Controlled Repetition
    • Sentinel-Controlled Repetition
  • Nested Control Constructs
  • break and continue Statements
  • Structured Programming Best Practices
Writing Methods (Functions)
  • Static vs. Dynamic Allocation
  • Declaring Methods
  • Declaring Methods with Multiple Parameters
  • Method-Call Stack
  • Scope of Declarations
  • Argument Promotion and Casting
  • Designing Methods for Reusability
  • Method Overloading
Arrays
  • Purpose of Arrays
  • Declaring and Instantiating Arrays
  • Passing Arrays to Methods
  • Multidimensional Arrays
  • Variable-Length Argument Lists
  • Using Command-Line Arguments
  • Using Environment Variables
Deeper Into Classes and Objects
  • Controlling Access to Class Members
  • Referencing the Current Object Using this
  • Overloading Constructors
  • Default and No-Argument Constructors
  • Composition of Classes
  • Garbage Collection and Destructors
  • The finalize Method
  • Static Class Members
Defining Classes Using Inheritance
  • Superclasses and Subclasses
  • Advantages of Using Inheritance
  • protected Class Members
  • Constructors in Subclasses
Increasing Convenience by Using Polymorphism
  • Purpose of Polymorphic Behavior
  • The Concept of a Signature
  • Abstract Classes and Methods
  • final Methods and Classes
  • Purpose of Interfaces
  • Using and Creating Interfaces
  • Common Interfaces of the Java API
Files and Streams
  • Concept of a Stream
  • Class File
  • Sequential Access
  • Object Serialization to/from Sequential Access Files
  • Additional java.io Classes
Fundamental Searching and Sorting
  • Introduction to Searching Algorithms
    • Linear Search
    • Binary Search
  • Introduction to Sorting Algorithms
    • Selection Sort
    • Insertion Sort
    • Merge Sort
Fundamental Data Structures
  • Dynamic Memory Allocation
  • Linked Lists
  • Stacks
  • Queues
  • Trees
Exception Handling
  • Types of Exceptions
  • Exception Handling Overview
  • Exception Class Hierarchy
  • Extending Exception Classes
  • When to Throw or Assert Exceptions
Formatted Output
  • printf Syntax
  • Conversion Characters
  • Specifying Field Width and Precision
  • Using Flags to Alter Appearance
  • Printing Literals and Escape Sequences
  • Formatting Output with Class Formatter
Strings, Characters and Regular Expressions
  • Fundamentals of Characters and Strings
  • String Class
  • String Operations
  • StringBuilder Class
  • Character Class
  • StringTokenizer Class
  • Regular Expressions
    • Regular Expression Syntax
    • Pattern Class
    • Matcher Class
Fundamental GUI Programming Concepts
  • Overview of Swing Components
  • Displaying Text and Graphics in a Window
  • Event Handling with Nested Classes
  • GUI Event Types and Listener Interfaces
  • Mouse Event Handling
  • Layout Managers

Related Courses

Testimonials

This class was great. It provided exactly what I was looking for, which was to solidify OO concepts. I plant on pursuing Java as a career now and feel that I'm off to a great start.
— A.O., Agora, Inc.


The instructor did a fantastic job teaching this course. I do have programming experience (have not programmed in years) but this was a great refresher. To say I simply enjoyed this course would be an understatement!
— I.Z., CIRA


The course was a good ice-breaker to the world of Java. I feel much confident now to explore my automation skills.
— C.A., LateRooms

Course Schedule

Choose a city below to view a schedule of courses. Attend regularly scheduled classes across Canada, or attend via our Remote-Live and On-Demand training options.