You are on page 1of 5

SCJA - An entry level Java certification

The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0
certification exam provides an ideal entry into an application development or a software
project management career using Java technologies. This worldwide credential
validates basic knowledge of Object-Oriented Concepts, UML representation of Object-
Oriented concepts, Java programming language, and general knowledge of Java
Platforms and Technologies. According to Sun Microsystems, candidates for this exam
include entry level Java programmers, students studying to become Java programmers,
and project or program managers working with Java technology in the software
development industry.
Exam Details

 Delivered at : Authorized Prometric Testing Centers


 Prerequisites : None
 Other exams/assignments required for this certification : None
 Exam type : Multiple choice and Drag and Drop
 Number of questions : 51
 Pass score : 68% (35 of 51 questions)
 Time limit : 115 minutes

Looking at the exam objectives

The main objectives for the SCJA exam are as follows:

Section 1: Fundamental Object-Oriented Concepts


Section 2: UML Representation of Object-Oriented Concepts
Section 3: Java Implementation of Object-Oriented Concepts
Section 4: Algorithm Design and Implementation
Section 5: Java Development Fundamentals
Section 6: Java Platforms and Integration Technologies
Section 7: Client Technologies
Section 8: Server Technologies

You can find a more detailed list covering the sub-objectives here.

For the first objective, Fundamental Object-Oriented Concepts, you must know the details of
the basic OO (Object Oriented) programming concepts like abstraction, encapsulation,
polymorphism, and inheritance. You must also be able to identify association/composition,
relationships between classes including the significance of association navigation and
multiplicities. Conceptual knowledge of concrete/abstract classes and interfaces is also
required here. You can expect questions like the benefits of encapsulation and differences
between abstract classes and interfaces.

The second objective, UML Representation of Object-Oriented Concepts, does not require you
to be a UML guru. It simply tests your knowledge in understanding UML basics like object and
class diagrams, symbolic representations of abstract classes and interfaces, associations,
compositions and inheritance. In a given UML diagram, you might be asked to identify if it
denotes an inheritance relationship or a composition. You can expect very straightforward and
simple questions from this objective. So make sure you do not lose marks here in this
objective.

The third objective, Java Implementation of Object-Oriented Concepts, is about implementing


all the OO programming concepts using Java code. You must be well versed in Java Language
fundamentals to perform satisfactorily in this objective. You can expect questions on the new
Java 5.0 features such as enumerated data types in this objective. So make sure you try it out
if you have worked only with the previous versions of Java. You must be able to pick out
syntax and semantic errors in Java code like concrete classes containing abstract methods or
interfaces defining private methods.

For the fourth objective, Algorithm Design and Implementation, you must have expertise in
developing Java code, given the algorithm description. For this, you must be familiar with
conditional and iteration statements using the new enhanced for loop introduced in Java 5.0.
Also don't forget to check out the usage of important API methods from the String class listed
in the objective.

The fifth objective, Java Development Fundamentals, is relatively easy, if you are familiar with
defining packages and using them by specifying import statements. Make sure that you know
the effects of the command line options when using the java and javac tools. Even though you
have not used classes from all the system packages mentioned in the objective, you should
have a basic idea of the nature of classes within each of them. For example, you must know
that date and collection classes are in java.util, while networking classes are in the java.net
package.

To do well in the sixth objective, Java Platforms and Integration Technologies, you need an
overall idea of the features and advantages of technologies like RMI, JNDI, JMS, JDBC and the
like. For J2ME, go through the basic architecture, the types and capabilities of the different
configurations, and profiles.
The seventh objective, Client Technologies, requires you to know the comparative benefits and
possibilities of using various clients like HTML, applets, MIDlets and Swing components. For
example, you might be asked how Swing differs from AWT in terms of implementation and/or
performance. So it is important to know the high level characteristics of different client types,
and in what kind of situations one is preferred over another.

In the eighth objective, Server Technologies, you can give a good shot if you possess a good
knowledge of various server-side technologies. You do not require a detailed knowledge of
Web Services. A generalized study of the concepts of SOAP, UDDI, WSDL, and JAX-RPC would
suffice. You should also know components of each tier in a J2EE application. For example,
given a list of components like entity beans, servlets, applets and so on, you might be asked
to identify the ones which belong to the business tier.
Preparation Guidelines
As the exam is intended for Java beginners, the toughness level of questions is quite low, as
compared to other Java certification exams. Freshers to Java can score well, if they can
extensively read about the various Java-based technologies and also get hands-on practice on
Java fundamentals for a couple of months.

