Java From Scratch - Beginner to OSS Contributor¶
From "I have never written code" to "I can clone a real Java project, read most of it, and submit a pull request."
Who this is for¶
- You have never written code, OR
- You have copy-pasted Java code from tutorials but couldn't explain it line by line.
That's it. If you need to know something, this path will teach it.
What you'll need¶
- A computer (macOS, Linux, Windows).
- A text editor - VS Code or IntelliJ IDEA Community Edition (free, excellent for Java).
- A terminal.
- About 5 hours per week. Path is sized for 4-6 months at that pace.
Why Java¶
- Battle-tested. Java has run banks, telecoms, e-commerce backends for 25+ years. There's no shortage of jobs and OSS.
- Strong, enforced types. The compiler catches a class of bugs that languages without type-checking find at runtime.
- Excellent tooling. IntelliJ IDEA's free Community Edition is one of the best programming environments ever built. Maven and Gradle are mature. JUnit, JFR, async-profiler are top-tier.
- The JVM ecosystem. Beyond Java itself, the JVM hosts Kotlin, Scala, Clojure, Groovy. Skills transfer.
How this path works¶
Each page does one thing: says what you'll learn, shows code, walks through it line by line, gives an exercise, ends with a Q&A. Do the exercises. Reading without doing won't stick.
The pages¶
| # | Title | What you'll know after |
|---|---|---|
| 00 | Introduction | What we're doing and why |
| 01 | Setup | JDK installed, hello world, JShell |
| 02 | First real program | Variables, primitives, strings |
| 03 | Decisions and loops | if, for, modern switch |
| 04 | Methods | Java's word for functions |
| 05 | Classes and objects | Everything-is-a-class |
| 06 | Collections | List, Map, Set |
| 07 | Exceptions | try/catch/finally + try-with-resources |
| 08 | Records, sealed, pattern matching | Modern Java's superpowers |
| 09 | Generics | Type-safe collections |
| 10 | Tests | JUnit 5 |
| 11 | Packages, modules, Maven | Using code other people wrote |
| 12 | Reading other people's code | The bridge |
| 13 | Picking a project | What "manageable" looks like |
| 14 | Anatomy of a Java OSS repo | Case study |
| 15 | Your first contribution | Workflow + PR |
Start with Introduction.
Print this path
Want to read offline or archive? Open the printable version — every section of this path concatenated into one page, styled for paper. Use your browser's Print → Save as PDF.