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
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.