Learn Java the Hard Way

“Learn Java the Hard Way” is a book with tutorial videos that teaches you how to code the same way a lot of us learned as children in the 1980s: typing in short, simple programs and getting them to work.

The exercises and explanations in this book are distilled from my more than fifteen years of experience teaching programming to ordinary students. Over 2,000 students have taken my classes and nine months later almost all of them knew how to code — at least a little!

If you have ever bought another Java book for “beginners” and been lost by page 10, then my book is for you.

Customer Comments

“You're the man! I've had such a hard time figuring out these fundamentals for years, professors and books really have no concept of the idea that maybe the reader or student has no background in programming, or just might want to know why things need to be typed in, rather than ‘just type this in, it makes your program function’. I can't thank you enough for writing this and hope for the best for you! Thanks again!”
-Clifton V

“I just want to thank you, Graham, for creating the first programming book (let alone that it's Java!) that I have been able to both understand and complete the lessons. I know that there are tech writers out there who can also program, but I've never been one of those guys. I have a liberal arts degree, fer God's sake! And I taught composition and drama! Not particularly technical areas. Anyway, you don't know how thrilled I am with your course and how programming (pre-OOP) is finally sinking in. And I have tried a lot of stuff.... You can evidently teach an old dog new tricks, trust me.”
- Steve G

“I purchased your book Learn Java the Hard Way and I was very pleased with it. You struck a balance between speaking in plain, simple English without watering down the core materials of an introductory course. I finished your book and now I find myself eagerly anticipating the release of your second book.”
- Joseph

Get Started

The Book + Tutorial & Answer Videos
  • 189-page PDF book. Really learn the basics of programming with Java, even if other books have failed you.
  • Java source code for all the example programs in the book
  • dozens of Study Drills to test your understanding
  • hours of tutorial videos (one per chapter) that walk you through the concepts and the example programs
  • hours of answer videos that show you solutions to every Study Drill. Trying to solve a problem and comparing it to an expert solution really helps!
The Book + Tutorial Videos
  • 189-page PDF book. Really learn the basics of programming with Java, even if other books have failed you.
  • Java source code for all the example programs in the book
  • dozens of Study Drills to test your understanding
  • hours of tutorial videos (one per chapter) that walk you through the concepts and the example programs
  • (but no answer videos)
The Book
  • 189-page PDF book. Really learn the basics of programming with Java, even if other books have failed you.
  • Java source code for all the example programs in the book
  • dozens of Study Drills to test your understanding
  • (but no videos)

Or, Check out with PayPal (Sort of.)

If you're still undecided, you should read the first sixteen chapters for free online or I can email you a sample book containing just the free chapters and the first few videos:

Email Address

What You Will Learn

In the final chapter you’ll write a not-so-simple text-based adventure game with levels loaded from a file. You should also be able to write a text-based card game like Hearts or Spades.

Frequently-Asked Questions

Who are you?
I am Graham Mitchell. I have been teaching Computer Science at Leander High School (near Austin, TX) since the fall of 1997. We are a pretty good school; consistently ranked near the top 5% of public schools nationally. I have a lot of students who are exceptional but most of my students are regular kids with no particular aptitude for programming.
What is included in the book?
The book is a DRM-free PDF. It contains 59 exercises that walk you through creating programs and explaining what each line does. All the tools you need to create Java programs are included or freely available. Also included is a zip file containing all the source code and text files used in the book.
Can I download a preview of the videos?
You can watch the first few videos on my Youtube playlist. If you just want to see if the videos will play on your computer, you can download the video for Exercise 1 (5.6 MB). If you request a sample book, some sample videos are included, too.
What format are the videos in?
They are h.264 video at 1280 x 1024, 15 fps in an MP4 container. Audio is 64kbps AAC-LC. Please let me know if the videos don't play on your system.
If I buy it now, will I get future updates for free?
Yes. Any future changes to the text and even new book formats like .mobi (Kindle) or .epub (iPad) versions are included for free. Also, if I add new answer videos or update the tutorials you'll get an email to download the new version.
I already bought the book! Can I buy just the videos?
Of course. Email me.
Are you affiliated with Zed Shaw, who wrote the excellent book Learn Python the Hard Way?
No, but I have spoken to him on the phone. He knows about this project and has given it his blessing.
Can I email you to get help?
Sure. Email graham@learnjavathehardway.org and I will do what I can.

“Learn Java the Hard Way” is ©2013–2015 Graham Mitchell