Resources to learn Java

David Prieto
3 min readJun 29, 2022
Source: wikipedia

As a International Baccalaureate teacher in Computer Science my students have asked me fore resources for learning Java (and other programming languages) this summer. So this is the list I gave them from other teachers with some comments.

I’ll post them with a brief introduction each link.

My advise is not to buy anything by default. Use the free resources and work. If you spend 70 € in a book it doesn’t mean that the book is going to study for you.

http://www.bluepelicanjava.com/download.htm This is a free pdf book updated in… 2013 with a website that it’s quite old but it seems that can be helpful if you just want to use a pdf. There are other things but you will need to pay for them.

Another free pdf https://www.acs.uwinnipeg.ca/rmcfadyen/CreativeCommons/Java%20With%20BlueJ%20Sept%202019.pdf
https://learnjavathehardway.org/book/ This is a preview of a more long book but they have the first lessons for free.

https://grahammitchell.com/learn-java-oop/book/ The same but specifically about OOP.

They also have here some problems that you can do. They have less explaining and more “do it!” https://programmingbydoing.com/

Cave of programmers seems to have lots of videos and some of the courses are free. The java for beginners seems to have a lot of things

https://caveofprogramming.teachable.com/p/java-for-complete-beginners

if you want to dig up a little bit (maybe because your IA is using java) it’s a good idea to look into this:

https://caveofprogramming.teachable.com/p/java-design-patterns-and-architecture

This course talks about threading and concurrent stuff (remember concurrent! now it’s back!)
https://caveofprogramming.teachable.com/p/java-multithreading

Of course you can use the free courses from codacademy

https://www.codecademy.com/catalog/language/java

This course seems very good and also has quizzes

http://programmedlessons.org/Java9/index.html

Oracle (the creators of Java) did also some tutorials. There are more technical but you can find them useful

https://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html

Solo learn can be a bit “duolingo” but maybe is your tool for this. You can find the java course and others.

https://www.sololearn.com/learning/1068

Codingbat seems pretty good also for java and python. Very focused on it

http://codingbat.com/java

Want to learn the Finnish way? Here you have a course. It seems also pretty good and deep (at least in the part 2)

https://java-programming.mooc.fi/

This website seems to be deep and focus also in other CS topics that can be useful. I like how they emphatise in the part of “think”
https://books.trinket.io/thinkjava2/index.html

This is kind of a video game with coding stuff. You can choose from different languages. I’d use this as a test to check what you have learnt from others courses rather than a course itself. https://www.codingame.com/ide/puzzle/onboarding

I found this in IBM (the GIANT of computation) but I think it’s a bit short. https://developer.ibm.com/learningpaths/java-get-started/

This seems to have courses but I couldn’t find a good long structured course. https://codehs.com/

Other courses:

C++ by the cave of programming
https://caveofprogramming.teachable.com/p/c-beginners

Python videos:
https://www.youtube.com/c/Coreyms/playlists

Several intense courses online:
https://www.freecodecamp.org/learn/
Other material:

Sorting algorithms animation and explanation

https://www.toptal.com/developers/sorting-algorithms

Also remember that stackoverflow is cool for finding answer to specific problems and w3schools in my opinion is the best “cheat sheet” to know how to write that particular thing in that programming language.

Cheers!

--

--