Java 2 Certifications: An Introduction
Sun Microsystems' Java 2 Platform is a familiar set of tools known to most in the development world. The Java 2 Platform, Standard Edition (known as J2SE) offers the tools, compilers, APIs, and runtimes for creating and deploying Java applets and applications. The Java 2 Platform, Enterprise Edition (known as J2EE) offers the tools and infrastructure to manage and support Web services that come together to make secure, interoperable business applications. Finally, the Java 2 Platform, Micro Edition (known as J2ME) is for consumer and embedded devices. These devices can include cell phones, PDAs, and vehicle telematic devices.
Along with a robust development platform, Sun offers a robust education and certification program that Java developers can use to grow and certify their Java skills. Sun notes that each certification is developed to test on a certain job role for a Java developer.
The Sun Certified Java Programmer Certification
As I just mentioned, all of the Java 2 certification programs are built from the Sun Certified Programmer Certification (SCJP). The following graphic from www.sun.com details the different certification paths that Java 2 programmers can follow, upon earning their SCJP credential.
Sun wants all Sun Certified Professionals to pass this first certification because it demonstrates proficiency with the Java programming language. This is based on the J2SE platform.
To achieve this credential, only one exam has to be passed. At the time of this writing, interested candidates can choose from one of five exams. Three of these exams are general exams for those who have not previously achieved a Java certification whereas two of these exams are upgrade exams. If you already have a previous Java certification, these upgrade exams allow you an efficient way to port your current skills to a different Java platform. Granted, just because you have passed one Java certification doesn't guarantee success on an upgrade exam. You will still need to brush up on old skills as well as learn the new features of the next Java version.
The exams you can choose from include:
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (CX-310-055)
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 Upgrade Exam (CX-310-056)
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.4 (CX-310-035)
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.2 (CX-310-025)
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.4 Upgrade Exam (CX-310-036)
Note: The exams for J2SE 5.0 are new offerings. As you can see, platforms 1.2, 1.4, and 5.0 are tested platforms. Choose the platform that best fits your needs or aspirations and pursue the individual exam that will help you achieve the SCJP certification.
For the remainder of this article, you can delve further into one of these exams, the J2SE Platform 5.0 exam. In coming articles, I will cover the 1.4 and 1.2 platform exams.
Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (CX-310-055)
As mentioned, this is a new Java exam. Just like the other exams one can pass to attain the SCJP credential, this exam is intended to examine the candidate on his abilities with fundamental Java tools and language syntax.
The exam objectives for this exam include seven sections that break down the different features and structures of the J2SE 5.0 platform. These include:
- Section 1: Declarations, Initialization, and Scoping—Some of the topics this section covers include developing code that declares classes, an interface, enums, primitives, arrays, and declares both static and non-static methods. You should also be able to determine whether a method is overriding/overloading another method correctly, and identify legal return values.
- Section 2: Flow Control—This section contains topics where one must be able to develop code for an if or switch statement, that implements all forms of loops and iterators, that makes use of assertions, and situational recognitions of events within Java code.
- Section 3: API Contents—The required topics from this section include being able to develop code that uses the primitive wrapper classes, serializes and/or de-serializes objects using APIs from java.io, uses standard J2SE APIs in the java.util and java.util.regex packages to format or parse strings or streams, and uses standard J2SE APIs in the java.text package to correctly format or parse dates, numbers, and currency values for a specific locale.
- Section 4: Concurrency—For Section 4, you will need to be able to develop code to define, instantiate, and start new threads using both java.lang.Thread and java.lang.Runnable. Also, you will be given scenarios in which you will need to be able to write code that makes appropriate use of wait, notify, or notifyAll and that makes appropriate use of object locking.
- Section 5: OO Concepts—This section focuses on object-oriented abilities where you will have to demonstrate how to develop code that implements tight encapsulation, loose coupling, and high cohesion in classes and that implements "is-a" and/or "has-a" relationships. You will also have scenarios given to you where the exam will expect you to be able to develop code that demonstrates the use of polymorphism and develop code that declares and/or invokes overridden or overloaded methods and code that declares and/or invokes superclass, overridden, or overloaded constructors.
- Section 6: Collections/Generics—In this content section, you will need to understand how to develop code that makes proper use of type parameters in class/interface declarations, instance variables, method arguments, and return types, that uses the generic versions of the Collections API, and to manipulate a list by sorting, performing a binary search, or converting the list to an array using the java.util package. Also, you are likely to be given a scenario where you'll need to determine which collection classes and/or interfaces should be used to properly implement that design.
- Section 7: Fundamentals—This section will potentially require you to write code that correctly applies the appropriate operators including assignment operators, arithmetic operators, relational operators, the instance of operator, logical operators, and the conditional operator ( ? : ). Also, in this section expect to be given examples of code where you will determine the expected runtime behavior, write code that uses the appropriate access modifiers, package declarations, and import statements, recognize the point at which an object becomes eligible for garbage collection, and determine what is and is not guaranteed by the garbage collection system, to name a few.
Note: The coverage above is only a quick look at the topics you will have to master. Be sure to check out the full list of exam objectives at www.sun.com/training/certification/java.
Some important facts to note about this exam include:
- Exams are delivered at any authorized Prometric testing center. To sign up for this exam through Prometric, simply visit www.prometric.com. Once at the testing center, you will be required to show photo ID.
- Note that, because this is a fundamental certification, there are no prerequisites for taking this exam, nor are there any other assignments that must be completed before taking the exam.
- The format of the exam questions includes multiple choice and drag and drop.
- There are 72 questions and you must attain a passing score of 59% (43 out of 72 questions correctly answered) to achieve this certification.
- You are allowed 175 minutes to complete the exam.
- This exam costs $150 to take.
Studying for Certifications
Whether it is the J2SE Platform 5.0 SCJP certification or an A+ certification, much time and effort must be expended to prepare for the exam. For Sun Certification, Sun offers a deep training system that can help you prepare for you exams. The certification Web site at www.sun.com recommends several training classes for each exam they offer. Also, many computer book companies offer exam prep guides and general Java programming books one can use to prepare.
The important thing to know is how you best learn, though. Do you learn best with a hands-on approach? Maybe you learn best by reading and taking notes. Possibly you prefer a classroom setting. Whichever method works best for you is the path you should follow. Set aside time and any other resource to give yourself 100% ability to pay attention to your study and preparation. After all, your career is being shaped by these efforts! Also, be sure to spend plenty of time taking practice exams. There are many vendors who offer questions. Also, the Sun Web site has links to practice questions as well. Spend plenty of time doing these practice exams to better gauge your learning progression and to build confidence for exam day.
Developing a study plan, practicing diligently, and experiencing the Java 2, 5.0 Platform are key ingredients to successfully catching your SCJP certification.