lukasnovotny.cz

English

Teaching Kids Programming & IT Literacy: Comprehensive Research

Research compiled from government curricula worldwide, academic research, Reddit, Hacker News, educator forums, and expert publications.

Table of Contents

  1. Age Group Framework
  2. Government Curricula Worldwide
  3. Tools & Platforms by Age
  4. Pedagogical Research & Expert Views
  5. Community Voices: Reddit, HN & Forums
  6. Key Debates & Alternative Views
  7. The AI Era Question
  8. Best Practices & What Actually Works
  9. Common Failure Modes
  10. Progression Framework
  11. Free Curricula & Resources
  12. Sources & References

Age Group Framework

Based on cognitive development (Piaget), international curricula, and community consensus:

StageAgesCognitive StageFocus
Pre-coding3-5PreoperationalSequencing, cause-and-effect, tangible play
First Code5-7Late preoperationalVisual block programming, floor robots, unplugged
Block-Based7-10Concrete operationalScratch, creative projects, loops, conditionals
Transition10-13Late concrete / early formalBlock-to-text bridging, physical computing, Python intro
Text-Based13-15Formal operationalReal languages, web/game dev, projects, competitive

Government Curricula Worldwide

United Kingdom -- Computing Curriculum (Mandatory from 2014)

The UK was one of the first countries to make CS mandatory for all students ages 5-16, replacing the old "ICT" subject with "Computing."

Key Stage 1 (Ages 5-7):

  • Understand algorithms and how they run on digital devices
  • Create and debug simple programs
  • Use logical reasoning to predict program behavior
  • Tools: Bee-Bots, ScratchJr, Lightbot, unplugged activities

Key Stage 2 (Ages 7-11):

  • Design, write, and debug programs with specific goals
  • Use sequence, selection, repetition; work with variables
  • Understand computer networks including the internet
  • Tools: Scratch (primary tool), Logo, Kodu, Python (upper KS2), Micro:bit (Year 5-6)

Key Stage 3 (Ages 11-14):

  • Use two or more programming languages, at least one textual
  • Understand Boolean logic, binary representation
  • Design and develop modular programs using procedures/functions
  • Tools: Python (dominant), HTML/CSS, JavaScript, BBC Micro:bit, Raspberry Pi

Key Stage 4 (Ages 14-16) -- GCSE Computer Science:

  • Algorithms, programming (Python), data representation, computer systems, networks, cyber security
  • GCSE CS entries grew from ~33,000 (2015) to 80,000+ (2019)
  • Persistent challenges: teacher shortages (only 68% of schools have a specialist -- Royal Society 2017), gender gap (~20% female)

Finland -- Integrated into National Core Curriculum (2016)

Rather than a standalone CS subject, Finland integrated programming across existing subjects (maths, crafts/technology).

Grades 1-2 (Ages 7-8): Step-by-step instructions, unplugged activities, Bee-Bots, ScratchJr Grades 3-6 (Ages 9-12): Visual programming within maths, robotics in crafts. Scratch, LEGO Mindstorms/WeDo Grades 7-9 (Ages 13-15): Programming principles in at least one language, variables, conditionals, loops. Python, JavaScript

Key insight: No separate CS subject -- programming is a tool used across disciplines. Heavy demands on teacher training. Quality depends heavily on individual teacher confidence.

Estonia -- ProgeTiger Programme (2012)

Pioneer in digital education. ~90% of schools participate.

Preschool (Ages 5-7): Logical thinking through play, Bee-Bots, unplugged activities Grades 1-4 (Ages 7-10): Visual programming, simple robotics. Scratch, ScratchJr, LEGO WeDo, Code.org Grades 5-9 (Ages 11-15): Text-based programming, web development, physical computing. Python, JavaScript, HTML/CSS, Arduino

Three pillars: (1) Programming & algorithms, (2) Robotics & physical computing, (3) Digital creativity & design.

Singapore -- Code for Fun & Smart Nation

Code for Fun (CFF): Mandatory for all upper primary (ages 10-12), 10-hour programme. Expanded to lower secondary.

  • Topics: computational thinking, block-based programming, emerging tech (AI, data, cybersecurity)
  • Tools: Scratch, micro:bit, drones, Sphero robots

O-Level / A-Level Computing: Programming in Python, algorithms, data structures, computer systems.

