IT Certification Exam Preparation
 Cart      FAQ   support@whizlabs.com
 Certification Exams
SCJP 5.0

An SCJP 5.0 Certification primer

SCJP 5.0 Tiger: Power your way to success  
Seema Manivannan ()

J2SE 5.0 (code-named Tiger) is said to be one of the most significant updates to the Java platform since its inception. It offers a wealth of new features which can effectively reduce development efforts, a summary of which is available here.

Related Links

About SCJP 5.0

Sun certification exams are highly sought for, credible, and skill-focused assessments, hence valued and trusted by employers worldwide. To appear for most of the higher level certifications in Java, the required starting point is the Sun Certified Java Programmer (SCJP) exam. The revised version of the exam, which covers Java 5.0, was released in April 2005.

The Sun Certified Programmer for Java 2 Platform 5.0 certification exam is targeted at programmers experienced in using the Java programming language. Achieving this certification provides a clear evidence that a programmer understands the basic syntax and structure of the Java programming language and can create Java technology applications that run on server and desktop systems using J2SE 5.0.

The details of the new exam are as follows.
 Exam Number: CX-310-055
 Price $150.95
 Prerequisites: None
 Exam type: Multiple choice and drag and drop
 Number of questions: 72
 Passing score: 59% (43 of 72 questions)
 Time limit: 175 minutes
 Top  

What has changed and what has not?

Let us now have a look at the objectives of the new exam and find out how much has been added to the old exam objectives and what all has been removed.

Following are the main exam objectives for the SCJP 5.0 exam:

  • Declarations, Initialization and Scoping
  • Flow Control
  • API Contents
  • Concurrency
  • OO Concepts
  • Collections/Generics
  • Fundamentals

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

Among the new language features introduced in the version 5.0 of Java, the following have been included in the exam.

  • Enumerations
  • Generics
  • Static Imports
  • Variable-argument lists (VarArgs)
  • Autoboxing and Unboxing
  • Enhanced for loop (for-each)
  • Covariant returns

You are also required to know the Formatter, Scanner, Queue, and StringBuilder classes that have been newly added to Java 5.0.

Other additions to the exam, which are not new to Java 5.0 are:

  • Serialization
  • I/O Stream classes
  • NumberFormat, DateFormat, Locale
  • Pattern and Matcher classes, String.split() method
  • PrintWriter.format/printf methods
  • Comparable and Comparator interfaces
  • Arrays and Collections classes from java.util package
  • Setting the classpath correctly
  • OO concepts of coupling and cohesion

The style and difficulty level of questions has changed significantly in the new exam. Quoting Bert Bates, one of the exam writers "One of the main goals of this new exam is to create a test that is performance based rather than knowledge based (Sun's terms). Generally what this means is that a knowledge based question tends towards memorization of details, and a performance based question tends towards more real world activities like actually writing code."

About 30% of the questions are of Drag and Drop style, 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. Most of the "trivia" questions where it was required to exactly memorize the API methods have been replaced with scenario-based questions.

Bitwise operations are no longer a part of the exam. You don't need to know the details of all the methods from the Math class and from the wrapper classes, but you need to be comfortable doing basic conversions. There have been other minor changes also in the objectives, however it is better to focus on the new objectives rather than worry about each and every small change.

 Top  

Gearing up for the exam

I have noticed that many candidates who score well in the SCJP exam have at least six months hands-on programming practice with J2SE. But I have also heard of candidates who have done well with as little as three months practice. However, my suggestion is that you get 6-12 months hands-on practice in J2SE 5.0 before you go for the revised exam.

In addition to the fact that the material in the newly added topics is vast, the questions in the exam can be rather challenging and often require you to carefully think through the problem. So, make sure that you get plenty of practice with problems involving the new features. Once you have adequate practice under your belt, you will be able to handle the questions in the exam.

For a quick overview of the new topics, you can start with the J2SE 5.0 release notes. Though the J2SE release was pretty recent, it is still possible to find a wealth of information on the Internet. Most importantly, for generics, be sure to follow the link to the generics tutorial. You may refer to the resources section, for the above-mentioned links and many more useful ones.

I have not come across too many good books to prepare for this exam, but I am listing a few useful ones in the resources section. No certification study guides are available yet for this exam, however the revised edition of the SCJP study guide by Kathy Sierra & Bert Bates is expected to be released very soon. Take code examples from the books, go through them and experiment with various possibilities.

It is important to note that a question might not pertain to a single objective, but may often test your expertise in various topics. For example, a generics question might use autoboxing and the enhanced for loop. So, while you practice one topic, try to associate it with other features as well.

The new SCJP 5.0 exam simulator from Whizlabs contains questions of varying difficulty levels matching the content and style changes in the revised SCJP exam. It provides five mock exams to practice on, an interactive quiz, and quick revision notes for last minute review.

Do's and Don'ts

