Interactive Computer Science Learning

Phase 1 MVPLogin

Object-Oriented Programming

Visual, step-by-step OOP across C++, Python, Java, and TypeScript.

Deep, multi-language OOP from first principles to advanced patterns — with step-by-step memory and dispatch visualizations across C++, Python, Java, and TypeScript.

Multi-language codeGraph visualizationsC++ memory modelDesign patternsRun in browser

Language Track

Language

Language-specific lessons are filtered automatically.

0/40

lessons completed

Module 1

OOP Foundations

Why OOP exists, what a class and object are, and how the receiver (this/self) works across languages.

M1
Why OOP?12m
Classes & Objects15m
Object Lifecycle12m
this / self10m

0/4 completed

In Progress
Open Module →
Module 2

Encapsulation

Access modifiers, class invariants, getters/setters/properties, and C++ const correctness.

M2
Access Modifiers12m
Class Invariants14m
Getters, Setters & Properties12m
Const Correctness (C++)(C++)12m

0/4 completed

In Progress
Open Module →
Module 3

Inheritance

IS-A relationships, method overriding, abstract classes, the diamond problem, MRO, and the Liskov Substitution Principle.

M3
Single Inheritance15m
Method Overriding & super12m
Abstract Classes & Interfaces15m
Diamond Problem (C++)(C++)18m
Liskov Substitution Principle15m

+1 lessons in other language tracks

0/6 completed

In Progress
Open Module →
Module 4

Polymorphism

Static vs dynamic dispatch, virtual functions, vtables, pure virtual, virtual destructors, duck typing, and templates.

M4
Static vs Dynamic Dispatch12m
Virtual Functions Mechanism14m
vtable Deep Dive (C++)18m
Pure Virtual & Abstract12m
Virtual Destructors (C++)12m
Duck Typing(C++/Python)12m
Templates & Generics (C++)(C++)18m

0/7 completed

In Progress
Open Module →
Module 5

Memory Management

Stack vs heap, new/delete, RAII, smart pointers in C++, and garbage collection in Python/Java/TypeScript.

M5
Stack vs Heap14m
new / delete & Memory Leaks (C++)(C++)12m
RAII (C++)(C++)15m
Smart Pointers & Ownership (C++)(C++)18m
Garbage Collection12m

0/5 completed

In Progress
Open Module →
Module 6

Operators & Special Functions

Operator overloading in C++, Python dunder methods, type conversion operators, and friend functions.

M6
Operator Overloading (C++)(C++)14m
Type Conversion Operators (C++)(C++)12m
Friend Functions (C++)(C++)12m

+1 lessons in other language tracks

0/4 completed

In Progress
Open Module →
Module 7

Design Patterns

SOLID principles, creational patterns (Factory/Builder/Singleton), structural patterns (Decorator/Adapter), behavioral patterns (Observer/Strategy), and anti-patterns.

M7
SOLID Principles18m
Creational Patterns18m
Structural Patterns18m
Behavioral Patterns18m
Anti-Patterns14m

0/5 completed

In Progress
Open Module →
Module 8

Advanced OOP

Template instantiation (C++), Python metaclasses, covariant return types, CRTP, and type system comparisons.

M8
Template Instantiation (C++)(C++)18m
Covariant Return Types(C++/Java)15m
CRTP — Curiously Recurring Template Pattern (C++)(C++)18m
Type Systems Comparison18m

+1 lessons in other language tracks

0/5 completed

In Progress
Open Module →