Software You Need

You need a current JDK and an IDE. See software.

Java Tutorials

The Official Java Tutorials by Oracle. Covers the Java language, including advanced featues.

  • Download the full tutorial and run on your computer, for easy access.
  • The Really Big Index is best place to find things. Bookmark it.

W3Schools Java Tutorial many short sections & interactive coding examples. This tutorial has less reading than Oracle’s Java Tutorial.

Online Courses

Complete Java Developer Course on Udemy excellent, in-depth course on Java and OOP. But not free; sale price 300 Bt.

  • Udemy has many Java courses, including some free ones.

Coursera has several Java course series. Good ones are:

Java Programming Fundamentals by Galileo University on edX is a good course.

Java Code Geeks a lot of Java learning material, some very advanced. Not a good place to start learning Java, but useful when you want to know something in depth.

Codecademy Learn Java partially free course covers Java basics. Has a nice interactive coding editor where you can enter Java code and have it evaluated.

Hyperskill.org by IntelliJ has interactive Java lessons and programming problems, rated by difficulty. Some interesting problems:

  • Smart Calculator (medium)
  • Linear Equation Solver (medium)
  • Readability (hard)
  • Blockchain (very hard)
  • Contacts (hard)

Books

Required: Big Java by Cay Horstmann. Easy to read book by professor who has written many Java books, including Core Java. Sixth edition includes Java 8 streams, lambdas, and other features, but Fifth edition is OK for this course.

Recommended: Object-oriented Design and Patterns, 2E by Cay Horstmann.
Chapter 1 is a Crash Course in Java. If you learn to code quickly, this is great.

Think Java free online and downloadable book. Covers basic Java syntax, not much OO or advanced features. Many code examples.

Core Java for the Impatient by Cay Horstmann. More concise book on Java for people who know basic programming. Covers only the Java language, not O-O or programming concepts. Useful as reference.

Modern Java in Action, 2E. Covers newer and more advanced Java features. Another great book, part of Manning’s In Action series.

Not so Good

Learn Java Online collection of Java tutorials, with interactive exercises. Some exercises look tedious and not very good code.

Interactive Java course in IntelliJ. The course is repetitive and boring, spends too much time on trivial tasks.