Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How Long Does it Take to Learn Java for a Complete Newbie? [closed]

Tags:

java

java-me

People also ask

Is it hard to learn Java for a beginner?

Java is a well-structured, object-oriented language, which can be considered easy for beginners. You can master it quite rapidly, as there are many processes that run automatically. You don't have to delve into “how the things work in there” too deep. Java is a cross-platform language.

Is 2 Months enough to learn Java?

No. Because there is no such thing as Java programming*.

Can I learn Java in 4 months?

The learning of Java mission is definitely possible to complete in 3 to 12 months, however, there are many nuances that we will discuss in this article.

Can I learn Java in 20 Days?

Learn Java programming with this self-paced course specially curated by Sandeep Jain (Founder & CEO GeeksforGeeks) for beginners to help them grasp the basics of Java in just 20 days! Enroll now in our Java Programming Foundation – Self Paced and improve your skills.


10 weeks? Apparently you can do it in 24 hours!

http://www.amazon.com/Sams-Teach-Yourself-Programming-Hours/dp/0672328445

EDIT:

Okay, so only 1 person found my answer amusing, but not amusing enough to upvote. The real question is how good do you need to be in 10 weeks?

If you get yourself a good book (the one linked above has some good reviews on Amazon), then in 10 weeks you might be proficient enough to do something useful in Java, but it takes years to become expert. Any time spent between 10 weeks and several years will move you from beginner towards expert.

Oh and read Teach Yourself Programming in Ten Years.


OK, based on some of the previous answers, I am expecting to get downvoted for this, but, I think you are delusional to think you can learn, on your own, how to program in Java in 10 weeks with no programming background. No person, with NO programming experience, other than some sort of prodigy, is going to learn to program in Java or almost any language in 10 weeks.

For clarity, copying and running hello world from a book does not make you a programmer. Hell, it will most likely take days just to get that working in some IDE.

Now, can you study and potentially pass some test? Maybe, but that depends on the depth and format of the test.

If I asked if I could become a doctor in 10 weeks, I would get laughed at for asking, so I am somewhat surprised at the answers that indicate that it is somewhat possible. I can stick a bandaid on my daughter now, but it hardly makes me a medical professional, it just means I managed their version of hello world.


The main question is whether you've done any programming in the past since that may be the main effort. I would suspect that if you had not, you could get by but not necessarily do well. You indicate that you didn't have any programming experience, so this is where you are going to have most problems and spend most of your time. Java would not necessarily be faster or slower to learn than other similar languages.

Sun's Java tutorials are great, but unfortunately programming is one of the things where practice is necessary, and that depends on your free time. It's also necessary to stop and practice frequently rather than after reading half a book. If you devoted 10 weeks full time to it - yes, it's quite doable for some people. After all, college students become passable developers in one academic year where they take other unrelated courses.

I would focus on figuring out Java fully first without trying for J2ME. Then you can make the switch.

In addition, realize that there's a big difference between the language and the standard library. The important thing is to learn the language. There are certain standard library calls that everyone uses and are critical to learn, but they're not part of the language. However, you'll never really know the entire library (Though you'll learn from exprience). It's more important to learn how to find the functionality that you're looking for then to know exactly what it is or where to find it. The important thing is to avoid reinventing the wheel.

Also, realize that you may only be a passable developer at the end. Experience takes time and often can't be hastened.

In addition, even if you learn to program you will miss some of the critical general CS knowledge like data structures and algorithms. Programming books rarely teach that, you will have to learn that yourself (see, for example, the TopCoder tutorials).


Okay, there are a lot of people here saying, "yes" and "yes, but it will be hard" so I'll differ.

No.

The problem isn't "learning Java" in 10 weeks, because I think that by the time 10 weeks is up, you'll be able to program some things and have an idea of what to do to solve some simple things.

But that won't make you ready for a J2ME fast track course. Fast track courses tend to be for people that have a strong background in the prerequisites. You might be able to do many of the things as you are going along, but without the background to understand the why of what you're doing, it will seem like a lot of semi-random things to memorize by rote, and will likely quickly vanish.

Basically, I think it just takes time: time to let lessons sink in, time to experiment and fail a few times so that the why suddenly jumps out at you...

Ultimately, I suspect that you could get through it, but that you would not end up being very proficent at all. (the final two paragraphs of Uri's post say it all.)

I don't want to be a complete downer, and I definitely hope you do well and succeed...but I would hate to bet money on it.

(Understand, I don't know you from Adam...so I'm making statements based on my experience with how it was for me, and people I've worked with...so this isn't a slight against you...just an observation that this is a very big meal you're setting down to eat.)


Learning to program for the first time is kind of like learning a foreign language. You will easily be able to recreate the phrases you are taught, but you will lack the understanding of the context for why it is done that way, and will thus be unable to solve new problems effectively. It simply takes time.

If you're a first-time programmer, I really can't recommend Java. Python would be much better (disclaimer: Python fan-boy, but for good reasons).

However, I don't think a beginner could do much better than Head First Java


The main problem you're having is that you're learning programming for the first time with Java and I think Java isn't the best language to start.

I suppose that you're addressing a work project, Is this the case? That pressure might make things worse. Depending on how complex the project is you might success but learning Java in 10 weeks without background knowledge is another issue.


I teach Java Programming at a high school, and our course runs 14 weeks. This is enough time to give students a solid foundation in object oriented programming, but students are not experienced enough to develop and large projects or anything too complicated.

Many schools use the textbook by Lambert & Osbborne:

Lambert, K. & Osborne, M. Fundamentals of Java: AP Computer Science Essentials for the AP Exam. 3rd ed. 2006. Thomson Course Technology.