aspose file tools*
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark ""Just following the Monkhouse book" - really?!" Watch ""Just following the Monkhouse book" - really?!" New topic
Author

"Just following the Monkhouse book" - really?!

Matthew Flint
Greenhorn

Joined: Oct 25, 2007
Posts: 14
Hello all,

I'm SCJP, and have just started SCJD URLyBird. I read with interest a number of comments in this part of the Saloon from people who say things like "I'm just following the book".

I'm sure Andrew's book is a useful resource, but I'm concerned that the SCJD is being reduced to an exercise of following instructions, not in designing and building a robust O/O client-server system.

The Saloon (quite rightly) has a strict policy with the posting of SCJD code (and SCJP questions in that forum), so I find it odd that the Ranch actively encourages the promotion of The Book?

Would any other Saloon regulars be able to explain this discrepancy?

(This shouldn't be taken as a personal criticism towards Andrew, by the way - I just wonder if candidates will get more out the learning exercise if they're not tutored.)

Cheers folks,
Matthew

Edit: I don't want to start a flamewar either - just interested in people's opinions!
[ June 10, 2008: Message edited by: Matthew Flint ]
Robert James Liguori
Author
Ranch Hand

Joined: Nov 27, 2007
Posts: 532
    
    5

Well, below is a paste of my latest blog which addresses this issue. In short though, the candidate needs to bring into the assignment a fair amount of experience in order to do well and turn it around quickly. Without the necessary experience, a good certification book like Andrews and other more detailed information resources will guide the candidate to success.

My latest blog:

Gearing up for the Sun Certified Developer Assignment and Exam

The Sun Certified Java Developer (SCJD) certification is the specialty certification for developers seeking to justify their Java coding and design proficiency. The certification is comprised of an assignment and exam, with its only prerequisite of achieving the Sun Certified Java Programmer certification. The core APIs and technologies that you must have adequate experience with to complete the SCJD assignment and pass the exam are Swing, basic I/O, (choice of) RMI or serialized objects over a simple socket connection, threads, and general design patterns.

In lieu of necessary experience, SCJD candidates may find themselves purchasing a certification guide book. These books are valuable as the authors include important details of necessary APIs as well as the surrounding details necessary to meet the project's requirements. Two popular SCJD certification guides are as follows:

The Sun Certified Java Developer Exam with J2SE 5, Second Edition (Apress)
Java 2 Developers' Exam Cram 2 (Pearson Education) Striving to master the core areas is a good thing; even though the certification guides will not bring you there alone. O'Reilly comes to the rescue with specialty books on numerous Java packages, including the ones of interest for the exam. Again, the areas of focus for the exam are Swing, I/O, RMI, threads and design patterns. The corresponding books by O'Reilly are as follows:

