Yesterday I passed Sun's Java certification exam for Java 1.4 platform (SCJP - exam code 310-035). My passing grade is 95% percent (I have correctly answered 58 questions from 61).
For those interested in taking this exam I wrote this small essay.
Make sure that you solve all the quizzes at the end of each chapter. This is a very important step. It is one aspect to understand an issue and another aspect to be able to explain and argument your point of view.
Make sure that you understand all the discussed topics. If you do not understand something, write it down in a Q&A format then go and ask some Java expert about this. If some issues are worth to remember then write them down in the same Q&A format.
Again, if you do not understand/agree with some issue, write it down in the Q&A format then go and ask some Java expert about this.
This is one of the most useful USENET news groups. Besides that fact that the noise level is very low you will find that most people hanging here are very knowledgeable about Java. If used properly, this newsgroup can be invaluable for your preparation efforts.
If a question is particularly tricky so that you are not sure what the right answer is, post the question to the above mentioned news group. Most likely people will debate aspects about your problem that you have never taught of initially. This can be a great way to really understand a tricky issue.
Is the exam really useful for your Java knowledge ?
Certainly it is, but it is not what you would expect. Having this exam is no guarantee that you are a good Java programmer. Why ?
I will answer this question with a real-world situation: one of the questions from the exam was particularly tricky. I have spent a good 10 minutes on that question. (do *not* do the same unless you have plenty of time) The problem is that this question could be answered instantly if the error message from the compiler would be available. You will never encounter such a behavior in practice. How many programmers try to guess what the outcome of the compilation is, before compilation ? None. In any reasonably large program such a behavior would be completely unreasonable. Having this exam is your CV is a guarantee that you have above the average low level knowledge of Java, but in practice you will rarely use it. For this reason very good Java programmers could take low grades on this exam while not-so-good Java programmers could pass the exam with a high grade.
What can be done about it ? Most probably nothing. I understand the position of the exam writers. Since the target of the exam is basic Java knowledge this is where most questions will hit you. Because the Java compiler is intelligent enough you will often learn how to do the compiler's job. I expect that the more advanced exams are more useful in this respect because the compiler cannot compete with you on higher levels.
Is it worth to take the exam ?
Most probably yes ! Your image as a programmer will be improved so you career will most likely receive a boost.
For those of you who are curious I have reproduced below the most important sections from the paper that I received after I passed the exam. This is not an official paper from Sun (at present I know that I should receive this document in 2-3 months).
Your percentage score was determined by taking the overall number of correct answers divided by the total number of questions.
There are 61 questions in this exam. You answered 58 questions correctly which gives you a score of 95%.
|Passing score: 52%||Your score: 95%||Test Status: Pass|
This report shows the percentage of items in each section you answered correctly for the Sun Certified Programmer for the Java 2 Platform 1.4 exam (SCJP 310-035). The following information is provided to give you feedback on your relative strengths on a per section basis.
|Declarations and Access Control||100%|
|Flow Control, Assertions and Exception Handling||100%|
|Operators and Assignment||100%|
|Overloading, Overriding, Runtime Type and Object Orientation||100%|
|Fundamental classes in the java.lang package||83%|
|The collection framework||66%|
Certification testing is a means of measuring your knowledge and skill level. It can also be used to identify areas that need improvement and areas of strength. It can be used as a tool for further learning and future achievement.
Sun Educational Services offers a variety of tools to help you in your career. By logging on to our certification database, you can find scores for examinations you have taken, confirm or update your address, track your certification progress, and submit questions to the Sun Educational Services' Certification Department.
This assistance is available online at http://www.certmanager.net/sun/.
I wish you success in your exam preparation.