Able-Disabled Advocacy logo

About Us vertical divider between menu items Programs vertical divider Resources vertical divider Photos vertical divider Videos vertical divider Contact
 
Program Overview

What is a Java Programmer?

Certification

Prerequisites

Courses

Test Preparation

Internship

Job Search

Main Menu

Java Programmer Program

Courses

Courses are taken online at the student's pace. Students have 1 week to complete each course and may complete them earlier if able.

Overview

The following courses are included in the training portion of the program. Following this table is a complete description of each course offered.

Course Course Length
Getting Started with Java 2.0 hours
Operators and Flow Control in Java 2.3 hours
Creating Classes in Java 3.0 hours
Working with Classes in Java 2.5 hours
Generics and Annotations 3.0 hours
Reference Types and Threading 2.3 hours
Exception Handling and Assertions 2.2 hours
Java Utilities 3.3 hours
Java I/O 1.6 hours
Basic GUI Development in Java 2.0 hours
Java Applets 1.6 hours
Total Training Time 25.8 hours

Classroom Sessions

There will be two 2 to 3-hour classroom sessions per month or five total for the duration of the program. Students are expected to attend each session.

Online Sessions

Getting Started with Java

Overview/Description: To introduce the main principles and elements of the Java language
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration: 120 Minutes
Lesson Objectives

  • Recognize the use of objects, classes, inheritance, and polymorphism in Java.
  • Specify the code involved in declaring a main method and identify the command lines used to compile and run an application.
  • Create, compile, and execute a Java application.
  • Specify the appropriate Java lexical element to use for a given scenario.
  • Specify the code involved in declaring primitive variables and defining literal values in Java.
  • Specify the code used to declare and initialize Java string literals and arrays.
  • Declare and initialize Java data types, strings, and arrays in a given scenario.

Operators and Flow Control in Java

Overview/Description: To enable the learner to identify and work with Java operators, expressions, selection statements, and loop constructs
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration: 135 Minutes
Lesson Objectives

  • Use Java's operators to build expressions and determine the value of an expression variable for a given code sample.
  • Use assignment operators to build and evaluate an expression, and evaluate a compound expression using operator precedence.
  • Identify valid primitive type conversions and castaing operations from a given list of examples.
  • Use Java operators to create expressions and compare integers in a specific application.
  • Write if and switch statements for a given scenario.
  • Specify the code to use Java's while and do-while loop constructs to perform iteration, and identify the fuctions of the break and continue keywords.
  • Specify the code to use Java's standard and enhanced for loop constructs to perform iteration over arrays and multi-dimensional arrays.
  • Create selection statements and loop constructs for a given scenario.

Creating Classes in Java

Overview/Description: To enable the learner to create and work with Java classes and objects
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration: 175 Minutes
Lesson Objectives

  • Identify how encapsulation affects a Java class, and pass messages between objects.
  • Identify the code required to declare a specific class and a constructor for a class.
  • Identify the code required to declare a method and implement a variable argument list in a method for a given scenario, and declare a variable in a class based on that variable's scope.
  • Write an appropriate class and method declaration, and pass variable arguments to a method.
  • Create an object, call an object's method, and assign the result of the method to an existing variable for a given scenario.
  • Create, iterate over, and switch on type safe enums in Java SE6.
  • Create a Java enumeration and object, iterate over the enumeration's values, and call one of the object's methods.
  • Create a package in a given scenario, and import classes, static methods, and variables into a source file.
  • Identify the appropriate level of access to apply to classes, variables, methods, and constructors for a given scenario.
  • Create and import a specific Java package, import static methods and variables into a source file, and identify the access levels of the class members in that package.

Working with Classes in Java

Overview/Description: To enable the learner to implement inheritance and polymorphism in Java and to work with Java's static and final modifiers
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration: 155 Minutes
Lesson Objectives

  • Identify how inheritance and polymorphism are implemented in Java.
  • Specify the code required to create a subclass for a given scenario.
  • Create a suitable inheritance class structure for a given scenario, and extend a superclass.
  • Specify the code required to create abstract classes and methods for a given scenario, and recognize the code required to create a class that implements an interface.
  • Declare, access, and initialize Java instance and class members for a given scenario.
  • Use the final modifier to declare variables, methods, and classes for a given scenario.
  • Declare and initialize Java variables, and declare and call Java methods in an enterprise scenario.
  • Identify how garbage collection is implemented in Java, and recognize the function of the finalize method.
  • Declare and instantiate Java's inner classes for a given scenario.

Generics and Annotations

Overview/Description: To explain what metadata is and how it can be used to provide annotation source to third-party tools and to outline generics in Java.
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration: 180 Minutes
Lesson Objectives

  • Identify the advantages and disadvantages of using generics in code, and outline how generics are used to make raw code type safe.
  • Specify the generic, type safe version of a given piece of legacy code.
  • Specify the code involved in building a generic class for a given scenario.
  • Specify the code required to declare a generic subclass, test generic object types, and cast a generic object.
  • Convert a given application's legacy code into a generic type safe equivalent.
  • Associate Java's retention policies and built-in annotations with their corresponding features and functionality.
  • Specify the code to annotate an overriding method, a deprecated method, and to suppress complier warnings.
  • Specify the code to declare custom and meta-annotations.
  • Specify the code to inspect and represent a custom annotation, write an annotation processor, and run the processor against a set of annotations.
  • Create and implement a customm annotation for a given scenario.

