I m going to start by saying that my preparation experience would probably only be useful for someone who is starting programming and Java now .If that's not the case you might want to skip this block and just read the exam experience .
My exam preparation and advice for starting programming:
I started learning Java/programming 5+ months ago with the aim of both getting a good foundation in java/programming and getting the first Java certification . Initially i decided to divide my time in 2 , first start by learning the basics of java ( i estimated about 2.5 months) using only books and practice and then study for the certification ( i estimated about 2 months). I still think this is by far the best approach as while it is possible to start directly with the certification is significantly harder to succeed like this and you would not get any kind of problem solving skills( which are essential together with a strong understanding of the programming language and principles if you want to apply your knowledge of Java ) Be advised that i spent on average 4.5-5 hours a day every day ( that's about 750 hours ), starting without any experience in programming .Now i can safely say that putting the time and making the effort is the hardest part of learning Java . I m sure some people can do it much faster but here you go , that's how long it toke for me .I used and i advise using books for learning Java ( especially if coming from a no programming-knowledge background )
The books i recommend:
1. The Art and Science of Java , the best explanations i found anywhere but not very systematic in it's approach of learning .Focuses on basics of programming more then on Java . Also uses heavily some libraries that will create confusion for new people when they move to normal java code - i used this my first 1.5 month
2. Think in Java 4th edition , I have not read this book but it comes highly recommended and it's approach is OOP first before procedural stuff which i think is better . The Enthuware site recommends this book.
3. Intro into Java programming 10th edition . This did the trick for me as it's excellent for practice and validation , every chapter have allot of exercises(to get some problem solving skills) and a ~ 40 questions quiz . Also it's systematic in it's presentation of Java and well organized . (I think it's made mostly for CS students having over 1000 pages - someone that is interested in OCA-1Z0-803 need to read the first 13 chapters/ 500 pages )I used this book after "The Art and Science of Java" for about 1.5+ months and then for certification study as i found the chapters Inheritance and Exception Handling more clear and better explained then in Mala Gupta's book.
There are allot of books to introduce into Java and most are decent but my advice would be whatever book you chose try to do allot of exercises . Just readying theory will never be enough i think (what why i values books with lots of exercises here)
The second part of my preparation was focused on the certification and Mara Gupta's book OCA Java SE 7 Programmer I Certification Guide . I think i spent about ~ 2.5 months on this .I think i ve read the book at list 3 times and after a few iterations of this i ve made a summary of every chapter . This helped me incredibly much as i would sometimes forget stuff( usually related to inheritance and exception handling) As you probably know the best way to learn and retain information is to use that information in different and interactive ways ( exercises , examples , quiz or just viewing/phrasing the information in different angles ) . Not list it helps allot to read something at different intervals of time as opposed to focusing one week on it and then forgetting about it for the next month . As a general idea Mara's book is good but i don't find it as good as some people here argue it is , for example the last 2 chapters are not as good in my opinion . For me Inheritance and Exception handling was explained much more clearly and completely in Intro into Java programming . Also Mara's book will not cover every piece of information that you might encounter in the exam(which is somewhat to be expected) , just take an Enthuware mock exam and you ll see what i m talking about . That being said it's probably the best book at the moment and it's good enough , providing smart analogies for relations and behavior in Java .
As you study for the OCA-1Z0-803 you ll want to validate yourself and in general measure your readiness for the exam . I advice you get the enthware tests as a must and maybe whizlabs if you want more . After taking both the first Enthuware mock exam and the exam i can safely say that the exam is easier in the sense that Enthuware have some very hard questions (around 10) that the exam will not have .The hardest questions on the exam are 1 level bellow the ones in mock tests . The question length and the code size is very comparable with the exam.
One more thing , coderanch is an incredible resource and you should use it . I ve asked allot of dumb question in my java journey and i was never put down for it through i was directed to the Java docs a few times
I hope i covered most of it but if there are questions feel free to ask.
I did not feel ready for the exam , especially the ArrayList/StringBuilder/String sections but i did want to finish as 5 months is a long time . At this point i still hadn't done any mock tests except the chapter based ones in Mara's book through i did look over a number of questions in the Enthuware mocks . So i decided to do the first Enthuware mock exam and if i pass it i would schedule a few days later . I did pass it with 69% finishing in the last minute . I understand this is not the best way to use the mock exams but i wanted a shot at the exam right way . Today i toke the exam and passed it with 80% . I m happy that i manage to finish even if i did not do allot of mocks and a final refresh of the topics. I think that if i would have had the patience to do all the mocks and review what i did wrong i could have added at list 5% to my grade but i m not at all sorry .
My impressions about the exam :
- it's easier then Enthuware Test1
- the question /code length is very close to Enthuware Test1 and nothing to be scared about
- my biggest problem were nerves and time , i had to randomly select a question at the end as i did run out of time
- the hardest type of question on the exam was of type "Here is a section of code , select the block of code to be added at line X so the output is X and Y etc " , using a number of nested loops to make it harder but the question could have been about ArrayList or Arrays .
- on inheritance/polymorphism i expected much harder questions but there ware kinda basic (understand the basic cases when an method is overridden and how you can correctly invoke those methods)
- i think it helps to understand the logic behind rules in java as much as to understand the rules , this way you can answer questions that contain never before seen situations
- the vast majority of questions ware in scope with what i read in Mara's book but there ware a few exceptions ( a few exception classes ; using the Type List to reference ArrayList and a few more) But not as much as with the Enthuware mock where i found allot of things that ware not present in Mara's book