|

| |
Exam Objectives
Section 1: Fundamental Object-Oriented Concepts

- Describe, compare, and contrast primitives (integer, floating point,
boolean, and character), enumeration types, and objects.
-
Primitive data types
-
Enumerated types
-
Objects
- Describe, compare, and contrast concrete classes, abstract classes, and
interfaces, and how inheritance applies to them.
-
Describe, compare, and contrast class compositions, and associations
(including multiplicity: one-to-one, one-to-many, and many-to-many), and
association navigation.
- Describe information hiding (using private attributes and methods),
encapsulation, and exposing object functionality using public methods; and
describe the
JavaBeans conventions for setter and getter methods.
- Describe polymorphism as it applies to classes and interfaces, and
describe and apply the "program to an interface" principle.
-
Polymorphism
Section 2: UML Representation of Object-Oriented Concepts

- Recognize the UML representation of classes, (including attributes and
operations, abstract classes, and interfaces), the UML representation of
inheritance (both implementation and interface), and the UML representation of
class member visibility modifiers (-/private and +/public).
- Recognize the UML representation of class associations, compositions,
association multiplicity indicators, and association navigation indicators.
Section 3: Java Implementation of Object-Oriented Concepts

- Notes: code examples may use the 'new' operator.
- Develop code that uses primitives, enumeration types, and object
references, and recognize literals of these types.
- Develop code that declares concrete classes, abstract classes, and
interfaces, code that supports implementation and interface inheritance, code
that declares instance attributes and methods, and code that uses the Java
access modifiers: private and public.
- Develop code that implements simple class associations, code that
implements multiplicity using arrays, and recognize code that implements
compositions as opposed to simple associations, and code that correctly
implements association navigation.
- Develop code that uses polymorphism for both classes and interfaces, and
recognize code that uses the "program to an interface" principle.
Section 4: Algorithm Design and Implementation

- Describe, compare, and contrast these three fundamental types of
statements: assignment, conditional, and iteration, and given a description of
an algorithm, select the appropriate type of statement to design the
algorithm.
- Given an algorithm as pseudo-code, determine the correct scope for a
variable used in the algorithm, and develop code to declare variables in any
of the following scopes: instance variable, method parameter, and local
variable.
- Given an algorithm as pseudo-code, develop method code that implements the
algorithm using conditional statements (if and switch), iteration statements
(for, for-each, while, and do-while), assignment statements, and break and
continue statements to control the flow within switch and iteration
statements.
- Given an algorithm with multiple inputs and an output, develop method code
that implements the algorithm using method parameters, a return type, and the
return statement, and recognize the effects when object references and
primitives are passed into methods that modify them.
- Given an algorithm as pseudo-code, develop code that correctly applies the
appropriate operators including assignment operators (limited to: =, +=, -=),
arithmetic operators (limited to: +, -, *, /, %, ++, --), relational operators
(limited to: <, <=, >, >=, ==, !=), logical operators (limited to: !, &&, ||)
to produce a desired result. Also, write code that determines the equality of
two objects or two primitives.
- Develop code that uses the concatenation operator (+), and the following
methods from class String: charAt, indexOf, trim, substring, replace, length,
startsWith, and endsWith.
Section 5: Java Development Fundamentals

- Describe the purpose of packages in the Java language, and recognize the
proper use of import and package statements.
- Demonstrate the proper use of the "javac" command (including the
command-line options: -d and –classpath), and demonstrate the proper use of
the "java" command (including the command-line options: -classpath, -D and
–version).
- Describe the purpose and types of classes for the following Java packages:
java.awt, javax.swing, java.io, java.net, java.util.
Section 6: Java Platforms and Integration Technologies

- Distinguish the basic characteristics of the three Java platforms:
J2SE,
J2ME, and
J2EE, and given a high-level architectural goal, select the
appropriate Java platform or platforms.
- Describe at a high level the benefits and basic characteristics of
RMI.
- Describe at a high level the benefits and basic characteristics of
JDBC,
SQL, and
RDBMS technologies.
- Describe at a high level the benefits and basic characteristics of
JNDI,
messaging, and
JMS technologies.
Section 7: Client Technologies

- Describe at a high level the basic characteristics, benefits and drawbacks
of creating thin-clients using HTML and JavaScript and the related deployment
issues and solutions.
- Describe at a high level the basic characteristics, benefits, drawbacks,
and deployment issues related to creating clients using J2ME MIDlets.
- Describe at a high level the basic characteristics, benefits, drawbacks,
and deployment issues related to creating fat-clients using Applets.
- Describe at a high level the basic characteristics, benefits, drawbacks,
and deployment issues related to creating fat-clients using Swing.
Section 8: Server Technologies

- Describe at a high level the basic characteristics of: EJB,
Servlets,
JSP,
JMS,
JNDI, SMTP, JAX-RPC, Web Services (including SOAP, UDDI, WSDL, and XML),
and JavaMail.
- Describe at a high level the basic characteristics of servlet and JSP
support for HTML thin-clients.
- Describe at a high level the use and basic characteristics of
EJB
Session,
Entity and
Message-Driven Beans.
- Describe at a high level the fundamental benefits and drawbacks of using
J2EE server-side technologies, and describe and compare the basic
characteristics of the web-tier, business-tier, and EIS tier.
|