Showing posts with label SCJP. Show all posts
Showing posts with label SCJP. Show all posts

Sunday, 29 December 2013

Our screencast about programmer certification

In order to facilitate OCPJP aspirants, we created a screencast to provide information about Oracle Java Programmer certification. In this screencast, we discuss why a programmer certification is required, what different certifications are available, some tips about exam preparation and resources to prepare for OCPJP 7 certification exam.

We hope that the readers will find the attempt useful and informative.

Screencast: Cracking Oracle Java Programmer Certification - Part I

 

Screencast: Cracking Oracle Java Programmer Certification - Part II

Screencast: Cracking Oracle Java Programmer Certification - Part III

 


Thursday, 26 December 2013

Untangle your confusion about programmer certification

Newbies in Java hear about programmer certification organized by Oracle and aspire them. However, many a times, they are not clear first, whether to go for certification, and second, which certification to target. This confusion becomes a puzzle when the newbie learns that (s)he can go for programmer certification version 6 and version 7. Here, we would like to help you to resolve the confusion.

For programmer certification (at associate and professional level), Oracle offers OCAJP 7 (Oracle Certified Associate Java Programmer) and OCPJP (Oracle Certified Professional Java Programmer) certification. There are currently three popular exams associated with OCPJP:
  • OCPJP 6 : Oracle Certified Professional Java Programmer for SE 6 (1Z0-851)
  • OCPJP 7 : Oracle Certified Professional Java Programmer for SE 7 (1Z0-804)
  • OCPJP 7 upgrade: Oracle Certified Professional Java Programmer for SE 7 upgrade exam (1Z0-805)
So, which one is appropriate for you? We prepared the following self-explanatory chart to help you; we hope it would be helpful for you in making your decision.



(1) A certification primer
(2) SCJP/OCPJP 6 or 7?

Sunday, 24 November 2013

A comprehensive guide for OCPJP 7 exam preparation



OCPJP 7 book


Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 and 1Z0-805  is a concise, comprehensive, step-by-step, and one-stop guide for the Oracle Certified Professional Java SE 7 Programmer Exam. (Publisher: Apress)

Why an OCPJP 7 aspirant should refer our book? Here is the answer:
- Our book is the first and only book available right now for OCPJP 7 exam preparation. It covers all the exam topics for OCPJP 7 with required depth.
- First chapter (FAQs chapter) of the book clears very basic questions that one may have related with the exam. 
- Second chapter sports a pre-test which can be used to know the preparation level initially and where one needs to put more effort. 
- Each topic is explained using examples with many corner-cases covered.
- After each chapter, a set of questions are presented to quickly test what one just learnt. 
- "Points to remember" is a very interesting section that lists corner cases and tricky elements with respect to the topic. 
- The book comes with two full-size mock-tests (90 questions each) which gauge preparedness of the aspirant for the actual exam.

If you are new to Java certification, please refer this post. We offer a set of downloadable resources here. You can report a possible mistake from this erratapage.

Saturday, 23 November 2013

Oracle Java Certification Exam Preparation (for OCPJP 7 Exam)

Why Oracle Java Certification?  

Let us start with the question - why get certified? 

The reason is to differentiate yourself. The key to getting a job, hike, or promotion is to show that you deserve it! 

Getting certified is one of the means to show that you have relevant knowledge and skills:
  • Show that you have some document proof that you have relevant skills or knowledge
  • Show that you are different from others (competing with you) that you have some specialized skills or knowledge 
Getting certified also has other benefits as well: 
  • Preparing for a certification exam gives you focus on learning relevant and important topics; the certification exam date gives you a deadline so you will take learning seriously 
  • The process of preparing for the exam and actually passing the exam gives you confidence necessary for getting a job or asking for a promotion or a raise
Now you may ask, why Java certification? 
  • One obvious reason is that Java is one of the most popular programming languages on this planet. As on 17th March 2013, according to TIOBE index - the language popularity index most people refer to - listed Java as the most popular language in the world ahead of languages like C, Objective-C, C++, and C#. This popularity of Java translates to the need for more Java programmers in the IT industry. 
  • Java certifications are one of the most popular IT certifications, so potential employers or your managers will recognize this certification.
  • There is always need for high-quality Java developers and having this certification shows that you are one of those qualified Java developers 
