This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I just ordered a copy of "Head First Java 2nd edition" as I want to learn with no previous programming experience, and I found out that there is a "HFJ: Your brain on java-a learners guide" edition. Do I need to start with the learners guide edition considering my zero background in programming ?
Yes opting for SCJP exam or study guide without basic knowledge is wrong.
Just go through HFJ, and i think then you will have a clear understanding of how things are working
and it will be helpful in following the exam study guide.
Hope this helps.
--Lost in preparation of SCJP and SCWCD--
"Start writing a new chapter, for if you live by the book you'll never make history." (Ben Sobel)
I've moved your question to the "Java in General (Beginner)" forum. Did you mean to post it in the SCJP forum, or are you planning to take the SCJP exam?
If you do not have any experience with programming at all, then you should learn that first before you start thinking about the SCJP exam. The "Head First Java" book is a good book if you want to learn Java. I don't have the book myself, so I can't really say how hard it will be if you have no programming experience at all.
I started with Java programming for dummies, then moved to head first java, now studying SCJP book. Worked for me.
I could not have understood head first very well without dummies book as I also started as a complete novice...
If you have friends/colleagues that program that really helps too, I work in a software company and my partners is an experienced C++ developer so he teached me programming principles and my colleagues help with bugs.
It might take a while to learn so be patient with yourself
Woohoo passed SCJP 1.6, that's the theory exam passed now for the practice ;)
Well, as i'm a young programmer, regarding that I haven't studied that much java from books, I dont know if i can tell you how to start.
But I have a point: I think that considering that you have no background in programming, consider this:
Try some beginner's books (Java programming for dummies is a start, according to Mr. Westland), and dont try to learn it faster, try to really understand how does it works and why you need to do some procedures when programming.
You'll see, if you continue to programming, that it is much more important for you to know why you do something than only knowing how to do it right.
I would suggest for you to take a study on the programming process, you see, here in Brazil, last thing we learn on software development graduation is the java language.
I'm not trying to tell you that you'll need to know a lot of things before learning java, but you cant expect to make big softwares in few time...
Take your time for your study, if possible study the OOP before going into java, you'll understand it more clearly.
I can't tell you much, Because i'm only 16, and learned java by myself only on looking to codes and trying to do it (of course I had an base on programming before that).
So, i miss a deep study only in java theory, because in the practice i've learned how to use java to supply the needs of the software, and no book will learn you how to logically use the language, you can be a master at java's theory, but if you want to develop good software (not only on java), you need to have a bigger capacity to think logically, and to learn new things every day.
That's my point.
I pretty much think that I haven't helped you in nothing, but worth the try!
Oh yeah! almost forgot! welcome to the ranch fellows!
Joined: Apr 06, 2009
Lucas is right too that you need to understand principles...that is what my partner always tells me. He said in hindsight he would have learned me another non OO languages before Java as you need to learn OO principles on top of learning programming.
Besides talking to people I haven't found a solution for that yet. Good ole wikipedia explains some things Amazon sells books on the ideas and principles behind software not sure if that is any help.
C is an old learning classic but there are many more non OO languages...there are even special study languages. Unfortunately people don't agree on THE learning language. If you know people that can program they can help, as they can help with syntax questions.
RE practise I started messing about myself to make a small piece of software that can read from a textfile, put the text via collections into a drop down box and display a picture. In my case a chicken with a picture, use drop down box to see picture of different chicken from textfile. Doing lots of stupid stuff asking stupid questions along the way but that's the way to do it. Give yourself a gold star for every new bug you cause
Most people just seem to start trying. Once you get better there are lots of site asking for people to help with programming on places like sourceforge but you need a certain level for that (one I don't have yet) but maybe messing about trying things will give you an idea for something to practise the principles and basic classes. Depends what you're interests are.
Wish I had a clear answer for you but...doesn't seem to be that simple only consistent answers are Practise Ask Practise Ask...and understand principles of both programming and a language. SJCP can help you with that further down the line.
PS thanks for the welcome hehe
Joined: Oct 13, 2005
I would disagree about learning "programming" first. You need to learn the principles of the programming paradigm you are using (in this case object orientation), then learning the syntax is secondary.
Syntax is much simpler than the principles (at least until you get to Java generics).
Similarly if you are doing some sort of manipulation you need to work out the algorithm and logic first, then syntax afterwards. Syntax is simpler than algorithms.
I suggest you " Java 2 : Complete reference " by herbert schildt to learn programming as well as Java.After completion of that book you can continue your learning with the books like Head First Java, Thinking in Java by Bruce Eckel.
This suggestion is based on my learning experience.
I am planning for SCJP5.0 So would require assistance in that from you all guys.
I am working on Struts framework for past 4 months.
I am currently studying Head First.
So would need assistance in how to plan my study in order to crack SCJP in flying colors.
Learning to crack SCJP
Joined: Oct 13, 2005
Welcome to JavaRanch kartikfuture Sharma.
But please don't add new questions like that so somebody else's thread. That would have been better as a new posting on our SCJP forum.
I agree with Campbell, learning the concepts first would be the most helpful as those same concepts can be applied to any OOP language instead of just Java. I would start with the Java Tutorials on Suns website, they start off very easy and have many examples and tons of "concept" explanations on Objects, polymorphism, and more. I would then read the "campfire" stories on this site which explain many of the difficult concepts in a very friendly manner. Next read some of the books suggested on this post and finish up with the "rules roundup" (also on this site) to test your understanding. Only after that would I suggest studying and planning for the SCJP. The certification is only as valuable as the amount you learned to obtain it so take your time and get a full understanding, this will help you in the real world and with other languages/tools you will have to learn.