Skip to content

Foundations Overview

Build the core concepts that power object-oriented programming. Clear explanations, practical examples, and exercises that establish the foundation for everything that follows

Foundations

Introduction to OOP

From procedures to objects

Understand why object-oriented programming dictates how we structure code. Learn the fundamental shift from writing step-by-step procedures to modeling real-world entities as objects with properties and behaviors.

You'll learn: Why OOP matters, the core principles that guide object design, and how to think in terms of objects rather than functions

Classes & Objects

Blueprints and instances

Master the building blocks of Java OOP. Create your first classes, instantiate objects, define constructors, and understand how objects interact through methods and fields.

You'll learn: How to design classes, create objects, write constructors and methods, and manage object state

Arrays & Collections

Managing groups of data

Work with collections of objects using arrays and ArrayList. Learn when to use each approach and how to store, access, and manipulate groups of related data efficiently.

You'll learn: Array fundamentals, ArrayList operations, choosing the right collection type, and iterating through data

Thinking in Objects

The object-oriented mindset

Develop the problem-solving approach that distinguishes object-oriented design. Learn to identify objects in real-world problems, define their responsibilities, and model relationships between them.

You'll learn: How to decompose problems into objects, assign responsibilities, and design clean object interactions


Start here: Begin with Introduction to OOP, then work through each topic in order. Complete the exercises after each section to reinforce your understanding—practice builds intuition.