Next, we’ll briefly discuss about the Oracle’s certification path. At a very high-level, there are four levels of certifications: Associate, Professional, Expert, and Master levels. 
  • Oracle Certified Associate: This certification shows that you have fundamental skills necessary for an IT career; it provides a strong foundation for further exams.
  • Oracle Certified Professional: This certification shows that you have professional skills and technical expertise to develop enterprise software. 
  • Oracle Certified Expert: This certification shows that you have specialized levels of skills and knowledge.
  • Oracle Certified Master: This certification shows that you have mastery or expert level of skills and knowledge.      
There are three Oracle Java exams for Java SE 7 at beginner to intermediate level.
  • Java SE 7 Programmer I: The is a beginner level exam - if you pass it you get Oracle Certified Associate Java SE 7 Programmer (OCAJP 7) certification. There are no pre-requisites for taking this exam. 
  • Java SE 7 Programmer II and Upgrade to Java SE 7 Programmer: These two are intermediate level exams - if you pass either of these exams, you will get Oracle Certified  Professional, Java SE 7 Programmer (OCPJP 7) certification. If you have older Java certifications such as SCJP 5, then you can go for Upgrade to Java SE 7 Programmer; otherwise, you need to take Java SE 7 Programmer II exam. For Java SE 7 Programmer II exam, the prerequisite is that you should have passed the OCAJP 7 exam. 
Oracle Certified Professional Java Programmer 7 (OCPJP 7) Overview

Exam topics

There are 12 exam topics for Java SE 7 Programmer II certification - 
  • Java Class Design
  • Advanced Class Design
  • Object-Oriented Design Principles
  • Generics and Collections
  • String Processing
  • Exceptions and Assertions
  • Java I/O Fundamentals
  • Java File I/O (NIO.2)
  • Building Database Applications with JDBC
  • Threads
  • Concurrency
  • Localization
However, the Upgrade to Java SE 7 Programmer has only six exam topics: 
  • Language Enhancements
  • Design Patterns
  • Java File I/O (NIO.2)
  • Building Database Applications with JDBC
  • Concurrency
  • Localization
In other words, the Upgrade to Java SE 7 Programmer assumes that you know topics such as class design because you have passed one of the earlier exams. So, the focus of the Upgrade exam is only on additional topics or Java 7 topics.  

Getting familiar with OCPJP 7 exam 

The exam has only multiple-choice questions. You will get 4 to 7 options for each question; but most questions will have four options. Note that many questions will have more than one answer to be selected - the question will clearly tell you how many options you need to select. 

The exam questions intend to test your ability to solve real-world problems. You can expect most questions to be programming-based questions. For example, given a program or code segment, the question could be to predict the behavior by selecting the expected output from the given list of options. You will also get a few conceptual questions. These questions will test your knowledge and will not have any programs in it. Examples: What are different kinds of drivers in JDBC? What are different kinds of liveness problems with threads? 

Most questions will check your knowledge of language features and their usage. They will test if you understand language features and can apply them in practical situations. But note that most questions will not be on obvious aspects of Java language features. Rather, the questions will be on nitty-gritty details or corner cases, or unusual aspects of the language. For example, you don’t just need to understand the generics feature in Java but also need to understand problems due to type-erasure in generics. 

Many questions will test your knowledge of library features and their usage. They will test if you are familiar with Java APIs and know how to use them in practical situations. You can be sure that questions will be on nitty-gritty details or corner cases, or unusual aspects of the library. For example: What does the remove() method of Deque do? (Answer: It removes the front or first element from the underlying deque instance - not the back or last element).

To summarize, the exam tests your understanding of the Java language and library and your ability to apply it for problem solving. However, note that it does not test your memory skills. Still there are few topics where you may need to remember key things. Some examples: 
  • Letters used for creating custom date and time formats (i.e., "string patterns") for use with SimpleDateFormat class
  • Characters used for forming pattern strings in regular expressions
  • Format specifiers and their meaning for use in format() method in String and in printf()
If you have done programming with time formats, regular expressions, format specifiers etc. you’ll know them; but if you are relatively new to these topics, then you need to refresh them before appearing for the exam. 

Also note that exam questions need not be exactly from the exam objectives! Any topics related to the exam objectives can come in the exam. For example, serialization and use of transient keyword is not explicitly mentioned in the OCPJP exam topic. But this topic can come in the actual exam because it is related to reading and writing streams, and one of the streams is ObjectStreams and it relates to serialization!

How to Prepare for the Exam 

Now let us discuss about preparing for the exam. 

The best way to prepare for the exam is to write lots and lots of small programs and learn from your mistakes! If possible, try taking up some small toy projects in the topics you’re new or not familiar with. This is especially important if you don’t code in Java in your regular job. 

