Learning Python Through KangaCode: How an RPG Structure Increased Focus and Self-Directed Learning

Chieh-Hung (Jeff) Cheng

Chieh-Hung (Jeff) Cheng

Day 1 • Sat, Oct 17
13:20 - 13:50
Location
R2
Language
English
Category • Level
Education • Novice

Teaching real Python to children is hard. Not because the syntax is too advanced, but because attention is the real bottleneck. After running KangaCode in both US and Taiwanese after schools, public schools, and small tutoring groups, we noticed something we didn't expect: students were finishing optional side quests during lunch breaks, on weekends, and at home, with no homework assigned.

This talk shares what happened when we wrapped a real Python curriculum inside an RPG game structure. Same language. Same concepts. Same while, if, for, functions, lists. But framed as quests, bosses, side missions, and character progression. The result was not just better engagement. It was a different kind of learner: one who keeps writing Python after class ends.

I'll walk through real classroom observations, what students wrote on their own, what the RPG layer changed about how concepts landed, and what we got wrong before we got it right.

Description

Most children's coding products fall into two camps. Either they teach drag-and-drop blocks that never transfer to real code, or they teach real code in a way that feels like adult training squeezed into a child-sized chair. Students lose interest in one to two weeks. Parents pay anyway. Teachers burn out.

This talk is not a walkthrough of what KangaCode does as a product. What we're sharing is what we saw inside real classrooms across after-school programs, public schools, and tutoring groups in both the US and Taiwan: real Python code Taiwanese students wrote, where they got stuck, what they asked their teachers, and how the RPG map structure did or didn't shape their mental model of a concept.

We will show real, anonymized student code side by side with the quest map screen that introduced the concept, including the exact function that kept returning None, and walk through where the map's narrative structure actually changed how a student reasoned about a for loop, while condition, an if branch, or a function call, and where the RPG wrapper added nothing or actively got in the way.

This talk covers:

  1. The classroom reality of teaching Python to Taiwanese students aged 8 to 15, and the curriculum decisions behind it.
  2. Specific student stories, including actual code they typed, the exact syntax points they got stuck on, and what kept them going.
  3. Why RPG mechanics hold up as curriculum design where points and badges fail on the same underlying task.
  4. How we test, from code samples alone, whether a student understood the concept or was pattern-matching.
  5. What of this transfers to adult learners, and what doesn't.
Chieh-Hung (Jeff) Cheng
Chieh-Hung (Jeff) Cheng

I'm Jeff (Chieh-Hung Cheng), one of the co-founders of KangaCode, an engaging Python Coding Game/Platform that helps K–12 students and beginners write their first line of Python through RPG adventures. Alongside my role as a software engineer, I’ve taught Python for several years, helping students of all ages build a strong foundation and lasting interest in programming.

Related Speeches