Reference Types and Threading

Overview/Description: To enable the learner to work with reference types and threads in Java
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration: 140 Minutes
Lesson Objectives

  • Identify valid reference type conversions between classes, interfaces, and arrays.
  • Identify valid casting operations between classes, interfaces, and arrays for a given scenario.
  • Use the methods of the Object class and Comparable interface to clone and compare Java objects for a given scenario.
  • Clone, compare, and cast Java reference types.
  • Use the Thread class and Runnable interface to create a multithreaded application for a given scenario.
  • Specify the code involved in changing a thread's state and priortiy.
  • Synchronize thread access to code in a multithreaded application for a given scenario.
  • Create a multithreaded program in a given scenario.

Exception Handling and Assertions

Overview/Description: To enable the learner to handle exceptions and use assertions in Java
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration: 130 Minutes
Lesson Objectives

  • Specify the code required to use try, catch, and finally blocks to handle exceptions in Java for a given scenario.
  • Specify the appropriate method of the Throwable class to use in a given piece of code, and associate runtime and checked exceptions with the events that throw them.
  • Handle exceptions in calling methods, create and throw exceptions explicitly, and use exception chaining to set the cause of a thrown exception.
  • Create an exception subclass for a given code sample, and implement exception handlers on a thread basis.
  • Create, throw, catch, and handle exceptions for a given scenario.
  • Identify the code used to create a Java assertion statement for a given scenario, and specify the commands and flags used to create and compile assertions.
  • Create, enable, and compile assertions in Java.

Java Utilities

Overview/Description: To enable the learner to use the classes and methods of the java.lang, java.util, java.jo, and java.nio packages.
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration:Course 200 Minutes
Lesson Objectives

  • Use the methods of the Java Math class to determine the value of a variable in a given piece of code, and associate the new methods of the Math class with their corresponding functions.
  • Recognize what wrapper classes are and how they're used, and also use the utility methods of the Java wrapper classes to parse strings into numeric values, transform values back into strings or other primitive types, and test values.
  • Use the new methods of the Integer and Long wrapper classes to manipulate bits for a given scenario, and identify the function and benefits associated with autoboxing and auto-unboxing in Java SE6.
  • Specify the code required to test the equality of strings, carry out pattern matching in regular expressions, and modify strings and string buffers for a given scenario.
  • Use the copyOf and copyOfRange methods of the Arrays class to copy arrays in a given scenario.
  • Specify the code required to modify system resources for a given scenario.
  • Specify the code required to launch sytem properties, load resources, and handle dates and times.
  • Manipulate and traverse the elements of a collection for a given scenario.
  • Use Java's Collection class to modify, sort, and search a collection in a given scenario.
  • Identify the monitoring and management support features and enhancements in Java SE6.

Java I/O

Overview/Description: To enable the learner to use Java's I/O facilities to read and write data, and format input or output.
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration:Course 100 Minutes
Lesson Objectives

  • Use the classes of the java.jo package to access the files and read and write data in a given scenario, and recognize how a Console class works.
  • Use the classes of the java.nio package to modify buffers, get information about disk usage, retrieve a channel, and transfer data between channels.
  • Use a scanner to retrieve input from a specific source.
  • Use the printf method and the Formatter class to format output for a given scenario.
  • Recognize what serialization enables you to do, write objects to a file, and read objects from a file.

Basic GUI Development in Java

Overview/Description: To demonstrate how to build GUI applications using the Swing API.
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration:Course 120 Minutes
Lesson Objectives

  • Associate the components of the Swing architecture with their corresponding functionality and identify the guidelines associated with using Swing components.
  • Specify the code that enables you to create and use containers required for a Swing application in a given scenario.
  • Specify the code to create lablels, text, buttons, and a menu for a given application.
  • Specify the code involved in using Swing's layout manager classes to display and arrange components in an application.
  • Implement an event handler for a specific event in a given scenario.
  • Identify the guidelines associated with painting in Swing and AWT.

Java Applets

Overview/Description: To demonstrate how to build applets and place them on web pages
Target Audience: Programmers with an understanding of procedural programming concepts who want to learn Java and object-oriented programming; programmers proficient in another object-oriented programming language who want to move to Java; programmers experienced in the Java language who want to make the upgrade to Java SE6.
Expected Duration:Course 100 Minutes
Lesson Objectives

  • Identify the code required to create and initialize an applet for a given scenario.
  • Embed an applet in a web page using the APPLET tag, customize an applet in a web page using the PARAM tag, and convert applet tags using the HTML converter tool.
  • Understand the sandbox security model, its features, and the restrictions it imposes on the operations an applet can perform, as well as what a signed applet is and the role of trust levels.
  • Specify the code required to play sound files and display images, documents, and status information in a given applet.
  • Specify the code required to support applet persistence, locate applets for communication, and access JApplet panes for a given scenario.

Next Page: Test Preparation
Previous Page: Prerequisites