However, it is also important to read and learn more about the language features and the library. There are some excellent resources out there in the internet freely available for you to read. 
Some tips for exam preparation 
  • When preparing for the exam, focus especially on the new features introduced in Java 7.   
  • Take a close look at the exam objectives and grade yourself from, say 1 to 10, with 10 being the highest. Prepare all the topics for which you've rated yourself as 8 or below.
  • Plan for taking your exam well in advance: look out for scheduling the exam when you’ll be free for at least a few weeks for exam preparation; avoid last minute rush to prepare for the exam. 
How to register for the exam?

You have three options:
  • You can register and pay at the Pearson VUE website (this is the option most exam takers choose).  
  • You can buy exam voucher from Oracle and then register yourself in Pearson VUE website. 
  • You can register and pay in the Oracle Testing Center (OTC). 
Before we end 

Do checkout our OCPJP 7 book which is the only book available in the market for exam preparation. 



That’s all, and wishing you all the best for cracking the OCPJP 7 exam with ease. 

Sunday, 14 April 2013

Top 5 myths and misconceptions about OCPJP 7 exam

Myth #5: If I pass OCAJP 7 exam, I'll pass OCPJP 7 exam with ease - both are similar except for top-level exam topics!   

No, no, no. OCAJP 7 and OCPJP 7 are different beasts. OCAJP 7 is much easier than OCPJP 7 exam. Oracle wanted a large base to start with, and hence OCAJP covers only language fundamentals; just take a look at the 
OCAJP 7 exam topics to understand what we mean. However, OCPJP 7 is a more difficult exam which covers a wide range of exam topics (JDBC, Concurrency APIs, localization, design patterns, ...) as well as topics in depth (just take a look at generics and collections topic, for example). 

Yes, some questions in OCAJP 7 could be as difficult as OCPJP 7 exam, but in general, OCPJP 7 requires much more preparation. Overall, it would be a very bad idea to appear for OCPJP 7 exam without any preparation, but it may be okay for OCAJP 7 if you've considerable programming experience in Java.  

Bottom-line: Don’t measure both the exams with the same scale. If you've passed OCAJP 7 exam, don't look at OCPJP 7 exam as something similar - they are very different at their difficulty level. So, prepare more for OCPJP 7 exam even if you've cracked OCAJP 7 with ease. 

Myth #4: I have many years of work experience in Java, so I don't have to prepare for the exam. 

No matter how much real-world programming experience you might have, there are two reasons why you should prepare for this exam to improve your chances of passing it: 
  • You may not have been exposed to certain topics on the exam. Java is vast, and you might not have had occasion to work on every topic covered in the exam. For example, you may not be familiar with localization if you have never dealt the locale aspects of the applications you were engaged with. Or your work might not have required you to use JDBC. Or you’ve always worked on single-threaded programs, so multithreaded programming might be new to you. Moreover, OCPJP 7 emphasizes Java 7, and you might not have been exposed yet to such Java 7 topics as NIO.2, new concurrency APIs, and enhancements such as try-with-resource statements. 
  • You may not remember the unusual aspects or corner cases. No matter how experienced you are, there is always an element of surprise involved when you program. The OCPJP 7 exam tests not just your knowledge and skills in respect of regular features, but also your understanding of unusual aspects or corner cases, such as the behavior of multithreaded code and the use of generics when both overloading and overriding are involved. So you have to bone up on pathological cases that you rarely encounter in your work.

Bottom-line: Work experience in Java is good, but you'll still need to prepare. A grounded and practical approach would be to take mock-exams in our book - if you pass the mock exams, you're likely to pass the real exam - at least this approach will save you $300! 

Myth #3: OCPJP 7 exam questions will be equally distributed among the exam topics.  

If you look at the list of exam topics for OCPJP 7 exam (see this link), you'll find 12 top-level exam topics. Somehow, there is a misconception that you'll get 7 to 8 questions (i.e., 90 questions / 12 exam topics = 7.5 questions) per exam topic. However, based on experiences in taking exam, this is not true. Specifically:  

·         You're sure to get questions on fundamentals, i.e., questions from OCAJP 7 exam topics, so, this distribution doesn't hold. 
·         You may get more questions on a specific topic (such as generics and collections) when compared to other topics. 
·         You may not even get any questions on a topic. For example, many takers of exam have reported that they did not get any questions in topics such as Concurrency or JDBC.  

Bottom-line: Prepare well for all the exam topics and don't be surprised if you get a large number of questions from one exam topic and very few (or even no) questions on some exam topics. 


Myth #2: OCPJP 7 exam questions will be exactly from the exam topics.  