Australia -- Digital Technologies Curriculum (2015, updated 2022)

Mandatory learning area across all years.

Foundation-Year 2 (Ages 5-8): Explore digital systems, follow simple algorithms, Bee-Bots, ScratchJr, CS Unplugged Years 3-6 (Ages 8-12): Design algorithms with branching and iteration, implement in visual languages. Scratch, Blockly, micro:bit Years 7-10 (Ages 12-16): General-purpose programming, modular algorithms, databases, cybersecurity. Python, JavaScript, SQL

Challenge: Implementation varies significantly between states. Teacher capacity is a major bottleneck.

Japan -- Mandatory Programming Education (2020)

Phased rollout by MEXT:

Elementary (Ages 6-12, from April 2020):

  • "Programming thinking" integrated across subjects (math, science, music) -- not a standalone subject
  • Focus on logical thinking, not specific languages
  • Tools: Scratch, Viscuit (Japanese visual tool), Micro:bit, MESH (Sony IoT blocks)
  • Challenge: Only ~4% of elementary teachers felt confident teaching programming (2019 MEXT survey)

Junior High (Ages 12-15, from 2021): Expanded technology component, text-based programming introduced Senior High (Ages 15-18, from 2022): Mandatory "Information I" subject. Added to national university entrance exams from January 2025 -- a watershed moment.

South Korea -- Software Education Mandate (2018)

Elementary (Grades 5-6, from 2019): 17 hours of coding within "Practical Arts." Block-based programming via Entry (Korean platform by KAIST/Naver), Scratch, Code.org. Middle School (from 2018): 34 hours of mandatory "Informatics." Algorithms, block and text programming, physical computing. Entry, Scratch, Python, Arduino. Planned from 2025: AI as mandatory subject, 2 hours per week from primary school.

United States -- CSTA Standards & CS for All

No single national curriculum; education is state-controlled. Key frameworks:

CSTA K-12 CS Standards (2017):

  • Level 1A (K-2): Model processes as algorithms, sequence instructions, debug. ScratchJr, Bee-Bots, Code.org
  • Level 1B (3-5): Sequences, events, loops, conditionals. Scratch, Code.org, Tynker
  • Level 2 (6-8): Variables, functions, compound conditionals, binary, networks. Python, App Inventor, micro:bit
  • Level 3A (9-10): Algorithm efficiency, data structures, cybersecurity. Python, JavaScript, AP CSP

State variations: All 50 states have adopted some CS policy. ~57% of high schools offer a foundational CS course (2024). Leaders: Arkansas (first to mandate CS in every high school, 2015), Virginia, Maryland.

Disparities: Rural schools, schools serving predominantly Black/Hispanic students, and high-poverty schools are significantly less likely to offer CS courses.

Israel -- Pioneering CS Education (Since 1990s)

One of the longest-standing traditions of formal CS education. Curriculum developed with the Weizmann Institute of Science.

High School Bagrut (Matriculation):

  • 3-unit level: algorithmic thinking, basic programming
  • 5-unit level: advanced algorithms, data structures, computational theory, OOP
  • ~10,000+ students complete Bagrut-level CS annually
  • ~30% female participation (better than many countries, still unequal)

Expanding downward: "Computational Thinking" programmes being piloted in elementary, Informatics growing in middle school.

China -- 2022 Curriculum Standard for Compulsory Education

Grades 1-2: Information awareness, basic digital device use, safety Grades 3-6: Algorithm design, visual programming, data organisation. Scratch-like platforms Grades 7-9: Text-based programming (Python), algorithms, AI basics, IoT, cybersecurity Senior High: Mandatory "Information Technology" -- Python officially recommended (replacing VB)

Massive competitive programming culture (NOI/IOI). Private sector very active (Makeblock, DJI Education).

India -- National Education Policy 2020

CBSE Grades 6-8 (from 2021-22): "Coding" and "Data Science" subjects. Scratch, Microsoft MakeCode, AI-for-All platform. Grades 9-10: "Artificial Intelligence" as elective. Python, web technologies, databases. Grades 11-12: Computer Science with Python or Informatics Practices as electives.

Atal Tinkering Labs: 10,000+ labs across India for robotics, IoT, 3D printing, programming. Challenge: Massive scale (250M+ school-age children), digital divide between urban/rural, teacher training bottleneck.

Cross-Country Summary

