Java Programming Fundamentals — From Zero to Java Developer

Master Java 21 from scratch — syntax, OOP, data structures, and a professional dev setup

Your complete on-ramp to Java programming. Starting from zero — no assumed knowledge — this course walks you through installing JDK 21, configuring a professional IDE, and progressively mastering the Java language: variables, control flow, methods, object-oriented design, Java 21 Records and Sealed Classes, pattern matching, collections, exception handling, and an introduction to Maven and Gradle. By the end, you will be fully equipped to tackle the Enterprise Spring Boot Architecture Blueprint (JAVA-101).

$99 $19 81% OFF
4 CEU Credits
40 Study Hours (6 Weeks)
Beginner
6 Modules
36 Hands-on Labs
Course Tuition
$99 $19 81% OFF
CEU Credits 4 CEUs
Study Workload Breakdown (40 Hours):
Architectural Reading & Theory: 12.8 hrs
Hands-on Labs & Coding Drills: 23.8 hrs
Live Mentorship Cohort $150

Prefer live accountability? Join a guided 4–6 week cohort with weekly live faculty calls, 1-on-1 code reviews & capstone grading. Subsidized by Savadub Limited CSR.

Join Cohort ($150)
Subsidized Tuition: This course is made accessible at $19 through the Corporate Social Responsibility (CSR) endowment from Savadub Limited and partner sponsors.

Course Prerequisites

  • No prior programming experience required. A computer with internet access is all you need.
Part of Academy Track:
Enterprise Java Backend Engineering & Distributed Systems Stage 1 of 4 Courses in this track progression.
Access Lab Materials on LMS
Competency Matrix

What You Will Master

Install and configure a Java 21 professional development environment from scratch
Write, compile, and run Java programs using the command line and an IDE
Master core Java syntax: variables, operators, strings, control flow, and loops
Design object-oriented programs using classes, inheritance, encapsulation, and polymorphism
Use Java 21 modern features: Records, Sealed Classes, Text Blocks, and pattern matching switch
Work confidently with arrays, ArrayList, HashMap, generics, and exception handling
Understand Maven and Gradle project structures in preparation for Spring Boot
Detailed Syllabus

Curriculum Modules (6 Modules)

Explore the structured module breakdown, lesson outcomes, and practical lab exercises.

01

Module 1: Environment Setup & First Java Program

6 Lessons • ~5.8 Study Hours (0.58 CEUs)
~5.8 hrs 0.58 CEUs

Welcome to Module 1: Environment Setup & First Java Program. Understand the course roadmap, what you will build, how Java fits into the enterprise ecosystem, and why mastering fundamentals before Spring Boot is non-negotiable.. Learn what Java is, how it evolved from Java 1.0 to Java 21 LTS, the JVM model that makes Java platform-independent, and why Java 21 is the definitive version for modern backend development.. Step-by-step installation of OpenJDK 21 (Eclipse Temurin) on all major operating systems, setting JAVA_HOME, verifying the installation, and understanding why sdkman is the professional way to manage JDK versions..

00
Course Introduction — Zero to Java Developer

Understand the course roadmap, what you will build, how Java fits into the enterprise ecosystem, and why mastering fundamentals before Spring Boot is non-negotiable.

~60 min Lab Exercise
01
What is Java? History, Versions & Why Java 21

Learn what Java is, how it evolved from Java 1.0 to Java 21 LTS, the JVM model that makes Java platform-independent, and why Java 21 is the definitive version for modern backend development.

~50 min Lab Exercise
02
Installing JDK 21 — Windows, macOS & Linux

Step-by-step installation of OpenJDK 21 (Eclipse Temurin) on all major operating systems, setting JAVA_HOME, verifying the installation, and understanding why sdkman is the professional way to manage JDK versions.

~60 min Lab Exercise
03
IDE Setup — IntelliJ IDEA Community Edition & VS Code

