Sun Java Certification
Miscellaneous Forums/General Discussion/Sun Java Certification
All,
I would like to achieve a Sun Java programmer certification.
In particular, I need to know if there is some example of a real test which can be downloaded, from which I can verify my current preparation before to subscribe an exam.
I'm reading a couple of books at the moment, like for example 'java ist auch eine insel' (java is also an island).
I've reached some experience in java, and at the moment I'm developing a chat client, which interacts with a php script to get the messages from a mysql database. I have also a good knowledge about OOP.
Do you have some other book or tutorials to suggest me, which is expecially oriented to achieve a sun java programmer certification ?
If someone of you have already experience in this field, would you mind to share your knowledge ?
Thanks in advance,
Sergio.
I didn't even know they had a certification program! Wow.
I've reached some experience in java, and at the moment I'm developing a chat client, which interacts with a php script to get the messages from a mysql database. I have also a good knowledge about OOP.
You should probably use JDBC instead.
Do you have some other book or tutorials to suggest me, which is expecially oriented to achieve a sun java programmer certification ?
I don't know about getting certification, but these books are a must have for just about any JAva developer:
1) Bruce Eckel: Thinking in Java
2) Mark Allen Weiss: Data Structures and Algorithm Analysis in Java
3) Martin Fowler: Patterns of Enterprise Application Architecture
4) Rima Patel Sriganesh, Gerald Brose and Micah Silverman: Mastering Enterprise JavaBean 3.0
At least two of those books are available electronically for free (the first and the last).
It really depends on what you want to use Java for tho'.
I didn't even know they had a certification program! Wow.
http://www.sun.com/training/certification/java/scjp.xml You should probably use JDBC instead.
Well, I agree partially. I've read that for security matters, would be better to let a php script deal with database userid and password rather than a java applet.
Because the php runs on a server, and a java applet on a client, someone with a good packet sniffer can theoretically gain userid and password from a java applet.
The books links you provided have proven to be very handy, thank you.
Sergio.
I've read that for security matters, would be better to let a php script deal with database userid and password rather than a java applet.
That certainly depends. But why you would use a php script rather than a Java servlet is a bit strange.
Because the php runs on a server, and a java applet on a client, someone with a good packet sniffer can theoretically gain userid and password from a java applet.
As opposed to just getting it from the POST data? A Java applet offers significant benefits over a HTTP POST request - you don't even need a packet sniffer to get username/password - you just need to look at the HTTP header.
The books links you provided have proven to be very handy, thank you.
There are more, but those should get you started. Also it's hard to beat experience.
Why on earth would you want to use a Java Applet at all, is beyond me...
The java applications I write for a living are on the server, the UI on the browser uses AJAX to communicate through https. Sees reasonably secure.
Code is as secure as you make it (or not).
Java certification is even better if you can get your work to send you on the course and pay for the exam... (which is what I'm in the process of getting mine to do ;-)
The Programmers certification is pretty basic. It just requires you to know Java, OO concepts, keywords, syntax, and how things like threading work.
You need that before you can go up to the next level, which includes Developer certification, J2EE certification etc...
The Developer one is much tougher. You are given a project to "manage", which requires you spec'ing it, producing a design document, coding it, etc... and probably ending up with a nice UML diagram too :-)
@Flameduck and Brucey,
well I use a java Applet because the server where I have my website and database does not support java servlet :-/
I know I can experiment with servlet using a local installation of Xampp (which I have) or Tomcat; anyway, I wanted develop this chat program not only for learning, but also to make it available on my website.
That's why I've choosen php in this case. I guess I can learn enough Java for the certification, even without servlet - which I'll learn for sure after the exam.
In the chat program I'm making, the Java applet communicates with a php script with GET method, and there's nothing to 'sniff' but the nickname and password for the chat - the password is only a text field used to filter the entries that the php script will provide, thus it has nothing to do with the database password.
@Brucey,
sadly I have to pay for the exam.
Anyway, last week I wanted to check my skill, and I tried the 'Language Fundamentals' test found on this website
http://www.danchisholm.net/oct1/mybook/index.htmlI just take the Exam 1:
http://www.danchisholm.net/oct1/mybook/chapter2/exam1.htmland I was quite frustrated from the results :-/
Oh well. Still lots to read...
Sergio.
Hahahah. Those questions are retarded!
Hahahah. Those questions are retarded!
@Flameduck,
what do you mean ? Please elaborate :)
Regards,
Sergio.
There isn't a single one of those questions you actually need to know the answer to. Even the most rudimentary IDE will tell you when your syntax is wrong.
Indeed, but those are the kind of questions you are meant to know the answers to in the presumption that it makes you a top-notch-I'm-certified java programmer...
Yeah. That's why certifications aren't worth anything anymore.
sigh!
semar,
if you're serious about this Java paper, I think it might be better to go for the real thing in form of -- at least -- a university certificate or diploma. At the Open University, you can select Java focused courses to obtain a diploma in computing. It'll take you a year to get that, and I believe it will be much more valuable for you in the end than a Sun Java certificate.
Check this out:
http://www3.open.ac.uk/courses/bin/p12.dll?Q01D12As for books, I have quite a collection of Java books in my shelf, and I must say that none of them managed to make me fall in love with the language. Anyway, Bruce Eckel's Thinking In Java is --THE-- book on the subject and extraordinarily well written. "Head First Java" uses a completely different approach and might be fun to read, so I would also recommend it. I also have a copy of "Java ist auch eine Insel" in my shelf, but frankly speaking, it's not one of my favourites.
But if you take that university course, you probably won't need an additional book because they give you all the study material that you need to learn the language.
But in the end, the very best reference that you can show is a finished project. Either join a bigger open source project or write a useful AND pretty open source application that people can download from your website. This will say more about your skills as a software developer than a certificate, diploma or even a masters degree. And it became what companies like MySQL AB for example are looking at to make their decision whether to hire you or not. Just a thought. ;-)
Thank you Winni for your advice.
Well, the university route is quite difficult to take, because I've not so much time to spend in this task; but I do agree with you, that it would be the best way to gain a really better 'piece of paper' in the long run.
In regards to show a finished project, that is also a great idea, which I have already though about.
The question is: which kind of project to show ?
I've though, for starting, the following applications:
a chat applet (using a java applet, a php script, and a mysql database)
a game applet (for example a card game, playable over the net)
What do you think ? Should I better show something more 'company oriented', like pure database applications instead of 'game oriented' stuff ?
Best regards,
Sergio.
Since Java is a network-centric multi-threaded language that is heavily used for creating servers that communicate with databases, an app in that direction would probably quite company oriented. The problem here is that almost all books have exhausted examples for exactly that -- in Head First Java they actually describe how to write a Chat client & server, and there won't be a book without a chapter about databases and JDBC.
So in this regard, a card game playable over the Internet would stand out as something different and more interesting, I'd say. Besides the networking part, it would also contain a not so trivial GUI part, so you could show off more of your skills. ;-)
By the way, if you want to read a quite good book about networking in Java, I can recommend "Fundamental Networking in Java" by Esmond Pitt, published by Springer, ISBN 1-84628-030-3. The guy knows very well what he is talking about, but I'm afraid that the code samples in the book at the same time show what a horrible language Java can be even for its "core business" - especially when you compare it to a clean and efficient language like Python. But I don't wanna go into language bashing here, you have some good business reasons to learn Java and those cannot be talked away. ;-)
Coming back to your ideas, I think the card game is cool, and it could store some data about the players and their matches in a database. The chat applet should NOT rely on PHP scripts to communicate with the database, but rather take advantage of MySQL AB's JDBC driver. Unless, of course, you also want to demonstrate your mastering of that scripting language or cannot access the MySQL db directly over the net. Would it be possible for you to have an own Java app running directly on the server? If so, you could write an own server.
Thank you Winni, those are exactly the words I need to get motivated !
To answer your question abut rely on PHP scripts, I do made the first chat version using only an applet which communicated directly with a MySql db. Problem is, the userid and password to access the database, are the same used to gain access to the whole web site administration. Don't blame me, I can't do much in this department, since as a customer, I have to follow the rules of the web site provider. Same thing for jsp, they - the web administrators - don't want to install it.
That said, I've read that is not a very good thing to build an applet which uses userid and password, because since the applet will run at the client side, someone with a good skill and a net sniffer, could gain information about that userid and password.
That's why I have abandoned the idea of using an applet with direct access to database, and I've choosen the php route.
But as you notice, this would also show a php skill - at least, knowing how to do basic communications between Java, php and MySql.
Thanks for your encouraging comments,
Sergio.