Why our approach works

Built on how children actually learn

Every class is built around what decades of learning research says makes skills stick: lots of short, focused practice, mastering each step before moving on, and an instructor right there when your child is stuck.

Here is the research behind the way we teach, and how it shows up in every class.

1. Practice that makes it stick
The research:

Practising recall beats rereading for long-term memory (Roediger & Karpicke, 2006).

In a study published in Science, it even beat detailed concept-mapping (Karpicke & Blunt, 2011).

A large review found practice testing beat every method it was compared with (Adesope, Trevisan & Sundararajan, 2017).

Learning scientists rate it one of only two "high-utility" study techniques (Dunlosky et al., 2013).

How we do it:

Your child writes the code themselves, again and again.

For each small skill, like nested if statements, they write it tens of times.

Across a whole topic, like if statements, that adds up to hundreds of times.

Because every exercise is short, your child gets many chances to recall and use an idea in a single class, rather than spending the whole session on one long task.

All that recalling and writing, week after week, is what makes the skills last.

2. Master each step before moving on
The research:

In mastery learning, students move on only once they have truly understood a topic.

A review of 108 studies found it lifts an average student from the middle of the class into the top third (Kulik, Kulik & Bangert-Drowns, 1990).

Students who were struggling gained the most.

A second review of 46 studies found better results and better attitudes to learning (Guskey & Pigott, 1988).

How we do it:

Learning is self-paced, like Kumon.

Your child moves on when a topic is solid, not when the rest of the class does.

If something is easy, they move through it quickly.

If it's tricky, they stay with it, with as much practice and help from their instructor as they need, until it clicks.

No one is bored, no one is left behind, and every new topic is built on foundations that are already secure.

3. A real teacher when they're stuck
The research:

Personal tutoring is one of the most powerful tools in education.

In Benjamin Bloom's famous studies, the average student taught one-on-one outperformed about 98% of students taught in a regular class (Bloom, 1984).

Later research found the benefit was smaller than Bloom reported, but still large (VanLehn, 2011).

A review of nearly 100 randomised experiments, with children from preschool to Grade 12, found that tutoring gave consistent, substantial gains in both reading and maths (Nickow, Oreopoulos & Quan, 2020).

That included tutoring in small groups, not just one-on-one. The gains were strongest for younger children.

How we do it:

Every week your child works with the same instructor, who knows where they are in the curriculum and what they find tricky.

Because the work is self-paced, the instructor isn't lecturing the whole group.

Instead they move between students and step in the moment someone is stuck.

That means help arrives exactly when it matters, before frustration sets in.

Between classes, your child can keep practising at home as much as they like and bring their questions to the next session.

4. From reading code to writing it
The research:

Beginners learn best by studying complete examples first, then doing more of the work themselves, step by step. Researchers call this "fading" (Renkl & Atkinson, 2003).

Removing steps gradually helps students solve new problems on their own (Atkinson, Renkl & Merrill, 2003).

In programming, students who completed partly written programs became better programmers, and fewer dropped out (van Merriënboer, 1990).

Scaffolded code exercises also teach just as much as writing code from scratch, in less time (Ericson, Margulieux & Rick, 2017).

How we do it:

Every topic starts with reading code, through true-or-false and multiple-choice questions about what the code does.

Next come fill-in-the-blank exercises.

Once your child is familiar with how the code is structured, we take more and more of it away.

First they fill in a few variables, then larger parts, until they are writing every line of each exercise themselves.

Because each step asks only a little more than the one before, your child is never left staring at a blank screen wondering where to start.

5. Finding and fixing bugs
The research:

Debugging is its own skill, and it improves when it is taught directly.

School students taught a step-by-step way to debug became better at it, and more confident, than students who only practised (Michaeli & Romeike, 2019).

Spotting and fixing mistakes also makes learning last: students who did it scored higher a week later (McLaren, Adams & Mayer, 2015).

And beginners who can trace code line by line go on to write code well (Lopez et al., 2008; Venables, Tan & Lister, 2009).

How we do it:

Debugging is built into every single section of our curriculum, and there are two whole sections dedicated to it as well.

That's how important we think it is.

Your child learns to trace what code actually does, spot what's wrong, and fix it.

It's also how every free first class works: your child gets real code with bugs in it and works out how to fix them.

These are the skills professional programmers use every day, and they matter even more now that AI writes code that someone has to check.

6. Steady, regular practice beats cramming
The research:

Across hundreds of experiments, spreading practice out beats cramming for long-term memory (Cepeda et al., 2006).

Spaced practice is the other "high-utility" study technique (Dunlosky et al., 2013).

Combining spaced practice with practice testing makes both work even better (Kang, 2016).

How we do it:

One focused class every week, plus as much practice at home as your child wants.

Little and often, week after week, is how the skills become automatic.

Our curriculum is also designed so that earlier ideas keep coming back.