Here are a few tips which I hope will help you perform better in the exam.

  • In the Drag and Drop type questions, the answer gets reset if you try to review it. So, always complete and double check your answer before moving away from a Drag and Drop question.
  • It would be helpful to solve Drag and Drop questions on a sheet of paper before actually attempting them in the test.
  • The revised exam has more performance-based questions than knowledge-based questions requiring memorization of API details. So spend more time on hands-on practice, especially of commonly used methods, and avoid trying to memorize each and every API detail simply by reading.
  • Be clear about the classes implementing the Collection types like List, Set, and Map. Be aware of which of these types support sorting, which allow duplicates, which give the best performance, and so on.
  • Read the choices properly; don't get confused between 'import' statements and 'import static' statements.
  • Remember that immutable string objects are returned by the String class. StringBuilder and StringBufffer both return mutable strings; the only difference between them is that StringBuffer is thread-safe, while the other is not.
  • When you see the usage of varargs in a method, ensure that the ellipsis is appearing as the last argument to the method.
  • Remember that the super type of generic Collection objects is Collection<?> and not Collection<Object>.
  • Remember that since the wildcard (?) stands for an unknown type, you cannot add to generic types using wildcards.
  • Know the distinction between Comparable and Comparator and the methods defined by these interfaces.

Sample Questions

Question No.:
1

Question Statement:
You want your code in Test.java to access the com.whiz.Utilities class which is stored within the myjar.jar file in the directory /jars. How would you compile your code?

Choices:

  1. javac -classpath /jars/myjar.jar Test.java
  2. javac -classpath /jars/ Test.java
  3. javac -classpath /jars Test.java
  4. javac -classpath /jars/myjar.jar/com/whiz Test.java

Difficulty Level:
Expert

Correct Choice:
A

Explanation:
Choice A is the correct answer.

The package-wise directory structure of the class is maintained within a JAR file, and Java follows exactly the same rules as for searching in ordinary directories. To include a JAR file in the class search path, the path must reference the JAR itself, not merely the directory that contains the JAR. So in this case, we need to set the classpath to myjar.jar and not to the jars folder.

javac -classpath /jars/myjar.jar Test.java

So choices B and C are incorrect. Choice D is incorrect because the classpath is always set to the root of the directory hierarchy mapping to the package. Here the  package hierarchy is com/whiz, so the classpath must not be set to ‘/jars/myjar.jar/com/whiz’, but to /jars/myjar.jar, instead.


Question No.:
2

Question Statement:
Which of the following methods inserted independently at the indicated line will cause this code to compile correctly?

class SuperBase{}
class Base extends SuperBase{}
class Derived extends Base{}

class CovariantTest1 {
public Base getIt(){return new Base();}

}

class SubCovariantTest extends CovariantTest1 {
// Insert code here
}

Choices:

  1. public Derived getIt(){return new Derived();}
  2. public Base getIt(){return new Derived();}
  3. public SuperBase getIt() {return new Derived();}
  4. public SuperBase getIt() {return new Base();}
  5. public Derived getIt() {return new Base();}

Difficulty Level:
Expert

Correct Choice:
A, B

Explanation:
Choices A and B are the correct answers.

Support for covariant return types will allow an overriding method to return an object whose declared type is a subclass of the overridden method's return type. So choice A is correct. Choice B is correct because it conforms to overriding rules. The return type declared in the case of choices C and D is a super class of the super class method's return type, which is not allowed. Choice E is incorrect because it returns the super class object, while the declared return type is of the subclass.

A Final Word

Sun certification exams have always been respected in the IT industry, however the new improved SCJP 5.0 exam is going to be valued even higher than ever before, since it offers a more accurate reflection of a candidate's skill level, knowledge, and understanding.

Rest assured that focused preparation paired with sufficient practice will bring success within your reach.
Good luck to you!

Resources
General Reference
  • Download the JSR from here.

Read about J2SE 5.0

Documentation on enhancments in J2SE 5.0

Tutorials
Download the Generics tutorial from here.

Books

Beta Books

Preparation Kit

Trainings

Discussion Forums

Java Technology Tech Tips
Check out these useful tips from Sun Developer Network.

Other Resources

 Top  
About the Author

Seema Manivannan has a Bachelor of Technology degree in Electrical and Electronics and a PG in Advanced Computing from C-DAC. Her work experience of over eight years includes software development, teaching, and content development in Java and related technologies. She holds SCJP, SCWCD, SCBCD, and IBM 484 (J2EE) certifications.

She has been with Whizlabs for over four years, where she has authored different exam simulators based on Sun certifications. She is an experienced corporate trainer and also conducts instructor-led, online trainings for the SCJP, SCBCD, and SCWCD exams for Whizlabs.

You can reach her at .

 Top  
Feedback

What do you think of this article?
Exceeded Expectations




Name


E-mail ID


Suggestions


 Top  
   
Java Certification: SCJA, SCJP, SCWCD, SCBCD, SCEA, SCMAD, SCDJWS | SCJP 5.0 Online Training
Project Management Institute PMI: PMP Certification ITIL: ITIL
Articles & Tutorials

  Home | Careers | Feedback | Contact Us | FAQs | Site Map

Privacy Policy | Copyrights & Trademarks 

Copyright © Whizlabs Software Pvt. Ltd. 2000-2008