Yes, Oracle has listed exam topics (both topics and sub-topics) for the OCPJP 7 exam (see this link). The questions from the exam will be mainly from these high-level exam topics. However, exam questions are not constrained to be exclusively from the topics on the exam syllabus:

·         You might, for example, get questions on Java fundamentals (a topic in OCAJP syllabus) concerning the basics of exception handling and using wrapper types. Or consider the exam topic "Test equality between Strings and other objects using == and equals ()" listed under "Using operators and decision constructs" in OCPJP 7 exam - you may get questions on this exam topic. 
·         You might also get questions on topics related to those on the exam syllabus but not specified in it. For example, serialization and use of the transient keyword are not explicitly mentioned in the OCPJP exam syllabus, but they can come up in the actual exam because they are related to reading and writing streams—and one of these is ObjectStreams, which relates to serialization!
·         Consider this exam topic "Format strings using the formatting parameters: %b, %c, %d, %f, and %s in format strings." under "String processing" in OCPJP 7. This list of formatting parameters is only an indication and you may get questions on flags such as ‘-’, ‘^’, or ‘0’ or use of escape character % and use %% to print %. 
·         Some of the Java 7 topics are not explicitly mentioned anywhere in the exam topics. For example, consider two sub-topics in "Upgrade to Java SE 7" top-level exam topic "Language enhancements": "Develop code that uses String objects in switch statement", "Develop code that uses binary literals and numeric literals with underscores". In our experience, we have got questions from these two exam topics which are not at all mentioned in main OCPJP 7 exam (IZO-804)! 

Bottom-line: It would be a folly to strictly adhere to the exam topics listed by Oracle for the exam. Grounded on our practical experience in the exam, it's a good strategy to be familiar and prepare for all the top-level topics given in the exam syllabus, including Java 7 language features.  


Myth #1: OCPJP 7 = (Older version of OCPJP or SCJP) + Java 7.

The top in our list of myths and misconceptions is something that is surprisingly common among OCPJP aspirants. This is the misconception that most of you may disagree with us. But never mind, we'll tell you the truth!

Those who are familiar with older versions of the OCPJP (such as OCPJP 6) exam or SCJP exam (such as SCJP 5) exam think that OCPJP 7 is nothing but the same old exam plus coverage of features introduced in Java 7. It is simply not true. In two major ways OCPJP 7 and its older avatars are different: OCPJP 7 is both broader and deeper than its older versions. Let's dig deeper on these two aspects.

OCPJP 7 has broader scope: This is easy to explain. The OCPJP 7 exam covers more topics than the OCPJP 6 and 5 exams and their Sun predecessors, including JDBC, localization, NIO.2, and concurrency APIs. Yes, OCPJP 7 also covers new features of Java SE 7, including try-with-resources statements, new APIs in JDBC, string-based switches, and binary literals; but that is only one of the differences between OCPJP 7 and its older versions. Here is the list of exam topics in OCPJP 6 and OCPJP 7:  
OCPJP 6 exam topics
Declarations, Initialization and Scoping 
Flow Control
API Contents
Concurrency
OO Concepts
Collections / Generics
 Fundamentals
OCPJP 7 exam topics
Java Class Design
Advanced Class Design
Object-Oriented Design Principles
Generics and Collections
String Processing
Exceptions and Assertions
Java I/O Fundamentals
Java File I/O (NIO.2)
Building Database Applications with JDBC
Threads
Concurrency
Localization


A considerable number of "language fundamental" topics are now moved to OCAJP 7, which is a prerequisite for OCPJP 7 exam. 

OCPJP 7 has more in-depth coverage of exam topics: This part is harder to explain. One of the objectives of Oracle when they revised the exam to OCPJP 7 is to make sure that fewer candidates pass the exam. With this in mind, when compared to OCPJP 7, the questions in OCPJP 7 are more difficult, there are more number of questions need to be attended within the same time period of 2.5 hours, and there is a slight increase in the percentage required to pass the exam (see table): 


Exam duration
OCPJP 6 exam
2 hrs 30 minutes (150 mins)
OCPJP 7 exam 
2 hrs 30 minutes (150 mins)
Number of questions
60 Questions
90 Questions
Pass percentage
61%
65%


The other minor differences between OCPJP 7 and its older versions is that all questions in OCPJP 7 are multiple choice questions. Older versions of the exam featured drag-and-drop and match-the-options style questions that are withdrawn in OCPJP 7 exam.

Bottom-line: Don't look at OCPJP 7 as just incremental improvement of its older version(s), and take it more seriously to prepare well for the exam (unless you're ready to throw away $300 in the dustbin).