No certification study guides are available yet for this exam; however, I am listing a few books
in the resources section below. I feel it would be quite useful for the preparation. Any good
book which covers Java Language basics like Head First Java is sufficient for handling code-
based questions. Take code examples from the books, go through them and experiment with
various possibilities. For the UML part, the exam authors have provided a free booklet (see
resources) which covers all the stuff that you will need for the exam.

As of now, there are not many known resources on the net, which are especially meant for
SCJA. Some of the Java basics which are covered by SCJA are also included in SCJP. So any
resources and mock exams available on the web for SCJP can be referred to learn the common
topics. For other topics, I have included some useful references in the resources section.

Most of the questions are of multiple choice type with one or more correct answers.

Only one or two of the questions are of Drag and Drop type, where you need to fill in the
missing code to make the whole program work correctly by dragging and dropping the code
fragments into their appropriate places.
The new SCJA 1.0 exam simulator from Whizlabs contains questions of varying difficulty levels
matching the content and style of the SCJA exam. It provides five mock exams to practice on,
an interactive quiz, and quick revision notes for last minute review. For those of you who have
limited time for self-study or who would benefit from training and guidance from a certification
mentor, Whizlabs also plans to offer an Instructor-led online training for the SCJA exam.

The SCJA exam provides an excellent opportunity for budding Java programmers and students
to validate their skills and demonstrate their overall knowledge in Java technologies.
Sample Questions
Question No : 1
Objective : Java Implementation of Object-Oriented Concepts
Question Statement: What is the result of compiling and running the following code?

interface Inter{
void g();
}
abstract class SuperTest implements Inter{
private void f(){
System.out.print("Super");
}
}
class Test extends SuperTest{
void g(){
System.out.print("g");
}
void f(){
System.out.print("Sub");
}
public static void main(String args[]){
Test t=new Test();
t.f();
t.g();
}
}
Choices:
A. Code does not compile because class Test attempts to override a private method.
B. Code does not compile because class SuperTest does not implement the method g().
C. Code compiles fine and prints Subg.
D. None of the above
Difficulty Level:
Expert
Correct Choice:
D
Explanation:
Choice D is the correct answer.
The code does not compile because the method g() is not implemented as public in the class
Test. Interface methods are implicitly public and hence must be defined as public in
implementing classes.
Choice A is incorrect because there is no mistake in redefining a superclass's private method in
the subclass, though this would not be overriding. Choice B is incorrect because SuperTest is
declared abstract and hence does not need to implement the methods from the interface
implemented by it. Since the code does not actually compile, choice C is also incorrect.
Reference: http://java.sun.com/docs/books/tutorial/java/interpack/usinginterface.html

Question No : 2
Objective : UML Representation of Object-Oriented Concepts
Question Statement:
Given the two UML diagrams as below, which of the following statements is true?

Diagram: A Diagram: B
Choices:
A Both diagrams use invalid UML notations.
B Both diagrams use valid UML notations, but are not equivalent.
C Both diagrams use valid UML notations and are equivalent.
D Diagram A is valid, but not diagram B.
E Diagram B is valid, but not diagram A.
Difficulty Level:
Expert
Correct Choice:
C
Explanation: Choice C is the correct answer.
Generalization refers to the IS-A relationship between 2 types. Inheritance is a special case of
generalization. The generalization relationship is represented by an empty/open triangle that
points from the more specialized class to the more general class. In the case of multiple
subclasses for the same superclass, the arrows may be aggregated in a single arrow, as in
diagram A, or represented independently as shown in diagram B. Both are valid and
equivalent.

Hence, choice C is correct and the other choices are automatically incorrect.

Marks:
1

Resources
Books
http://www.oreilly.com/catalog/hfjava2/
http://java.sun.com/docs/books/javaprog/
Thinking in Java

Tutorials/Online Books
Java Language Specifications
Java tutorial from Sun
Free UML Booklet from exam authors
Designing Enterprise applications with J2EE
Java Web Services Tutorial
J2ME Tutorial

Other references

Typesafe Enums
Using For Each loops in J2SE 5.0
Using the java application launcher
Using the javac compiler
Overview of SOAP
EJB Architecture
Java Web Services Architecture
Designing Web Services using J2EE
Fundamentals of the Java Mail API
MIDP and MIDlets
http://groups.yahoo.com/group/Sun_Certified_Java_Associate/links

Discussion Groups/Forums
http://groups.yahoo.com/group/Sun_Certified_Java_Associate/
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=forum&f=84

You might also like