Our Java course and exam are based on the following Intended Learning Outcomes (ILOs):
Java Fundamentals
Candidates can:
Describe the use of main in a Java application
- Signature of main, how to consume an instance of your own class, command-line arguments
Perform basic input and output using standard packages
- Print statements, import and use the Scanner class
Evaluate the scope of a variable
- Declare a variable within a block, class, or method
Comment and document programs
- Evaluate the syntax of Javadocs, write syntactically correct code comments
Data Types, Variables, and Expressions
Candidates can:
Declare and use primitive data type variables
- Data types, including byte, char, int, double, short, long, float, Boolean; identify when precision is lost; initialization; how primitives differ from wrapper object types such as Integer and Boolean
Construct and evaluate code that manipulates strings
- String class and string literals, comparisons, concatenation, case, and length; String.format methods; string operators; the immutable nature of strings; initialization; null
Construct and evaluate code that creates, iterates, and manipulates arrays and array lists
- One- and two-dimensional arrays, including initialization, null, size, iterating elements, accessing elements; array lists, including adding and removing elements, traversing the list
Construct and evaluate code that performs parsing, casting, and conversion
- Cast between primitive data types, convert primitive types to equivalent object types, parse strings to numbers, convert primitive data types to strings
Construct and evaluate arithmetic expressions
- Arithmetic operators, assignment, compound assignment operators, operator precedence
Flow Control Implementation
Candidates can:
Construct and evaluate code that uses branching statements
- if, else, else if, switch; single-line vs. block; nesting; logical and relational operators
Construct and evaluate code that uses loops
- while, for, for each, do while; break and continue; nesting; logical, relational, and unary operators
Object-Oriented Programming
Candidates can:
Construct and evaluate class definitions
- Constructors, constructor overloading, one class per .java file, this keyword, basic inheritance and overriding
Declare, implement, and access data members in classes
- private, public, protected; instance data members; static data members; use static final to create constants; describe encapsulation
Declare, implement, and access methods
- private, public, protected; method parameters; return type; void; return value; instance methods; static methods; overloading
Instantiate and use class objects in programs
- Instantiation, initialization, null, access and modify data members, access methods, access and modify static members, import packages and classes
Code Compilation and Debugging
Candidates can:
Troubleshoot syntax errors, logic errors, and runtime errors
- Print statements, javac command output, logic errors, console exceptions, stack trace evaluation
Implement exception handling
- try, catch, finally; Exception class; exception class types; display exception information
The exam is based on Java 8.
This is one of the four exams you need to pass (or for which you must obtain a waiver) to earn the stackable CFSD® certificate.