CountryCS Starts (Age)Standalone Subject?Primary ToolsSecondary Languages
UK5YesBee-Bots, ScratchJr, ScratchPython, HTML/CSS, JS
Finland7No (cross-curricular)Bee-Bots, ScratchPython, JS
Estonia5-7No (support programme)Bee-Bots, ScratchJr, ScratchPython, JS, Arduino
Singapore10-12PartialScratch, micro:bitPython
Australia5YesBee-Bots, ScratchJr, ScratchPython, JS
Japan6No (cross-subject)Viscuit, ScratchPython, JS
South Korea10-11PartialEntry, ScratchPython, C
USAVariesVaries by stateScratchJr, Code.orgPython, Java, JS
Israel15 (expanding to 12)Yes (elective)ScratchJava, Python
China6 (from 2022)YesScratch-like platformsPython
India11-12PartialScratch, MakeCodePython, SQL

Universal trends:

  1. Age of introduction is trending younger -- nearly all start computational thinking by ages 5-7
  2. Remarkable global consensus on the progression: unplugged/robots (5-7) -> block-based/Scratch (7-12) -> Python (12+)
  3. Python has become the dominant secondary school language globally
  4. Scratch is the de facto world standard for ages 7-12
  5. Teacher shortage is the universal challenge across every country
  6. Physical computing (micro:bit, Arduino, LEGO) increasingly common everywhere

Tools & Platforms by Age

Preschool / Pre-coding (Ages 3-6)

ToolAgeCostTypeKey Strength
Bee-Bot / Blue-Bot3-6~$90-120Floor robotScreen-free, tangible, durable
Cubetto3-6~$225Wooden robot + boardMontessori-inspired, zero screen, teaches functions
Code-a-Pillar3-6~$40Toy robotLow cost entry point; limited depth
ScratchJr5-7FreeiPad/Android appDrag-and-drop blocks, storytelling focus
KIBO4-7~$230+Screen-free robotResearch-backed (Marina Bers), no screen needed
Hello Ruby (books)4-8~$15-18Picture books + activitiesTeaches CT concepts through stories
Robot Turtles4+~$25Board gameProgramming concepts as a family game

Research finding: A 2022 meta-analysis in Computers & Education covering 50+ studies found that tangible programming interfaces (robots, physical blocks) were more effective than screen-based tools for ages 3-5.

What's developmentally appropriate at this age:

  • Sequencing (first this, then that)
  • Cause and effect (press button -> robot moves)
  • Basic debugging ("what went wrong?")
  • Pattern recognition
  • NOT appropriate: variables, nested logic, abstract conditionals
  • Session length: 15-20 minutes maximum

First Code & Early Elementary (Ages 5-9)

ToolAgeCostKey Strength
Scratch8-16 (usable from 6)FreeThe gold standard. Creative projects, huge community (100M+ users)
Code.org CS Fundamentals4-11FreeBest structured K-5 curriculum, mix of plugged/unplugged
Tynker5-17Free/$9-20/moSmooth block-to-text progression, Minecraft modding
Kodable4-10Free/paidMaze-based logic, praised for teaching logic well
CodeSpark5-9SubscriptionGame-based, kids play without prompting
LEGO SPIKE Essential6-10~$280Hands-on robotics, 40+ aligned lessons
Ozobot6+~$100Dual mode: marker-based (screen-free) + OzoBlockly
Sphero8+$50-150High engagement, draw/blocks/JavaScript modes
Minecraft Education7-15~$5/yrBlock-based to Python, leverages existing passion

Scratch is the most researched children's programming tool (100+ peer-reviewed studies). Key findings:

  • Improves computational thinking (Brennan & Resnick, 2012)
  • Supports creative expression
  • Improves math understanding
  • The online community enables remixing as a learning practice

Code.org provides the most complete turnkey K-5 curriculum:

  • Courses A through F, each ~12-18 lessons
  • Mix of "plugged" and "unplugged" activities
  • Complete teacher lesson plans, slides, rubrics
  • Hour of Code: 1 billion+ "hours" served

Transition Period (Ages 10-13)

Bridging block-to-text (the "cliff" problem):

Students comfortable in Scratch often hit a wall transitioning to text. The block interface prevents syntax errors, provides visual feedback, and constrains options -- text removes all supports simultaneously.

