Core Java 2 - Volume I - Fundamentals, 6th Ed.
Guidelines for the Future
Take Advantage of the Web | Pick
a Specialty | Books and Mags | Professional
Membership
Certification | Be
Open | In
Closing
Some of you have very confused looks right now. If you've taken my advice and ran out to the bookstore to get "Core Java 2" and have been following along, using this site as a backup or as Cliff notes, then you're asking yourself, "Where's chapter eight? Each section thus far has corresponded to a chapter in the book?" Well, suffice it to say, you've had your hand held long enough. The previous seven chapters come pretty close to a first year one semester programming course, so I figure it's time to let you go it alone. Time to go and crank out the work you need to do to become a proficient Java programmer on your own.
People with the book will understand that there is no real way to paraphrase, shorten, or crib note the last five chapters. I will mention each topic briefly below, then I will try to give you some hints and tips to help you in your quest to become a working Java programmer. The Sun Micro Certs, the major mags, books, and the benefits of developing a specialty. I'll try to give you a basic framework for a path that will lead you being a true Java guru.
What Now?
Now you do one thing and one thing only. Finish the Core Java 2 book. Just because I've stopped here doesn't mean you should stick Java Programmer on your resume and run out for three more books. The remaining chapters cover the basics of the Event handling model in Java and will show you how to read mouse events, keyboard events, and write robust GUI programs. You'll learn about components and how to build a GUI with menus, scroll bars and buttons. Best of all it's fun.
Then you'll move on to applets so you can attach your code to some HTML and run it anywhere on the web (Well, almost anywhere). Then you will learn about Exception handling and Error traps. You need this to be a pro. The book then finishes with an explanation of File I/O. This is crucial. You will never have a toy program in a professional setting. You will need to know how to save your objects, or at least your data, in a file that can be read again later.
It's imperative that you finish this book out! Yea it's long, yea it's tedious, but there is no substitute.
Then what? Well, we're not ogres after all. Pat yourself on the back. Most computer folks couldn't get past chapter 6 without their brain exploding and even most pro programmers would be shaking their heads after that Component chapter (for those w/o the book Chap 9 was 160 pages of hard core GUI programming). Give yourself a break. Go to the Sun site and buy yourself a T-Shirt. Best of all, if someone asks you if you are a Java programmer this coder thinks you have the right to say "Yes."
Alright, then what? Not to sound like a commercial for Sun Micro Press, but... Your best bet is to run out and buy the "Core Java 2" Volume 2. This book really gets into what you need to know to be a pro. Threads ( remember the fork command C programmers? ) will show you how to run and control multiple processes. JDBC will show you how to interact with a database like Oracle or MS SQL. I think this is very important. Advanced Graphics will take you deep into the Graphics2D and also introduce you to 3D and Drag and Drop. It's a tough book, but if you're patient and absorb and know the contents of both Core Java 2 books there is nothing, and I mean nothing, that you won't be able to handle.
Note: As of this writing the 6th edition for Vol 2 isn't out yet. Make sure you get the latest edition!
Again, what after that? Now the flood gates open. You have the knowledge to specialize. You know the Java lexicon. You have what it takes to program in Java at any level. Pretty Cool. You could get a job as a programmer. You could be a web programmer. You could join that team at work that's writing a Java app and bang out that promotion. You have a leg up with knowledge of a popular open system web development tool. Type "Java" into a Monster search. Do you think you'll ever be unemployed?
As far as learning the language, and then continuing your Java education, nothing is more valuable than the resources out here on the web. Whether it's assistance for certification, tutorials (The java.sun.com tutorial is priceless), online magazines or just example code, Java permeates the web. I'm not going to list a zillion links here, but if you go to yahoo and search Java you will get so many pages your head will spin. Here's some gooduns...
The Java Language Specification
A Concentration game written in Java
(You can grab the source and see how it works!)
Trust me, there's tons more. Seeing as this is a web resource I am probably preaching to the converted, but exploring the web for all things Java is a great way to get comfy with all the terms, areas, products that have to do with our favorite language.
Get this through your head now. If you don't you will be a miserable person for the rest of your programming career. YOU WILL NEVER KNOW EVERYTHING ABOUT JAVA. No one does. Gosling doesn't. Like any profession that's worth doing there will always be changes, additions and new ways of doing things. You have to resign yourself to the fact that in order to be a computer programmer in 2004 and beyond you will be constantly learning, constantly doing books and constantly scouring the web for inane example code. It is the nature of the beast.
What we've gone over here is the first grade. Building blocks. You've learned how to read. Now it's up to you to take that knowledge and build on it, and build on it, and build on it. Computer programming is constant learning.
Now, that said, you CAN know everything about particular areas. If you pick a topic, GUIs, Java Beans, JSP and Servlets, JDBC programming, ...anything and wring every little bit of information you can out of it you can set yourself apart from your counterparts. Most programmers will have a general knowledge, or at least be able to speak intelligently, about almost all major topics. They'll know what CORBA stands for, but never did a distributed object. They'll tell you about an obscure method in a JDBC Class, but never wrote a database program before. These guys are all over the place. Don't be one. Learn the basics of the language and then specialize.
Don't be too narrow. Don't say I'll do just GUIs and never add any functionality. Don't say I'll just do JSP and backend Servlet stuff and not know how to write an application. I have a feeling you know what I mean by now. Have a wide breadth of info in that Java brain of yours, find a niche that suits you, and wring all of the juice out of it. Knowing something cold is the greatest. There's no "Oh I don't know how to do this...", and running out to buy 11 books. You know it, you do it.
As a programmer you know the warm and fuzzy feeling you get when surrounded by technical books. After you run out and get Core Java 2 vols 1 & 2, you're going to want and need a little more.
First, go out and get some good reference books. Java makes it easy to look up API stuff on the web of course, so this isn't mandatory, but it's always nice to have that reference book handy. Two are invaluable. The first is The JFC Swing tutorial from Addison-Wesley. It goes in depth and gives you info on things the Core books, as a survey, didn't have time to cover. Secondly, go grab Thinking in Java from Prentice Hall. You will know a good deal of what's covered because you've done the Core books, but the way they approach OOP and class design, plus the wide areas (JSPs, Servlets, RMI, EJBs) they cover are succinct and to the point. It's worth it.
Now as far as magazines are concerned I only look at a few and subscribe to one. The Java Developers Journal is a good mag with a lot of example code online and interesting and informative articles. They're all good so pick a month, go to Barnes & Noble, buy a bunch and decide which one you like. You can't go wrong.
I'm not going to beat this to death, but I think it's a good idea to be part of a professional org like the ACM or the IEEE. I'm an ACM member and they approach topics from the Comp Sci angle of systems. You need a degree and some work experience, but if you fit the bill it's well worth it. Go to a few local meetings, network a little, maybe do a small project for the org. Why did you become a programmer if you don't join a few exclusive clubs after all?
Plus, the people in these groups are VERY Java friendly. They're on board with the idea of open systems and GNU and won't be too stuffy. These are the people who create. They care about the industry and want to work towards making it better for everyone involved. Joining a group like this is well worth it.
You've done the work. You know the basics cold. But how do you prove it to an employer in a short period of time? Get the Cert. The Sun Certified Programmer for Java 2 Certification will be a piece of cake for you if you've done the two Core books. Go grab an exam book (Java 2 SCJP Study Guide is the gold standard) to become familiar with the format of the test, take a few example tests, and go get that stupid piece of paper. Any Kathy Sierra book gets the job done for Java certification. She's a SUN master trainer and helped develop the exam. She also founded Java Ranch, which is another priceless resource for learning Java and preparing for the SCJP exam.
The best thing about it is the price. SUN isn't like Novell or Microsoft. They're not out to make a buck, they're out to give employers a way to know you're competent and to give us a way to show we've got the goods. As of this writing the test (310-035) only costs $150. Compared to some of the nonsense out there (4 tests at $300 a pop...) this is a STEAL, and it paves the way for you to move on to other, more specialized certifications like the Developer cert, the Web Component Developer Cert or the Business Component Cert. It's the way to go and lends instant credibility to your work and resume. I'm a SCJP, and am doing my SCWCD as you read this. It's worth it. It not only keeps you current, but you always have a way to show that Sun Microsystems has your back. You also get access to the certified logo and all kinds of Java swag, like pins, buttons, shirts and whatnot. As you can see, mine is put to good use.

If you're looking for something else, then try the smaller certs at Brainbench. It's always good to have a little backup and might save you from answering twenty-seven goofy questions in an interview. It's worth it.
Now, I'll just toss out this little piece of advice. Be open about your Java knowledge. Help others and answer all questions honestly. If someone brings up a topic you want to pick their brains about they will be much more willing to fill you in if you've been open and honest in the past. Give people example code. Job security is not worth being a jerk, and no matter how highly you regard your skills everyone can be replaced. Everyone. Be open and helpful and realize that we're all in this together and there's always enough to go around. Not to sound like some peace-button wearin pothead type, just don't be an asshat and you'll get ahead. Nuff said.
Stick a fork in this little primer cause it's done. I hope you got some good use out of it. I hope you use some of the resources I tried to combine in one site, mags, links, tutorial, good books, etc. I hope you enjoy having Java as your new weapon. I hope you come back for reference or to check out any updates or additions. I hope you use my email link to write me and ask me questions about Java or these pages. I hope you get what you want, be it a programming job, a teaching gig, or just the knowledge that you know Java pretty damn well. I hope you're all happy and well. Peace out.
Send mail to lars@sorcon.com with
questions or comments about this web site.
Copyright © 2004 Sorensen Consulting