TechnologyThe BestieBeginner
Thinking in Object-Oriented Code, a free technology course on Tomo

Thinking in Object-Oriented Code

Learn how to model real-world problems by bundling data and behavior into self-contained objects. Master the core principles that make software reusable, organized, and resilient to change.

Like Duolingo, but for Thinking in Object-Oriented Code. Tomo turns the whole topic into a game you play five minutes a day, until it actually sticks.

21 levels across 3 sections, about 42 minutes end to end, roughly 8 days at five minutes a day. It moves through Bundling Data and Behavior, Sharing and Adapting Code, and Architecting Clean Collaborations. It starts from scratch.

21 bite-size levelsAbout 5 minutes each

Free forever · No credit card · iPhone & Android

Ollie the Owl, the guide who teaches the Thinking in Object-Oriented Code course
Thinking in Object-Oriented Code
with Ollie the Owl
21
Levels
3
Sections
5
Min/day
What you'll learn

Key ideas in Thinking in Object-Oriented Code

  • Object-oriented programming bundles related data and the actions that modify that data together into a single unit
  • Keeping data and functions together prevents mismatched variables and makes code easier to navigate than scattered global scripts
  • A class defines the template, rules, and fields that every instance will share
  • An object is an actual, concrete instance in memory built using that class template
  • Each object created from a class holds its own distinct copy of attribute values
  • Modifying an attribute on one object does not alter the attributes of any other object
  • Methods are functions attached directly to an object's class
  • When a method runs, it operates directly on that specific object's internal variables (often via 'this' or 'self')
  • A constructor is a special function that runs automatically whenever a new object is created
  • Constructors ensure an object starts in a valid, usable state by setting up initial values immediately
  • Public fields let any outside code assign values directly with no gatekeeping
  • Direct variable assignment bypasses checks, allowing impossible or corrupted data to exist inside the object
  • Marking fields private hides them from direct access outside the class
  • Public methods act as controlled doorways for other code to inspect or interact with private data safely
  • Mutator (setter) methods validate incoming arguments before overwriting the internal property
  • Centralizing rules inside the setter guarantees invalid values are blocked no matter who calls it
Why not just Google it

You've tried the other tabs

Wikipedia

Thirty open tabs. Four facts you actually kept.

YouTube

You watched. You nodded. By Sunday it was gone.

ChatGPT

One answer, then back to scrolling.

Online courses

Eight weeks. You meant to finish. You didn't.

Tomo gives Thinking in Object-Oriented Code the Duolingo treatment: levels, streaks, and quick quizzes that test what you just learned. That game loop is what the tabs above never had, so it's the one you actually finish.

Try a question

Here's what playing it feels like

A real question from this course. Take your best guess.

Bundling Your Code Into Objects

Why bundle a character's health, position, and movement actions together instead of scattering them in separate scripts?

Get it right to open this lesson and 20 more in the app.

Course map

Where Thinking in Object-Oriented Code takes you

  1. 1

    Bundling Data and Behavior

    • Creating Your First Objects
    • Protecting State with Encapsulation
  2. 2

    Sharing and Adapting Code

    • Specializing Behavior with Inheritance
    • Swapping Implementations with Polymorphism
  3. 3

    Architecting Clean Collaborations

    • Assembling Systems with Composition
    • Defining Contracts with Interfaces
    • Managing How Objects Talk to Each Other

3 sections · 7 units · 21 levels. Built to play, not to enroll.

New

Tomo is in ChatGPT

Tomo is also a ChatGPT plugin: the same playable courses, built and played inside your chat.

Add Tomo to ChatGPT
How it's taught

You pick the voice

This course
The Bestie

Thinking in Object-Oriented Code is taught in the Bestie style: your friend who just gets it. Want a different feel? In the app you can spin up the same topic in any of Tomo's teaching styles. Same facts, totally different vibe.

Keep going

More Technology on Tomo

Modern Front-End Architecture course icon

Modern Front-End Architecture

Professor

Move beyond basic HTML and CSS to build scalable, high-performance web applications. Learn to architect components, manage complex state, and optimize the user experience like a professional engineer.

21 levels42mIntermediate
Building Web Apps with Angular course icon

Building Web Apps with Angular

Storyteller

Construct dynamic, modern web interfaces using Google's Angular framework. Learn to bind data, craft reusable components, and fetch live network content with confidence.

12 levels24mBeginner
Core Computer Science course icon

Core Computer Science

Storyteller

Bridge the gap between writing basic scripts and understanding real computing systems. Explore how algorithms scale, how operating systems manage memory, how concurrency works, and the physical limits of computation.

22 levels44mIntermediate
Python from Scratch course icon

Python from Scratch

Bestie

Learn to write real, working Python code to automate repetitive tasks, analyze information, and build your own applications. Master core syntax, data structures, and practical libraries through hands-on logic.

27 levels54mBeginner
C++: Foundations and Pitfalls course icon

C++: Foundations and Pitfalls

Professor

Build a robust mental model of C++ from your first program to complex systems. Uncover the subtle language traps and memory quirks that catch even experienced programmers.

24 levels48mBeginner
JavaScript Logic for Web and Mobile course icon

JavaScript Logic for Web and Mobile

Professor

Bridge the gap between basic syntax and professional application architecture. Master the logic patterns required to build responsive, high-performance apps that work seamlessly across every device.

24 levels48mIntermediate
Start free

Start Thinking in Object-Oriented Code today.

Download Tomo, search Thinking in Object-Oriented Code, and play your first lesson in under a minute.