Bridge ToolApproachCost
Microsoft MakeCodeBlocks and JavaScript/Python side-by-side with toggleFree
Pencil CodeBlocks show equivalent CoffeeScript/JSFree
Snap! (UC Berkeley)Scratch-like but with first-class functions, recursionFree
TrinketPython, HTML, blocks in browserFree/paid
Mu EditorSimple Python IDE with micro:bit/Pygame modesFree

Physical computing tools:

ToolAgeCostLanguageKey Strength
micro:bit8-14~$15-20MakeCode blocks / MicroPythonBest value, robust, huge curriculum library
Arduino11+~$25C/C++"Real" engineering, vast ecosystem
Raspberry Pi10+~$35-55Python, everythingFull Linux computer, RPi Foundation resources
MIT App Inventor10-18FreeBlock-basedBuild real mobile apps -- very motivating

micro:bit research (BBC, 2017): 90% of students said it helped them see anyone can code; 86% said it made CS more interesting. Improved self-efficacy for both boys and girls.

Python for Kids resources:

  • Python for Kids by Jason Briggs (~$25) -- widely considered the best book for ages 10+
  • Python turtle graphics -- specifically praised for immediate visual feedback
  • Raspberry Pi Foundation's free "Introduction to Python" course
  • Google's CS First (free Scratch-based) transitions naturally

Teens (Ages 13-15)

First "real" languages:

  • Python -- dominant first text language. Readable syntax, versatile, massive ecosystem, used professionally
  • JavaScript -- immediate visual feedback in browser, required for web dev
  • Lua (via Roblox Studio) -- hugely motivating for Roblox players

Web development:

PlatformCostWhat It Teaches
freeCodeCampFreeHTML, CSS, JS, React, Node.js, databases. 3,000+ hours
The Odin ProjectFreeFull-stack web dev. Teaches reading documentation
Khan AcademyFreeJS-based drawing, animation, games via Processing.js
GlitchFreeFull-stack web apps in browser, instant deployment

Game development:

EngineAgeCostLanguageNotes
Godot12+Free (open source)GDScript (Python-like)Simpler than Unity, growing fast
Unity13+Free (personal)C#Industry standard, steep learning curve
Roblox Studio10+FreeLuaMassive teen engagement
Pygame12+FreePythonGood for teens already learning Python
GameMaker12+Free tierGMLGood for 2D (Undertale was made in it)
Pico-810+$15Lua subset"Fantasy console," praised on HN

Competitive programming:

  • USACO (usaco.org) -- Free, monthly contests, excellent training problems
  • Codeforces -- Free, regular contests, huge international community
  • Advent of Code -- Free, annual December event, language-agnostic
  • USACO Guide (usaco.guide) -- Free structured training curriculum

Pedagogical Research & Expert Views

Foundational Thinkers

Seymour Papert -- Constructionism & Logo

  • Mindstorms: Children, Computers, and Powerful Ideas (1980)
  • Core thesis: children learn best by constructing knowledge through building personally meaningful artifacts
  • Developed Logo (~1967) with turtle graphics -- children "teach the computer," inverting the typical relationship
  • Children as young as 4-5 could use Logo turtle graphics meaningfully
  • Coined "microworlds" -- constrained digital environments for exploring powerful ideas
  • "Body-syntonic reasoning" -- children understand turtle commands by imagining themselves as the turtle
  • Programming teaches debugging as metacognition -- one of the most valuable skills
  • Critical note: Large-scale 1980s studies (Pea & Kurland, 1984) found mixed results. Papert argued they tested "school's version of Logo" rather than constructionist culture.

Mitchel Resnick -- Scratch & Lifelong Kindergarten

  • Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play (2017)
  • Created Scratch (2007), leads MIT Media Lab's Lifelong Kindergarten group
  • The Four P's: Projects, Passion, Peers, Play
  • The goal is NOT creating professional programmers -- it's creative thinking
  • "Low floor, wide walls, high ceiling" design principle (from Papert): easy to start, supports diverse projects, enables sophistication
  • Open-ended creative projects produce deeper engagement than guided tutorials
  • Remixing is a powerful learning practice, not plagiarism

Jeannette Wing -- Computational Thinking (2006)

  • Argued CT is a fundamental skill for everyone, like reading/writing/arithmetic
  • Four elements: Decomposition, Pattern recognition, Abstraction, Algorithm design
  • CT is "a way of thinking, not just coding" -- applicable across disciplines
  • Criticism: Some researchers (Tedre & Denning, 2016) argued the term is too vague and these skills predate computing