Java Swing, Second Edition (O'Reilly Media, Inc.)
Java I/O, Second Edition (O'Reilly Media, Inc.)
Java RMI (O'Reilly Media, Inc.)
Java Threads, Third Edition (O'Reilly Media, Inc.)
Head First Design Patterns (O'Reilly Media, Inc.)
To make the most out of your SCJD certification process, pick up a certification guide book and to extend your in-depth knowledge that will stay with you beyond your certification, get the O'Reilly specialty books as well.

* Note that other publishers have books focused on core APIs as well.
[ June 10, 2008: Message edited by: Robert Liguori ]

My Blog (I frequently post on Java, JSF and NetBeans)
Andrew Monkhouse
author and jackaroo
Marshal Commander

Joined: Mar 28, 2003
Posts: 11531
    
100

I would also really love to hear what others think of this. (Especially Robert's opinion - he has found a lot of errata for me to fix.)

When we started considering writing this book, one of our primary concerns was that we did not want to provide a book that would provide a boilerplate solution to the Sun assignments. To this end:
  • In some parts of the book we made our book's assignment a little more difficult than the Sun assignment.
  • In some parts of the book we made our book's assignment a little easier than the Sun assignment

  • We still cover all the relevant areas of the Sun assignment, however anybody reading the book has to understand the materials in order to work out what will work for their assignment and what will not.

    I believe that it is not possible for someone to simply take the code from our book, change a few lines, and submit it - it just won't work. You have to understand the technologies (which the book explains ) in order to build your own solution.

    In addition, there are multiple versions of each of the Sun assignments, so there is no single answer that will work in all cases.

    As I said at the start of my post though - I would love to hear what others think. Do others think our own exercise / solution too closely mirror Sun's? Have we made it too easy?

    Regards, Andrew


    The Sun Certified Java Developer Exam with J2SE 5: paper version from Amazon, PDF from Apress, Online reference: Books 24x7 Personal blog
    Robert James Liguori
    Author
    Ranch Hand

    Joined: Nov 27, 2007
    Posts: 532
        
        5

    Hey Andrew,

    Your book clearly houses a unique project. What's nice about your book is that it's underlining tone is that of encouragement for the candidates to explore their options, and to thereafter record their decisions and how they got there... as required by the certification.

    It's a true benefit that you were able to construct this resource for the Java community.

    Robert
    [ June 10, 2008: Message edited by: Robert Liguori ]
    rinke hoekstra
    Ranch Hand

    Joined: Apr 06, 2007
    Posts: 152
    There are some parts of the book which can be copied directly into your own project (like, for example, the PositiveIntegerField class).

    Personally, I found myself trying to build my own OTHER sollutions in such cases, trying to deliberately keep away from Andrew's example. On one hand because it is a better learning practice, on the other hand because I found myself having a fear that Sun knows Andrew's book too, of course, and when literally copying parts, they will recognize that, which might cost you points. (Are there any known cases that this may have happened?)

    I think what is most important is what you write in choices.txt. You might as well use a sollution by Andrew, as long as you motivate why you choose this sollution and not another one.


    _ _ ________________________ _ _ <br /> <br />Just SCJP (but 93%)
    Amber Beerends
    Greenhorn

    Joined: Jun 11, 2008
    Posts: 5
    Maybe I'm oversimplifying, but my assignment clearly says you don't get extra credit for exceeding the requirements and there is no statement that says I "must" validate the port number. Would it really be considered wrong to just let the server app fail to connect (crash?!) if the port number is invalid?

    I guess what I'm wondering if the book's example is planting seeds of non-existent requirements simply because the book's author choose to do something a certain way.
    Andrew Monkhouse
    author and jackaroo
    Marshal Commander

    Joined: Mar 28, 2003
    Posts: 11531
        
    100

    Hi Amber,

    It is recommended that you use one thread per question. This topic is about whether my book has enough / too little / too much information for the SCJD assignment.

    Originally posted by Amber Beerends:
    Would it really be considered wrong to just let the server app fail to connect (crash?!) if the port number is invalid?

    This question really deserves it's own topic so it gets the right audience and gets answered appropriately.

    But to answer it in context of Mathew's question:

    Originally posted by Andrew Monkhouse:
    [QB]
  • In some parts of the book we made our book's assignment a little more difficult than the Sun assignment.
  • In some parts of the book we made our book's assignment a little easier than the Sun assignment



  • Regards, Andrew
    Amber Beerends
    Greenhorn

    Joined: Jun 11, 2008
    Posts: 5
    Sorry, Andrew, I wasn't really trying to ask that as it's own question. It was more of a rhetorical question. My point was more my second statement:

    I guess what I'm wondering if the book's example is planting seeds of non-existent requirements simply because the book's author choose to do something a certain way.


    So, regarding the previous poster saying that your PostiveIntegerField code could be copied directly, I was trying to point out there is nothing in the assignment saying that the checking done by PositiveIntegerField is necessary which supports your point about book's code being more difficult than the Sun assignment.

    IMO, in that case, the book solution is going above and beyond the call of duty, but I don't think it qualifies as giving "too much information" since the information is not even really required! I do wonder, though, if those kinds of more intricate details will trip up the more inexperienced developer and make them think that is required even if it isn't!

    FWIW, I've been coding Java for 11 years but most of my experience, but I haven't done anything regarding RMI or sockets for 10 years so I found the chapters covering those topics to be really useful. The rest of the design ideas closely mirrored what I had already planned to do based on my own reading of the assignment. I think that if someone was new to Java, they would have a harder time understanding all of the code and explanations in the book and would, at the least, take a much longer time to complete the project. Also, I'm sure most of the information in the book could be gleamed from other sources. It would just take longer to find it all that way so the book becomes "one stop shopping" for the relevant info.
    rinke hoekstra
    Ranch Hand

    Joined: Apr 06, 2007
    Posts: 152
    I think Amber is right. I had the feeling that quite some things in Andrew's book were a little bit overdone, in that way that they are not needed for the assignment because there is no explicit requirement for it, and because (to my opinion) it is not the most simple approach.

    Of course, if I would have written the book, I also would not have choosen the most simple approach in all cases, because if you want to write a book about it you also want to show several sollutions and possibilities.
    Matthew Flint
    Greenhorn

    Joined: Oct 25, 2007
    Posts: 14
    Thanks, Andrew, for not being too offended by this thread - and for taking the time to reply. You have put to rest my main concerns about the book providing a boilerplate solution.

    To be honest, I don't think my concern is with the book in particular, but more to do with influential texts in general, and the SCJD requirement to "submit your own code". It's all about drawing the line between using a piece of reference material as a learning tool or a plagiarism tool.

    I'm not suggesting that everyone should be totally virtuous, and develop their SCJD as if on a desert island with no reference material whatsoever. Nor do I object to people in the Saloon asking for guidance about very specific problems. This is supposed to be a 'real-world' assignment, and in the real world we do use reference books and speak with colleagues.

    (Actually, I don't know where I'm going with this argument! )
    Ken Krebs
    Ranch Hand

    Joined: Nov 27, 2002
    Posts: 451
    I didn't know Andrew had a book out on this but I can say that his comments on this forum were quite helpful to me when I did this cert in 2004.

    To those who are tempted to do a lot of cut and paste of other peoples ideas just to get the cert, YOU ARE ONLY CHEATING YOURSELF.

    The most valuable thing about this cert is the learning.


    "The journey is the reward."


    kktec<br />SCJP, SCWCD, SCJD<br />"What we observe is not nature itself, but nature exposed to our method of questioning." - Werner Heisenberg
    Sum Nejm
    Greenhorn

    Joined: Sep 20, 2007
    Posts: 22
    Just one question. Having read the book myself... where's the satisfaction in copying something somebody else did? Isn't it a software developer's wet dream to do something from scratch?
    Bob Ruth
    Ranch Hand

    Joined: Jun 04, 2007
    Posts: 320
    I think that is a matter that is up to the individual. If someone takes their assignment and sits down with the book and attempts to hammer it ou like a cookbook solution, they may indeed produce something that works. But what is their level of understanding? On the other hand, someone else might read the book and absorb the information and then turn and take on the assignment applying what they have learned. That one will understand the underlying concepts.


    ------------------------
    Bob
    SCJP - 86% - June 11, 2009
    Renu Radhika
    Ranch Hand

    Joined: Oct 21, 2005
    Posts: 243
    I am planning to take SCJD.Since Java 6 is out.Will SCJD also be based on java 6.In that case is Andrew planning to give out a new edition of the book?Please reply.
    Andrew Monkhouse
    author and jackaroo
    Marshal Commander

    Joined: Mar 28, 2003
    Posts: 11531
        
    100

    Please ask a question in one thread only. Posting in 2 threads just annoys people.

    No, we are not looking at a book for Java 6 at this time. We may look at a book for Java 7 - that is yet to be decided.

    - Andrew
    Marius Snyman
    Greenhorn

    Joined: May 04, 2006
    Posts: 14
    I personally find Monkhouse's book very helpful. I was forced into Java because of a business need. I did not get the time to come to terms with a lot of the basics of Java. In order to understand Java I took the SCJP, barely made it, and realized that it would make a lot of sense to pursue the Java certification path.

    I write middleware using EJB's, JPA , etc, and therefore do not get to use a lot of the basic development stuff (file IO, GUI, threading, etc..) but work a lot with Patterns, the services the Application Servers provide (pooling, persistence, etc..), and functionalities exposed by 3rd party open-source providers. Working with different technologies in this regard made me question a lot of the implementations out there.

    Working through Monkhouse's book I now understand a whole lot of those implementations better. I can also now appreciate the "otherness" of some of these implementations. Many of the basics of Java is refreshed and some concepts fastened more thoroughly in my mind.

    All in all I guess the material goes a long way to making me a better developer, and for that I am gratefull. I believe the book is worth every cent spent.

    I consider it an essential help in achieving my SCJD goal.
     
    It is sorta covered in the JavaRanch Style Guide.
     
    subject: "Just following the Monkhouse book" - really?!