DEV Community

Cover image for How I'm Learning Java From Scratch — The 2-Resource Setup That's Actually Working
karnVen
karnVen

Posted on

How I'm Learning Java From Scratch — The 2-Resource Setup That's Actually Working

Let me be honest with you.

This semester, Java is one of my subjects. But due to some personal reasons, I missed the beginning of classes — and by the time I was back, the professor had already moved well ahead.
I could've panicked. Asked someone to share notes. Hoped for the best before exams.
Instead, I did what any developer would do — I Googled my way out.
After testing a few resources, I landed on a combination that's genuinely working. No paid courses. No bootcamps. Just two free resources used the right way.
Here's exactly what I'm doing.

🎯 Resource 1 — Abdul Bari's Java Tutorial Series

If you've ever watched a tutorial and felt like the instructor assumes you already know everything — Abdul Bari is the antidote.

His teaching style is visual, patient, and remarkably clear. He doesn't just explain what something does. He explains why it exists and where it fits in the bigger picture. For someone starting from zero, that context is everything.
I use his series for one thing only: understanding concepts.
Whenever I hit something new — OOP, inheritance, interfaces, collections — I watch his video first. Every single time, before I write a single line of code.
🔗 Abdul Bari's Java Series — YouTube

Abdul Bari Java Tutorial Series YouTube Playlist

🏫 Resource 2 — University of Helsinki Java MOOC

This one is criminally underrated. I almost never see it recommended, which is wild because it's genuinely one of the best structured Java courses available — and it's completely free.
The University of Helsinki's Java Programming MOOC is a full university-grade course open to everyone. It's split into two parts — Java Programming I and II — and takes you from basic variables all the way to data structures and algorithms.
But what makes it truly different isn't the content. It's TMC — Test My Code.

University of Helsinki Java Programming MOOC Homepage

⚙️ Setting Up TMC — This Is the Real Game Changer

TMC is a plugin + CLI tool that plugs directly into your IDE and connects to the MOOC platform. Here's my exact workflow:

  1. Install the TMC plugin (works with VS Code and IntelliJ)
  2. Log in and download exercises directly through TMC
  3. Write your solution locally
  4. Run tmc test — it runs the actual test suite against your code right there in your terminal
  5. Run tmc submit — your result gets recorded on the platform

TMC Test My Code terminal showing test results

Every exercise has real test cases written by university instructors. You don't just think your code works — you prove it. Your scores are saved, your progress is tracked, and every submission builds a completion record.
That accountability completely changed how I study. It stopped feeling like going through tutorials and started feeling like actually shipping code.

🔁 How I Use Both Together

Neither resource alone is enough. Together, they cover everything:

🎯 Need to understand something? → Abdul Bari first.
💻 Need to practice? → Helsinki MOOC exercises.
📊 Need to track progress? → TMC submission history.

Bari handles the why, Helsinki handles the do. Together, it's the most effective learning loop I've found.

📍 Where I Am Now

Still early in the journey, honestly. But for the first time I'm making real, consistent progress instead of bouncing between resources and feeling like nothing sticks.
The TMC submission system keeps me honest. You can't fake a passing test.
If you're learning Java and feeling scattered or stuck — try this combo. It costs nothing, takes an afternoon to set up, and the structure alone is worth it.

I'll be documenting this Java journey as I go. If you've used either of these resources — or have suggestions — drop them in the comments. Always happy to learn from others doing the same thing 👇

Top comments (0)