Marina Umaschi Bers -- Coding as a Playground (2018)

  • Tufts University, developed ScratchJr and KIBO
  • Children as young as 4 can learn sequencing; 5-6 year olds can grasp simple loops and conditionals through tangible interfaces
  • Distinguishes "playpen" (restrictive, passive) from "playground" (creative, active) approaches
  • Designed KIBO specifically to address screen time concerns while teaching coding

Piaget's Stages Mapped to CS Education

StageAgeCS Implications
Preoperational2-7Sequencing, cause-and-effect, tangible coding (KIBO, Cubetto, Bee-Bot). Struggles with variables, nested logic, perspective-taking
Concrete Operational7-11The "sweet spot" for block-based programming. Loops, conditionals, simple variables when tied to concrete examples. Struggles with pure abstraction
Formal Operational11+Text-based programming, abstract data structures, algorithm analysis, recursion, OOP concepts

Important caveat: These stages are not rigid. Individual variation is enormous. Some 8-year-olds handle abstraction; some 13-year-olds struggle.

Key Research-Backed Approaches

"Use-Modify-Create" Progression (Lee et al., 2011): Students first USE existing programs, then MODIFY them, then CREATE their own. Provides scaffolding while building toward open-ended creation.

Pair Programming for Kids:

  • Increased confidence, especially for underrepresented students
  • Better code quality and fewer errors
  • Must rotate roles (driver/navigator) and train students in the practice
  • Can backfire if one student dominates (Werner, Denner & Campe, 2012)

Keeping Girls Engaged (Jane Margolis, Joanna Goode, Colleen Lewis):

  • Contextualize CS in social impact and creativity, not abstract puzzle-solving
  • Collaborative rather than competitive environments
  • Diverse role models
  • Avoid "CS bro" culture and competitive gatekeeping
  • Support diverse project types (narrative/artistic projects are as valid as games)
  • Gender gap typically appears around age 11-12; early exposure and diverse role models are the most effective interventions

Culturally Responsive CS Education:

  • Ron Eglash (U of Michigan): Culturally Situated Design Tools showing fractals in African architecture, patterns in Native American beadwork
  • CS education should connect to students' cultural assets ("funds of knowledge")

Community Voices: Reddit, HN & Forums

What Parents & Teachers Actually Recommend

Tier 1 -- Most Recommended:

  • Scratch / ScratchJr (free, MIT) -- the universal gold standard
  • Code.org (free) -- best structured curriculum
  • Python with turtle graphics (free)

Tier 2 -- Highly Recommended:

  • Minecraft Education Edition -- leverages existing passion
  • Roblox Studio / Lua -- same principle
  • micro:bit -- physical computing
  • LEGO SPIKE / FIRST LEGO League -- robotics

Tier 3 -- Niche but Praised:

  • Pico-8 -- retro game making
  • Kodable -- maze logic for young kids
  • CodeCombat -- RPG-style Python learning
  • Godot -- game engine for teens
  • p5.js -- creative coding

Real Parent Experiences

Success stories:

  • Grace Francisco (Atlassian) -- her daughters had zero interest in Scratch/Code.org, but Minecraft was the breakthrough. They swapped one JavaScript command to change castle block types and were hooked by the immediate visible results.
  • A HN parent who taught 500k+ kids advises: "Delay abstractions as long as possible. Teach them how to draw a circle on a canvas, then get them to move the circle."
  • Multiple parents report Roblox Studio as the gateway -- kids learn Lua, a real language, within a world they already love

Failure stories:

  • A parent found their 14-year-old "hates Scratch which I think spoiled the experience" -- forced early exposure can backfire
  • Starting with Java or C++ leads to immediate frustration
  • Over-scaffolded environments prevent developing independence

Community Consensus on Timing

"Start when the child shows interest. Make it available but never forced."

  • Age 3-5: Unplugged activities only (sequencing cards, cup stacking, "human robot" games)
  • Age 5-7: ScratchJr, floor robots, playful exposure
  • Age 7-10: Scratch, Code.org, creative projects
  • Age 10-13: Python introduction, physical computing
  • Age 13+: Real languages and projects driven by personal interest

Key Debates & Alternative Views

"Coding for Kids Is Overhyped"

