Skip to main content

If you don't have an IBM ID and password, register here.

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

Taming Tiger: Are you SCJP 5 certified?

Get a quick overview of the changes to the SCJP certification exam for J2SE 5

John Zukowski (jaz@zukowski.net), President, JZ Ventures, Inc.
Author photo
John Zukowski conducts strategic Java consulting with JZ Ventures, Inc. and is working with SavaJe Technologies to develop a next-generation mobile phone platform. His latest books are The Definitive Guide to Java Swing, Third Edition (Apress, June 2005) and Mastering Java 2, J2SE 1.4 (Sybex, April 2002)

Summary:  In April 2005, Sun updated its certification for J2SE 5. If you're interested in getting certified, or updating your current certification, this article provides a quick-and-dirty overview of the skills you'll need.

View more content in this series

Date:  30 Sep 2005
Level:  Introductory

Comments:  

Java™ certification is the process by which Sun tests your level of knowledge of the Java programming language, its libraries, and the platform as a whole. Multiple levels of certification exist, with the first level involving a multiple choice test to prove your competency. To pass the test, you need to know what the objectives are and be able to apply them. You can take the exam at any authorized Prometric training center (they're located around the world). Table 1 has the exam details.


Table 1. SCJP 5.0
Exam number: CX-310-055
Prerequisites: None
Exam type: Multiple choice and drag and drop
Number of questions: 72
Passing score: 59% (43 of 72)
Time limit: 175 minutes
Total cost: US$150 (or locally priced)

Exam objectives

The seven categories of objectives for the exam are as follows:

  • Declarations, initialization, and scoping
  • Flow control
  • API contents
  • Concurrency
  • Object-oriented concepts
  • Collections/generics
  • Fundamentals

Don't worry too much about the order; it's simply how the objectives are described on Sun's Web site for the exam. Treat it more as a study guide for what you need to know. In the following sections, I'll look at each objective in more detail.

Declarations, initialization, and scoping

The initial section describes everything you need to know about the basics of the Java programming language. Expect to be tested on covarient return types, JavaBean naming conventions, and the ability to read nested class listings. Here is also where you are expected to develop classes and interfaces, understand abstract classes, deal with the differences of static and non-static methods and variables, and work with constructors and return values. There's nothing here that should sound too complicated to an experienced developer, but there are some things thrown in to trip you up. For example, don't assume that just because code lines up at the same tab stop that it is a method for the same class. Instead, ignore white space and tab stops when reading code. Expect little tricks like that to try to confuse you. Remember: follow the {}s.

Flow control

Most people should find this section easier than the others, having to deal with the familiar for-loops, while-loops, and do-while loops. However, it also includes content about the assertions and for-each loops. The other big section of content to explore here is exception handling. If you have a good grasp of try-catch-finally and where exceptions come from, you should do fine here.

API contents

This topic is mostly a catchall for those that don't fit elsewhere. It might require a good amount of study time if you have not used certain areas of the platform. Most of you should be familiar with working with the I/O streams for bytes and characters, but some of you might be unfamiliar with object serialization. You may be less familiar with locales and formatting dates and numbers.

The 1.4 release introduced regular expression handling, and it is covered here too. Also, there is the different primitive wrapper classes with autoboxing/unboxing and the string handling classes of String, StringBuffer, and the new StringBuilder. If you aren't familiar with StringBuilder, be sure to learn how it is different from StringBuffer.

Lastly, there is the reading and writing of formatted input and output using the new Scanner and Formatter classes. Because of the broad nature of this topic, don't feel like you should spend an equal amount of time studying each; give yourself at least twice as long for this section.

Concurrency

The concurrency section is not about the new java.util.concurrent package. Instead, it is about understanding the use of Thread and Runnable, along with the proper use of synchronization, wait(), notify(), and notifyAll(). You should know how and when to lock objects properly when accessing critical sections of code.

Object-oriented concepts

The object-oriented concepts section requires that you have a good understanding of object-oriented programming principals and practices, like when to use inheritance, how to implement is-a and has-a relationships, and the differences in overriding and overloading methods. If you understand why you want loose coupling tied to high cohension and can describe its benefits, you should do well here.

Collections/generics

One of 5.0's bigger additions is with generics. You'll need to understand the differences between the various collection types, when to use each, and the importance of overriding both hashCode and equals. You'll need to know how to write generic methods and classes -- not just use them. You should expect to be tested on dealing with sorting through both the Comparable and Comparator interfaces. If you haven't used generics much, you should spend some time focusing on this area.

Fundamentals

The fundamentals section requires you to understand various key aspects of the language, tools, and underlying virtual machine. You can expect questions on garbage collection, operator precendence and usage, access modifiers, JAR files, and the class path. Be sure you know the difference between primitive and object references and the autoboxing features found in 5.0.

What's missing?

The SCJP exam does not require that you know anything about graphical programming -- no layout managers, no event handling, no Swing. These topics are saved for a later exam in the certification process.


Upgrading from 1.4

If you are already certified for 1.4 or a prior standard edition release, you don't have to take the full exam. Sun offers an upgrade option. The objectives of the exam are the same seven as the main exam, but it's assumed that you already have a basic level of comprehension. You still need to know about new concepts like generics, and depending upon from what version you are upgrading, you might also need to understand newer concepts like regular expressions, introduced with 1.4 (see Table 2).


Table 2. SCJP 5.0, upgrade exam
Exam number: CX-310-056
Prerequisites: Prior SCJP certification
Exam type: Multiple choice and drag and drop
Number of questions: 46
Passing score: 58% (27 of 46)
Time limit: 105 minutes
Total cost: US$100 (or locally priced)

Preparation options

You can prepare for certification in many ways. For those into self-study, there is the typical buy-a-book approach. Be sure to consider the "used" market, too, as many people don't feel the need to keep these books after they've passed the test. Another self-directed option is the online exam simulators, free or otherwise. Here you get to try out the typical exam format in the comfort of your own home. If you're looking for someone to study with, consider participating in online study groups and forums like Java Ranch or in-person groups from your local Java User Group (JUG). Finally, there are university or professional training companies. While this option is the most expensive, you might be able to convince your employer to pay.


Beyond basic certification

Once you become a Sun Certified Java Programmer (SCJP), your next step depends on your personal desires and objectives. For instance, for mobile application developers using J2ME, there is the Sun Certified Mobile Application Developer (SCMAD). For enterprise developers, Sun offers certification options, too, but you may find certification through a specific vendor (such as IBM's Professional Certification Program) more valuable. Test types and costs vary by vendor.


Resources

Learn

Get products and technologies

  • J2SE 1.5: Download J2SE 1.5 from the Sun Developer Network.

Discuss

About the author

Author photo

John Zukowski conducts strategic Java consulting with JZ Ventures, Inc. and is working with SavaJe Technologies to develop a next-generation mobile phone platform. His latest books are The Definitive Guide to Java Swing, Third Edition (Apress, June 2005) and Mastering Java 2, J2SE 1.4 (Sybex, April 2002)

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in

If you don't have an IBM ID and password, register here.


Forgot your IBM ID?


Forgot your password?
Change your password


By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)


By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Java technology
ArticleID=94789
ArticleTitle=Taming Tiger: Are you SCJP 5 certified?
publish-date=09302005
author1-email=jaz@zukowski.net
author1-email-cc=jaloi@us.ibm.com

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).