Learning Java

denisepen profile image Denise Pen ・3 min read


In the past few weeks I have been teaching myself Java. The languages I have worked with in the past (Ruby and Javascript) have been mainly for web development. I've decided that it's time to branch out and learn something new. I realize that Java can also be used for web development but it's also used for so much more.

Below is a list of references I have been using on my journey.

Introductory Book:
Think Java: How To Think Like A Computer Scientist

For anyone considering learning Java, this is the first resource you should examine. It's written by a computer science professor who was unhappy with the huge and complex textbooks first year computer science students were given. This book is only 266 pages (including appendices) and uses the Java language to introduce students to basic computer science ideas. Because it's so short it can be read rather quickly so you get a quick overview of the syntax of the language.

This book was a great intro to Java, object oriented programming in Java, and basic problem solving with the language. The language is presented in a very elementary and thorough way so the basics are extremely easy to absorb. If you're curious about the language and just want a quick peek to see if it's something you want to learn I highly encourage you to give this book a read.

Text Book:
Starting Out With Java

This is a text book used in universities for introductory computer science courses. Unlike the book above, this book is very thick (over 1000 pages) and chock full of detail. However, it is very easy to read. The concepts are presented in depth with accompanying illustrations. The end of the book also covers algorithms and data structures so this book can be used to prep for interviews.

I found myself using this book in tandem with the video course (listed below). Whenever a topic was presented in the video course I would look it up in this book to get more detail.

I have a hard copy of the book but the link above gives you access to the pdf version.

Video Course:
Udemy Java course

When possible, I like to supplement my learning with a video tutorial from Udemy. I am a visual learner and it helps me to see another person writing code, making mistakes, and discussing their approaches to a problem.

This course covers everything from the basic syntax of the language to working with databases, networking, building unit tests, and more.

I am only about 30% of the way through this course but from what I have seen everything is explained thoroughly and the pace is perfect for someone very new to the language. Also, the instructor and his team have responded to questions in less than 24 hours.

As I said, I am just beginning my journey to learn Java so this list is only the beginning. If you have any recommendations to add to my list, please feel free to leave them in the comments below.

Originally published here.


Editor guide
abrandell profile image

A great resource for learning Java is a free MOOC from the university of Helsinki. It's a two part course teaching general OOP and programming practices using Java.


I did part 1 & 2 a little over a year ago with no prior programming knowledge and got hooked.

Be sure to pick up 'Effective Java Third Edition' by Joshua Bloch as well as 'Concurrency in Practice' by both Bloch and Brian Goetz once you get more comfortable with the language.

Patterns of Enterprise Application Architecture by Martin Fowler is another great read, although it isn't a book revolving around the language itself.

denisepen profile image
Denise Pen Author

I just signed up for and started the MOOC. Thanks for the heads up!