Anand Sanwal (CB Insights CEO) -- argues the movement was a "manufactured crisis exploited by tech companies, politicians, and the Education Industrial Complex." Points out CS graduates now face high unemployment. Recommends focusing on agency, critical thinking, comfort with ambiguity, and resilience instead.

Joe Morgan (developer, Slate) -- "Coding books present programming as a set of problems with 'correct' solutions, but programming is messy." Recommends teaching problem-solving through practical activities like fixing furniture, collaborative cooking.

Andreas Schleicher (OECD Director of Education) -- "I would be much more inclined to teach data science or computational thinking than to teach a very specific technique of today." Argues coding skills may be obsolete by the time children reach adulthood.

Kentaro Toyama (U of Michigan, Geek Heresy, 2015) -- technology-focused education consistently fails to address deeper inequities; coding education is no exception.

Larry Cuban (Stanford emeritus, Oversold and Underused, 2001) -- technology in education follows hype cycles; coding is the latest iteration.

"Coding Is Not the New Literacy"

Chris Granger (creator of Eve language, 2015) argued that modeling -- constructing mental models of systems -- is the real skill, not writing code syntax. We're teaching the wrong thing.

Annette Vee (U of Pittsburgh, Coding Literacy, 2017) -- while coding parallels traditional literacy, not everyone needs to be a "fluent programmer." The key distinction:

  • Computational literacy (understanding how computing shapes the world) -- widely seen as essential
  • Programming proficiency (ability to write code) -- debated whether universal
  • Computational thinking -- the middle ground, increasingly seen as the "universal" part

Digital Literacy vs. Programming

These are widely recognized as distinct but overlapping:

  • Digital literacy: Using digital tools, evaluating information critically, understanding privacy, communicating digitally. Everyone needs this.
  • Programming: Writing code, algorithm design, data structures. Debated whether universal.
  • Computational thinking: Problem-solving approaches (decomposition, abstraction, patterns, algorithms). Increasingly seen as the universal bridge.

The UK curriculum explicitly separated these when replacing "ICT" with "Computing" in 2014.

Screen Time Concerns

  • AAP guidelines: no screens under 18 months, limited for 2-5 year olds (1 hr/day), consistent limits for 6+
  • Key distinction: Active coding screen time is fundamentally different from passive consumption. "When children code, the brain is very engaged and active, requiring lots of thinking, imagination and problem-solving."
  • Marina Bers designed KIBO (screen-free robot) specifically to address this concern
  • Research supports: tangible/physical tools for ages 3-5, blended approach from 5-7, screen-based coding appropriate from 8+

Unplugged vs. Screen-Based

CS Unplugged (Tim Bell et al., University of Canterbury, 1998) proved CS concepts can be taught without computers: binary through cards, sorting through physical activities, error detection through "magic tricks."

Research finding: CS Unplugged "acts as a catalyst when combined with programming" -- students who do unplugged activities first "show more self-efficacy" when they move to screens.

Best practice: Unplugged activities introduce concepts, then students apply them in code. The combination is more effective than either alone (Ottenbreit-Leftwich et al.).

Most praised unplugged activities:

  • Cup stacking with coded instructions (best for kindergarten)
  • "Human robot" maze navigation -- one child writes instructions, another follows exactly
  • Dance/movement sequences as "programs" with debugging
  • Story sequencing cards
  • LEGO building from coded instructions

Counter-Arguments from Advocates

  • "The underlying logical concepts remain valuable across decades" -- specific languages change, thinking skills don't
  • "The exercise of teaching children coding isn't about teaching them how to code, but how to think, plan, predict, conjecture, reason" (HN)
  • Douglas Rushkoff (Program or Be Programmed, 2010): not understanding programming means being controlled by those who do

The AI Era Question

This is the newest and most active debate (2025):

"Fundamentals first" camp:

"The most crucial skill won't be one or the other. It will be using the fundamentals to ask the AI better questions."

"Limit AI" camp:

"Never let him copy and paste from it. When he eventually starts vibe coding, it will be like putting a V8 in a Ferrari instead of a VW Golf."

"Embrace AI" camp: Some younger children showed engagement with "vibe coding" when a parent acted as typist, iterating on AI-generated results while children guided the direction.

Psychology Today (2024): "AI Doesn't Change Why Kids Should Learn to Code" -- the cognitive benefits persist regardless of AI capabilities.