Install and configure IntelliJ IDEA Community Edition as your primary Java IDE, including essential plugins, code style settings, and how to create your first Java project with correct JDK 21 configuration.

~65 min Lab Exercise
04
Your First Java Program — HelloWorld Anatomy

Write, dissect, and fully understand every token of the canonical HelloWorld program — public class, main method signature, System.out.println — and what happens when Java executes it.

~55 min Lab Exercise
05
Compiling & Running Java — javac, java & the Classpath

Understand the full Java compilation and execution pipeline: source code → bytecode → JVM execution. Master javac and java command-line tools, understand packages and the classpath, and see how an IDE automates this workflow.

~55 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Welcome to Module 2: Java Language Fundamentals. Learn how Java categorizes every piece of data into a strict type system. Understand the 8 primitive types, reference types, how to declare and initialize variables, and what var (local variable type inference) does in modern Java.. Work through every Java operator category with practical examples: arithmetic (including integer division and modulo), comparison, logical (short-circuit &&, ||), bitwise, assignment shorthand, and the ternary conditional operator.. Deep dive into Java's String type: immutability, the string pool, essential String methods, string concatenation vs StringBuilder, and the Java 21 Text Block feature for clean multi-line string literals..

01
Variables, Data Types & the Java Type System

Learn how Java categorizes every piece of data into a strict type system. Understand the 8 primitive types, reference types, how to declare and initialize variables, and what var (local variable type inference) does in modern Java.

~65 min Lab Exercise
02
Operators — Arithmetic, Comparison, Logical & Ternary

Work through every Java operator category with practical examples: arithmetic (including integer division and modulo), comparison, logical (short-circuit &&, ||), bitwise, assignment shorthand, and the ternary conditional operator.

~60 min Lab Exercise
03
Strings — Literals, the String Class & Java 21 Text Blocks

Deep dive into Java's String type: immutability, the string pool, essential String methods, string concatenation vs StringBuilder, and the Java 21 Text Block feature for clean multi-line string literals.

~70 min Lab Exercise
04
User Input with Scanner

Learn how to make your Java programs interactive by reading user input from the console using java.util.Scanner. Handle different data types, manage the newline-consumption gotcha, and build a practical interactive CLI program.

~55 min Lab Exercise
05
Type Casting & Type Conversion

Understand when Java automatically widens types (implicit casting) and when you must explicitly cast (narrowing), the risk of data loss, autoboxing between primitives and wrapper classes, and converting between strings and numbers.

~55 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Welcome to Module 3: Control Flow & Logic. Master Java's primary decision-making construct. Write clean if/else chains, understand the dangling-else problem, use single-statement vs block forms correctly, and avoid common boolean condition mistakes.. Master Java's switch construct in both its classic statement form and the modern switch expression form introduced in Java 14. Understand fall-through, break, the arrow syntax, and when to use switch over if/else chains.. Java 21 finalizes pattern matching for switch — one of the most powerful language features in recent Java history. Learn type patterns, guarded patterns (when clauses), null handling in switch, and how this replaces verbose instanceof chains..

01
Conditionals — if, else if, else

Master Java's primary decision-making construct. Write clean if/else chains, understand the dangling-else problem, use single-statement vs block forms correctly, and avoid common boolean condition mistakes.

~55 min Lab Exercise
02
Switch Statements & Switch Expressions (Java 14+/21)

Master Java's switch construct in both its classic statement form and the modern switch expression form introduced in Java 14. Understand fall-through, break, the arrow syntax, and when to use switch over if/else chains.

~65 min Lab Exercise
03
Pattern Matching with switch (Java 21)

Java 21 finalizes pattern matching for switch — one of the most powerful language features in recent Java history. Learn type patterns, guarded patterns (when clauses), null handling in switch, and how this replaces verbose instanceof chains.

~65 min Lab Exercise
04
while & do-while Loops

Master condition-controlled loops. Understand when to use while vs do-while, avoid infinite loops, and implement practical patterns like input validation loops and retry mechanisms.

