Java Programming

Course Objective
Gain a solid understanding of the Java language.
Prepare students for more advanced Java topics such as Java Servlets and JSP, Java & XML, Java Web Services.
Knowledge of object oriented concepts and experience in a programming language such as C, C++, C#, or Objective C.
What You Get
Java textbook
Course slides
Course notes and exercises.
Hardware and Software Requirments
Java SDK
Course Outline
  1. Introduction to Java
    • Overview of the development and runtime environment
    • Java SDK
    • JVM
  2. Basics
    • Primitive datatypes
    • Operators
    • Implicit and explicit casting
    • Control flow
  3. Control Flow
    • Primitive datatypes
    • Operators
    • Implicit and explicit casting
    • Control flow
  4. Classes and Objects
    • Class definition
    • Constructors and finalizers
    • Instance vs. static members
    • Garbage collection
    • Package, import, classpath
  5. Strings
    • String vs. StringBuffer
    • String utility methods
  6. Arrays
    • Single and multi-dimensional arrays
    • Anonymous arrays
    • command line arguments
  7. Inheritance
    • Inheritance vs. composition
    • Overriding vs. overloading
    • Abstract methods and classes
    • Final methods and classes
    • Interface
    • Type compatibility and conversions
    • Polymorphism
    • Access specifiers
    • jar files
  8. Exceptions
    • Checked and unchecked exceptions
    • Try, catch, finally, throw, throws
  9. Collections
    • Set, List, Map, Iterator interfaces
    • Vector, ArrayList, HashMap, LinkedList
    • Templates
  10. Threads
    • Thread class
    • thread life-cyle
    • Runnable interface
    • sleep, wait and notify
    • synchronization
    • thread communication
  11. Exceptions
  12. Input and Output
    • InputStreams and OutputStreams
    • Readers and Writers
    • object serialization
    • Files

Well Designed

I like the way the course is designed so that the emphasis is on presenting the material from the programmer's point of view. This is in contrast to other hands on courses, where the emphasis is more on knowing how to use the UI. Elizabeth Moore (Passport Canada)

Well Taught

The course was well-taught from a teacher who has extensive industry and teaching experience. Combined with his meticulous attention to detail, genuine sincerity in improving his students' skillset, and unbeatable price, it would be hard to find another course with similar offerings elsewhere. Will Au (Cre8Object)

Great Labs

I like the fact that we do our labs at home and can discuss at the next one. I think the technical theory is excellent. It gives the right amount of details of what happens in the background in order to understand the whole picture. Stephane St. Denis (Passport Canada)

Great Knowledge

Great knowledge, teacher has a well documented answer for every question asked, was never stumped and answer is given right away. Teacher does not have to look for the answers, he knows what he is talking about. Benoit Hamelin (Passport Canada)

Very Comprehensive

The course is very comprehensive in content; the exercises reinforce concepts intensively, interlinking the hands on aspects. Piyush Sharma (Consultant with Ajilon Canada)