Emerging consensus: Coding teaches compartmentalization, step-by-step thinking, connecting dots, controlling complexity, and focusing on goals -- these skills remain valuable regardless of AI. But curricula need updating to acknowledge AI as a tool.


Best Practices & What Actually Works

Teaching Principles (Aggregated from Research + Community)

  1. Follow the child's interest. "Programming is a means to an end, not the end itself." Connect coding to what the child already loves (trains, animals, Minecraft, music).

  2. Fun first, learning as side effect. "The learning must all be a side effect of having fun. Don't try to teach programming. Do fun things and fill in the programming toolbox, tool by tool, as they're needed."

  3. Delay abstractions. Let kids write repetitive code before introducing loops. "Write it very verbosely without loops, then they will almost invent loops themselves."

  4. Immediate visual feedback is critical. Turtle graphics, game engines, Scratch animations -- anything where results are instant and visible.

  5. Get out of the way. "All I do is make sure he has access to the tools, and I unstick him when he's stuck."

  6. Social context matters. Grace Francisco's daughters only got excited after seeing other kids coding at a workshop. Hack Club's model of student-led peer communities works for teens. Resnick's "Peers" in the Four P's.

  7. Don't force it. Multiple stories of kids who hated coding when pushed but loved it when they discovered it on their own. One developer's brother showed no early interest but became one of the best programmers in his college after picking it up in university.

  8. Use-Modify-Create. USE existing programs, MODIFY them, then CREATE original work. Provides scaffolding without being prescriptive.

  9. Projects over exercises. Open-ended creative projects produce deeper learning than guided tutorials (Resnick, 2017). But some structure is needed -- purely unstructured exploration often fails (Pea & Kurland, 1984).

  10. Physical computing adds engagement. micro:bit, Arduino, LEGO -- connecting code to the physical world consistently shows higher engagement across all ages.


Common Failure Modes

FailureWhy It HappensFix
Wrong language too earlyJava/C++ for beginners = immediate frustrationStart with blocks, transition to Python
Scratch burnoutOlder kids find it childish; it can "spoil the experience"Match tool to age; don't force Scratch on 12+
Over-scaffoldingSandboxed environments prevent independenceGradually remove training wheels, let kids struggle
Forced participationPushing an uninterested childMake tools available, follow their timeline
Tutorial hellFollowing tutorials without understandingRequire original modifications and projects
Parental over-involvementExcessive guidance prevents ownershipStep back, be available for "unsticking" only
Expensive bootcampsQuality varies enormouslyStart with free resources; avoid intensive camps for young kids
No social contextCoding alone feels isolatingCode clubs, pair programming, sharing projects
Ignoring the block-to-text cliffAbrupt transition from Scratch to PythonUse bridge tools (MakeCode, Pencil Code, Snap!)

Progression Framework

Age 3-5: EXPLORE
  |-- Unplugged: sequencing cards, "human robot," pattern games
  |-- Tangible: Bee-Bot, Cubetto, Code-a-Pillar
  |-- Books: Hello Ruby
  |-- Goal: cause-and-effect, sequencing, "computers follow instructions"
  |-- Sessions: 15-20 min max
  |
Age 5-7: PLAY
  |-- ScratchJr (supervised, limited screen time)
  |-- Code.org Courses A-B (mix of unplugged + screen)
  |-- Floor robots, Kodable, CodeSpark
  |-- CS Unplugged activities
  |-- Goal: simple programs, debugging, creative expression
  |-- Sessions: 20-30 min
  |
Age 7-10: CREATE
  |-- Scratch (primary tool)
  |-- Code.org Courses C-F
  |-- Google CS First (themed clubs)
  |-- micro:bit (physical computing)
  |-- Minecraft Education, LEGO SPIKE
  |-- Goal: loops, conditionals, events, variables, creative projects
  |-- Sessions: 30-45 min
  |
Age 10-13: BRIDGE
  |-- Advanced Scratch / Snap!
  |-- MakeCode (blocks + JavaScript/Python side-by-side)
  |-- Python turtle graphics, Mu Editor
  |-- Arduino, Raspberry Pi
  |-- MIT App Inventor
  |-- CodeCombat (game-based Python)
  |-- Goal: text-based coding, physical computing, real projects
  |-- Sessions: 45-60 min
  |
