

Ask HN: Course or book to learn Java? - jacobmalok

Just starting out in the comp-sci world, and decided I want to learn to build a simple Android application as a first project.  I'm giving myself 10 weeks, by the end of which I want to have sufficient Java knowledge to be able to understand the language, and hopefully implement some of it myself.  I plan on dedicating myself completely to becoming immersed in the language over the coming weeks, and plan on learning from this book:<p>"Head First Java" http://www.amazon.ca/Head-First-Java-Kathy-Sierra/dp/0596009208<p>I wanted to check with you guys if there are any better books for the purpose, or any courses that are open you'd recommend.  I'm a complete beginner to the world of programming languages, so need something tailored for that.
======
mgkimsal
That's not a bad book. Once you're in to that, you might have a better idea of
specific areas of Java you want to explore more (Android, as you say, or other
areas) and you can go looking for more specific books in those areas.

Bruce Eckel's "thinking in java" isn't bad either. Might be a bit dated in
some sections, but the basics are there. It' a creative commons free book,
IIRC.

~~~
rmk
+1 for Head First Java. The head-first series is really good, makes you _sit
up and learn_ :)

------
BSeward
Stanford has materials for a good Intro to Java course online: see
<http://j.mp/cSpFgw>

I think it's a great course for learning the basics. Its exercises and
assignments are gratifying, it holds your hand through early environment
setup, and it gets you writing actual, satisfying code in short order.

------
SkyMarshal
Program Development in Java: Abstraction, Specification, and Object-Oriented
Design - Liskov & Guttag

Teaches OO programming, just happens to use Java as the language.

------
brudgers
There's no reason to wait 10 weeks before you start trying to write solutions
to small problems.

The feedback from struggling to write something simple is invaluable.

The issue with Head First Java is that it skips the IDE.

The purist approach is likely to leave you completely lost when you load
NetBeans or Eclipse...which will be pretty much mandatory for writing
meaningful apps.

Head First C# is better organized as an introduction to programming in my
opinion because it covers the IDE and using a debugger...not that I'm
advocating C# as a language...just that the book is better written.

~~~
brudgers
Addendum: If you're just starting out learning to program, I would recommend
_Head First HTML with CSS & XHTML_ as a better place to start than the Java
book.

Coding HTML is probably _the_ fundamental skill. It teaches critical concepts
such as syntax and debugging in an extremely lightweight environment.

HTML allows the most inexperienced programmer to start solving meaningful
problems write away.

Most importantly, HTML is the best introduction to iterative development and
progressive refinement.

And it is utterly painless to learn.

