Syllabus & Study Plan

What the Java course covers, what you'll be able to do by the end, and a suggested ten-week schedule with a checkpoint each week. Install a JDK first (lesson 2) — writing and running code yourself is the fastest way to learn.

Who this course is for

Complete beginners who want a solid first programming language, students preparing for Java-based university courses or certifications, and developers from other languages who need modern, idiomatic Java for work.

Learning outcomes

By the end of the course you will be able to:

  1. Install a JDK, and compile and run Java programs from the terminal and an IDE.
  2. Use variables, primitive types, strings, operators and type conversion correctly.
  3. Control program flow with conditions, switch expressions and loops.
  4. Organise code into methods, and use arrays and recursion.
  5. Design classes with constructors, encapsulation, inheritance, interfaces, records and enums.
  6. Handle errors with exceptions, custom exception types and try-with-resources.
  7. Choose and use the right collection, with generics, sorting and comparators.
  8. Write concise data processing with lambdas, streams, collectors and Optional.
  9. Model data with sealed types and pattern matching, and work with dates, files and regular expressions.
  10. Write concurrent code safely, test it with JUnit, and structure a project with Maven or Gradle.

Course outline

PartLessonsFocus
1. Getting Started01–04JDK, program structure, syntax
2. Variables, Types & Strings05–12Types, casting, operators, strings, maths, input
3. Control Flow13–17if, switch, loops
4. Arrays & Methods18–22Arrays, methods, overloading, recursion
5. Object-Oriented Programming23–35Classes to records, enums and the Object class
6. Exceptions36–37Handling and defining exceptions
7. Collections & Generics38–44Wrappers, generics, lists, sets, maps, queues
8. Functional & Modern Java45–50Lambdas, streams, Optional, pattern matching, dates
9. Real-World Java51–56Files, concurrency, regex, testing, build tools, project

Ten-week study plan

Plan on four to five hours a week, including time writing your own programs.

Week 1 — Setting up and first programs

Lessons 01–07.

Checkpoint: a program that converts a number of minutes into days, hours and minutes, with the result neatly printed.

Week 2 — Strings, maths and input

Lessons 08–12.

Checkpoint: ask for a name and a birth year, then print a formatted greeting with their age and the name in initials.

Week 3 — Control flow

Lessons 13–17.

Checkpoint: a number-guessing game with a menu loop, input validation and a limited number of attempts.

Week 4 — Arrays and methods

Lessons 18–22.

Checkpoint: a grade book: store scores in an array, and write methods for the average, highest, lowest and a letter grade.

Week 5 — Classes and objects

Lessons 23–27.

Checkpoint: an encapsulated BankAccount class with validation, a transaction counter and a static interest rate.

Week 6 — Inheritance and interfaces

Lessons 28–35.

Checkpoint: a shape hierarchy with an interface, an abstract class, records and an enum, all printable and comparable.

Week 7 — Exceptions and collections

Lessons 36–44.

Checkpoint: a to-do manager using a list, a map of tags and a priority queue, with custom exceptions for invalid commands.

Week 8 — Functional and modern Java

Lessons 45–50.

Checkpoint: rewrite last week's reports with streams and collectors, and add due dates with java.time.

Week 9 — Real-world skills

Lessons 51–55.

Checkpoint: load and save the to-do list as a CSV file, move it into a Maven or Gradle project, and write JUnit tests for its core logic.

Week 10 — Final project

Lesson 56.

Final project: complete at least four of the library system's challenges, then take the quiz and aim for 25 out of 30 or better.

Faster tracks

  • Coming from another language? Skim Parts 1–4 in a few days, then focus on Parts 5–9.
  • Know older Java (8–11)? Concentrate on lessons 03 (compact files), 14 (switch expressions), 32 (records), 40 (sequenced collections), 49 (pattern matching and sealed types) and 52 (virtual threads).

Practice resources

  • Playground — a starter program to experiment with.
  • Exercises — 35 fill-in-the-blank tasks and five programming challenges.
  • Quiz — 30 questions with explanations.