Age 13-15: BUILD
  |-- Python (primary language)
  |-- JavaScript + web development (freeCodeCamp, Khan Academy)
  |-- Game engines (Godot, Roblox Studio, Unity)
  |-- Competitive programming (USACO, Codeforces)
  |-- Real projects driven by personal interest
  |-- Hack Club, coding communities
  |-- Goal: functional tools, portfolio projects, understanding real systems
  |-- Sessions: self-directed

Free Curricula & Resources

Complete Free Curricula (K-12)

ResourceAgesScopeNotes
Code.org CS FundamentalsK-5Full K-5 curriculumMost widely used in US. Plugged + unplugged
Code.org CS Discoveries6-10Year-long courseWeb dev, animation, games, data, physical computing
Raspberry Pi / Teach ComputingK-12Complete UK computing curriculumMost comprehensive free curriculum globally
CS Unplugged5-14Screen-free CS activities20+ languages, University of Canterbury
Google CS First8-14Scratch-based themed clubs8 themes, video tutorials, teacher guides
Harvard Creative Computing8-147-unit Scratch curriculumGold standard for Scratch-based teaching
Beauty and Joy of Computing (BJC)14-18AP CSP via Snap!UC Berkeley, free
Mobile CSP14-18AP CSP via App InventorCollege Board endorsed
Exploring Computer Science (ECS)14-18Year-long intro CSStrong equity focus
Bootstrap10-16CS + algebra integrationResearch-backed, improves both CS and math
freeCodeCamp13+Full-stack web dev3,000+ hours, nonprofit
The Odin Project13+Full-stack web devTeaches reading documentation
Khan Academy Computing10+JS-based creative codingDrawing, animation, games
Hack Club13-18Student-led coding clubs60,000+ students, no teachers/curriculum

Key Organizations

  • Code.org -- Nonprofit, CS for All advocacy, state policy tracking
  • Raspberry Pi Foundation -- Free curricula, Code Club, CoderDojo
  • CSTA (Computer Science Teachers Association) -- K-12 standards, professional development
  • CSforAll -- Equity-focused CS education advocacy (US)
  • CAS (Computing at School) -- UK teacher network and resources

Sources & References

Academic Research

  • Papert, S. (1980). Mindstorms: Children, Computers, and Powerful Ideas. Basic Books.
  • Resnick, M. (2017). Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play. MIT Press.
  • Wing, J.M. (2006). "Computational Thinking." Communications of the ACM, 49(3), 33-35.
  • Bers, M.U. (2018). Coding as a Playground. Routledge.
  • Brennan, K. & Resnick, M. (2012). "New frameworks for studying and assessing the development of computational thinking." AERA.
  • Margolis, J. (2008). Stuck in the Shallow End. MIT Press.
  • Kafai, Y. & Burke, Q. (2014). Connected Code. MIT Press.
  • Vee, A. (2017). Coding Literacy. MIT Press.
  • Pea, R.D. & Kurland, D.M. (1984). "On the cognitive effects of learning computer programming." New Ideas in Psychology.
  • Lee, I. et al. (2011). "Computational thinking for youth in practice." ACM Inroads.
  • Weintrop, D. & Wilensky, U. (2015). "To Block or not to Block." IDC '15.
  • Lye, S.Y. & Koh, J.H.L. (2014). "Review on teaching and learning of computational thinking through programming." Computers in Human Behavior.
  • Tedre, M. & Denning, P.J. (2016). "The Long Quest for Computational Thinking." Koli Calling.
  • Bell, T. et al. (2009). "Computer Science Unplugged." NZ Journal of Applied Computing.

Community Sources

Government / Institutional Sources

  • UK: gov.uk Computing programmes of study
  • Finland: oph.fi (Finnish National Agency for Education)
  • Estonia: harno.ee (Education and Youth Authority)
  • Singapore: moe.gov.sg
  • Australia: v9.australiancurriculum.edu.au
  • Japan: mext.go.jp
  • South Korea: moe.go.kr
  • USA: csteachers.org (CSTA Standards), code.org/promote (state policy tracker)
  • Israel: weizmann.ac.il/sci-tea/cs
  • China: moe.gov.cn
  • India: cbseacademic.nic.in

Research compiled April 2026. Government curriculum details based on published standards through mid-2025. Community insights gathered from Reddit, Hacker News, and educator forums. Tool pricing and availability may have changed -- verify on official websites.