~55 min Lab Exercise
05
for & for-each Loops

Master Java's counter-controlled for loop and the elegant for-each (enhanced for) loop for iterating collections and arrays. Understand when to use each form, loop variable scope, and iterating with indices vs values.

~60 min Lab Exercise
06
break, continue & Nested Loops

Take full control of loop execution with break (exit the loop) and continue (skip to the next iteration). Learn labeled break and continue for nested loop control, understand where to apply these patterns, and avoid anti-patterns.

~50 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Welcome to Module 4: Methods & Code Organization. Learn the anatomy of a Java method: access modifier, static vs instance, return type, method name, parameter list, and body. Understand the call stack — how method calls are tracked and how execution returns to the caller.. Go deep on method parameters: pass-by-value semantics for primitives vs pass-by-reference for objects, multiple return values via arrays or records, and method overloading — providing multiple versions of a method with different signatures.. Understand exactly where variables exist in memory: local scope, method scope, class scope, and how the JVM uses the call stack and heap. Avoid the common mistake of accessing variables outside their scope..

01
Declaring & Calling Methods

Learn the anatomy of a Java method: access modifier, static vs instance, return type, method name, parameter list, and body. Understand the call stack — how method calls are tracked and how execution returns to the caller.

~60 min Lab Exercise
02
Parameters, Return Types & Method Overloading

Go deep on method parameters: pass-by-value semantics for primitives vs pass-by-reference for objects, multiple return values via arrays or records, and method overloading — providing multiple versions of a method with different signatures.

~65 min Lab Exercise
03
Variable Scope & the Call Stack

Understand exactly where variables exist in memory: local scope, method scope, class scope, and how the JVM uses the call stack and heap. Avoid the common mistake of accessing variables outside their scope.

~55 min Lab Exercise
04
Recursion — Concepts & Practical Examples

Understand recursion — the pattern where a method calls itself — from first principles. Identify the base case (termination condition) and recursive case, trace the call stack, and implement classic recursive algorithms: factorial, Fibonacci, binary search.

~65 min Lab Exercise
05
Varargs & Static Utility Methods

Learn variable-argument methods (varargs) — accepting zero or more arguments of the same type — and how to design static utility method classes that group related functionality without requiring instantiation.

~50 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Welcome to Module 5: Object-Oriented Programming (OOP). Understand the class as a blueprint and objects as instances. Write your first class with fields and a constructor, instantiate objects with new, and understand what happens in memory when objects are created on the heap.. Distinguish instance fields from local variables, write instance methods that operate on an object's own state, and use the this keyword to resolve ambiguity between field names and parameter names, and to call one constructor from another.. Implement encapsulation — hiding internal state and exposing only controlled access. Master Java's four access modifiers, write proper getters and setters, and understand when setters are harmful and should be replaced by Records or builder patterns..

01
Classes, Objects & Constructors

Understand the class as a blueprint and objects as instances. Write your first class with fields and a constructor, instantiate objects with new, and understand what happens in memory when objects are created on the heap.

~65 min Lab Exercise
02
Instance Variables, Methods & the `this` Keyword

Distinguish instance fields from local variables, write instance methods that operate on an object's own state, and use the this keyword to resolve ambiguity between field names and parameter names, and to call one constructor from another.

~60 min Lab Exercise
03
Encapsulation — Access Modifiers, Getters & Setters

Implement encapsulation — hiding internal state and exposing only controlled access. Master Java's four access modifiers, write proper getters and setters, and understand when setters are harmful and should be replaced by Records or builder patterns.

~60 min Lab Exercise
04
Java 21 Records — Immutable Data Classes

Java 21 Records eliminate the boilerplate of data-carrier classes. One line replaces constructor + fields + getters + equals + hashCode + toString. Learn to declare records, add compact constructors for validation, implement interfaces with records, and understand when records are the right choice.

