This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
Hi, I have been reading "Head First Java" and it is very good so far, I just ordered "Java in a nutshell" to hopefully organize things a little more with my studies. But I was wondering what the general (or maybe even specific) process is of teaching yourself to become a master at Java or programming ? I don't know where to go once I finish the "Head First" books I got on java and java graphics, etc. I have a passion for games and I figured I would look up tutorials on text games, but I can't find any text game tutorials really, or very short ones with no code.
I was wondering what I should do exactly from going from reading my Java book, to programming code, to becoming a guru eventually. I need some kind of roadmap of study. The first part of my roadmap was to get these "Head First" Java books, but I don't know where to go after there. Please let me know if doing games to learn java is a bad idea, because there really isn't a market in my area for jobs making games, but I figured if I went with my passion, I would learn Java faster. Ok any guidance GREATLY appreciated. thank you. Derek
I also posted this question at the java forums here, but I received no answer.
I am not at all sure the Nutshell book will help you that much. Go to a library where they have a lot of programming books, and look at the selection. Some books (eg Thinking in Java™ by Bruce Eckel, Java™ how to Program by Deitel and Deitel) have lots of exercises at the end of each chapter. See whether those are any use to you.
Note there are more recent editions of both books than appear on those links. Get TiJ 4th edition or Deitel ≥6th edition.
Head First Java is a perfect introduction! I wish it had been around when I started. For more in-depth books, I agree with what Campbell recommended above.
If you really want to make sure you have the Java foundation down -- and become a "guru" -- consider getting a programmer certification (SCJP/OCPJP), because that exam really tests the details.
After that, I recommend exposure to patterns, starting with Head First Design Patterns.
By then, you'll have plenty of new ideas of your own!
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org
Joined: Apr 18, 2011
Thank you so much everyone for your help. I was wondering one more thing. After I know the language pretty well, where do I get ideas to create programs? Like word problems for a math book, I was looking for some kind of book that has a ton of ideas for you to program, and help with the solution, or not even help with the solution, I just need some way of having ideas to make programs to master my skill. Please any more advice greatly appreciated. Thanks very much for replying. Derek
Joined: Oct 13, 2005
Find a friend who needs a program. Does anybody do voluntary work which requires a database of volunteers, people assisted etc? See if you can set that sort of thing up. Design it (both the Java™ component and the database component) implement and test it. Train your friend to use it.
Beware: in many countries you must take precautions for data protection and such a database (once implemented) must be registered with the national data protection authorities. In UK we have to pay a fee of £35 annually for such "notification".
Joined: Apr 18, 2011
Thank you very much for that, those are great ideas and good advice. Thank you. Derek
Jesper de Jong wrote:... One of my first Java programs (in 1998) was an applet that could play chess.
One of my first Java programs was a "concentration" type game. The user clicked on 2 tiles to reveal an image, and if they matched, then the tiles remained open. Otherwise, they closed. A score was calculated based on how many seen and unseen tiles remained. There were a few different levels (tile numbers) and it kept high scores. (The "cool" part was when I added a "shuffle" effect for the tiles.)