Catching them all: teaching fundamental OOP concepts with Pokemon
summary
Claim: Pokémon maps directly to classes, instances, inheritance and polymorphism and shortens cognitive load by reusing a familiar domain. Uses Python and GitHub, starts with an imperative Wordle warmup, spends ~six weeks (week‑and‑a‑half on object interactions), works with nine students, abandons CRC cards, shows scaffolded code samples and class diagrams, wrestles with self and __init__, enforces encapsulation by intent, and has a battle system built and tested with student submissions and shared code.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 1:04Why Pokémon for OOP
- 3:09Three design decisions
- 4:31Imperative versus object-oriented approach
- 6:14Concrete vs abstract
- 7:17Design first vs code first
- 8:21Class context
- 9:45OOP syllabus
- 10:28Class diagrams
- 12:33First code demo
- 14:40Object interactions
- 15:24Encapsulation
- 16:48Abstraction via constructors
- 17:50Inheritance
- 19:15Polymorphism
- 21:20Implementation strategies
- 23:06Student misconceptions
- 24:08Classroom setup
- 24:51Future improvements