~65 min Lab Exercise
05
Inheritance & the `extends` Keyword

Model 'is-a' relationships with inheritance. Extend a parent class, call the parent constructor with super(), override methods, and understand the Object class at the root of Java's class hierarchy. Learn why deep inheritance hierarchies are an anti-pattern.

~65 min Lab Exercise
06
Polymorphism — Overriding & instanceof Pattern Matching

Polymorphism lets you write code against a supertype that works for any subtype. Master method overriding with @Override, dynamic dispatch, the Liskov Substitution Principle, and Java 16+ instanceof pattern matching that eliminates the cast-after-instanceof pattern.

~65 min Lab Exercise
07
Abstract Classes & Interfaces

Design contracts with abstract classes and interfaces. Understand the difference: abstract classes for shared implementation, interfaces for capability contracts. Master default methods in interfaces (Java 8+), functional interfaces, and when to use which.

~70 min Lab Exercise
08
Sealed Classes & Interfaces (Java 17+/21)

Sealed classes and interfaces are Java 17+'s answer to controlled type hierarchies. Restrict which classes can extend or implement a sealed type, combine with records and pattern matching for exhaustive switch dispatch, and model domain types like Result, Shape, or Event with precision.

~65 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Welcome to Module 6: Data Structures, Collections & Foundations. Arrays are Java's fundamental fixed-size data structure. Learn to declare, initialize, and iterate single-dimensional and multi-dimensional arrays, use Arrays utility methods, and understand why arrays have limitations that led to the Collections Framework.. The Java Collections Framework provides dynamic, resizable data structures. Master ArrayList as the go-to List implementation, understand the List interface contract, and learn when LinkedList's deque operations make it preferable.. Maps and sets are essential data structures for lookups, frequency counting, and uniqueness enforcement. Master HashMap for key-value storage, iterate over entries, and use HashSet to efficiently eliminate duplicates and test membership..

01
Arrays — Declaration, Indexing & Iteration

Arrays are Java's fundamental fixed-size data structure. Learn to declare, initialize, and iterate single-dimensional and multi-dimensional arrays, use Arrays utility methods, and understand why arrays have limitations that led to the Collections Framework.

~60 min Lab Exercise
02
ArrayList & LinkedList

The Java Collections Framework provides dynamic, resizable data structures. Master ArrayList as the go-to List implementation, understand the List interface contract, and learn when LinkedList's deque operations make it preferable.

~65 min Lab Exercise
03
HashMap & HashSet

Maps and sets are essential data structures for lookups, frequency counting, and uniqueness enforcement. Master HashMap for key-value storage, iterate over entries, and use HashSet to efficiently eliminate duplicates and test membership.

~65 min Lab Exercise
04
Generics Basics

Generics make Java's type system work for you by catching type errors at compile time rather than runtime. Understand type parameters, how Collections use generics, write your first generic method and generic class, and learn the basics of bounded type parameters.

~60 min Lab Exercise
05
Exception Handling — try, catch, finally, throw

Robust Java programs handle errors gracefully. Master the try-catch-finally structure, understand checked vs unchecked exceptions, throw your own exceptions, write custom exception classes, and use try-with-resources for automatic cleanup.

~70 min Lab Exercise
06
Introduction to Build Tools — Maven & Gradle

No real Java project uses raw javac for long. Maven and Gradle automate compilation, dependency management, testing, and packaging. Learn the Maven project structure, the pom.xml descriptor, add dependencies from Maven Central, and understand the Gradle equivalent — building your first project the same way Spring Boot does.

~65 min Lab Exercise
Automated Code Evaluations & Lab Grading in LMS Launch in LMS Playground

Enterprise Java & Spring Boot Progression

Continue advancing through the sequential curriculum stages of this academy track:

STAGE 1 6 Weeks
Java Programming Fundamentals — From Zero to Java Developer
Currently Viewing
Enroll in JAVA-001 on LMS