Loops, conditions and lists reappear in later topics and in our debugging questions, so your child revisits them long after first learning them, which is exactly the kind of spacing the research recommends.

What this looks like in practice

Real Python from day one, thousands of short exercises, a curriculum built over 5.5 years with 275 university computer science contributors, and a path all the way to university-level computer science and AI. It has already been used by nearly 9,000 children across the US, Australia and Fiji.

Read more about what your child will learn in Our Coding Curriculum.

See it for yourself

The best way to understand our approach is to watch your child try it. Book a free first class.

A note on the research

Most of these studies were done in schools and universities across many subjects, not only coding for children. We've built our program around their most consistent findings, and we watch closely how our own students progress.

References

Adesope, O. O., Trevisan, D. A., & Sundararajan, N. (2017). Rethinking the use of tests: A meta-analysis of practice testing. Review of Educational Research, 87(3), 659–701.
Atkinson, R. K., Renkl, A., & Merrill, M. M. (2003). Transitioning from studying examples to solving problems: Effects of self-explanation prompts and fading worked-out steps. Journal of Educational Psychology, 95(4), 774–783.
Bloom, B. S. (1984). The 2 sigma problem: The search for methods of group instruction as effective as one-to-one tutoring. Educational Researcher, 13(6), 4–16.
Cepeda, N. J., Pashler, H., Vul, E., Wixted, J. T., & Rohrer, D. (2006). Distributed practice in verbal recall tasks: A review and quantitative synthesis. Psychological Bulletin, 132(3), 354–380.
Dunlosky, J., Rawson, K. A., Marsh, E. J., Nathan, M. J., & Willingham, D. T. (2013). Improving students' learning with effective learning techniques: Promising directions from cognitive and educational psychology. Psychological Science in the Public Interest, 14(1), 4–58.
Ericson, B. J., Margulieux, L. E., & Rick, J. (2017). Solving Parsons problems versus fixing and writing code. Proceedings of the 17th Koli Calling International Conference on Computing Education Research, 20–29.
Guskey, T. R., & Pigott, T. D. (1988). Research on group-based mastery learning programs: A meta-analysis. Journal of Educational Research, 81(4), 197–216.
Kang, S. H. K. (2016). Spaced repetition promotes efficient and effective learning: Policy implications for instruction. Policy Insights from the Behavioral and Brain Sciences, 3(1), 12–19.
Karpicke, J. D., & Blunt, J. R. (2011). Retrieval practice produces more learning than elaborative studying with concept mapping. Science, 331(6018), 772–775.
Kulik, C.-L. C., Kulik, J. A., & Bangert-Drowns, R. L. (1990). Effectiveness of mastery learning programs: A meta-analysis. Review of Educational Research, 60(2), 265–299.
Lopez, M., Whalley, J., Robbins, P., & Lister, R. (2008). Relationships between reading, tracing and writing skills in introductory programming. Proceedings of the Fourth International Workshop on Computing Education Research (ICER '08), 101–112.
McLaren, B. M., Adams, D. M., & Mayer, R. E. (2015). Delayed learning effects with erroneous examples: A study of learning decimals with a web-based tutor. International Journal of Artificial Intelligence in Education, 25(4), 520–542.
van Merriënboer, J. J. G. (1990). Strategies for programming instruction in high school: Program completion vs. program generation. Journal of Educational Computing Research, 6(3), 265–285.
Michaeli, T., & Romeike, R. (2019). Improving debugging skills in the classroom: The effects of teaching a systematic debugging process. Proceedings of the 14th Workshop in Primary and Secondary Computing Education (WiPSCE '19). ACM.
Nickow, A., Oreopoulos, P., & Quan, V. (2020). The impressive effects of tutoring on PreK-12 learning: A systematic review and meta-analysis of the experimental evidence (NBER Working Paper No. 27476). National Bureau of Economic Research.
Renkl, A., & Atkinson, R. K. (2003). Structuring the transition from example study to problem solving in cognitive skill acquisition: A cognitive load perspective. Educational Psychologist, 38(1), 15–22.
Roediger, H. L., & Karpicke, J. D. (2006). Test-enhanced learning: Taking memory tests improves long-term retention. Psychological Science, 17(3), 249–255.
VanLehn, K. (2011). The relative effectiveness of human tutoring, intelligent tutoring systems, and other tutoring systems. Educational Psychologist, 46(4), 197–221.
Venables, A., Tan, G., & Lister, R. (2009). A closer look at tracing, explaining and code writing skills in the novice programmer. Proceedings of the Fifth International Workshop on Computing Education Research (ICER '09), 117–128.

contact us
Book Your Free First Class, call or text us 650.733.6652, email us at info @ aubot.com or write us a message below and we'll get back to you as soon as possible.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
NEWSLETTER

Get promotions & updates!

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.