How to Teach Coding to Kids Online: From Scratch to Python

October 2026  ·  11 min read

Short answer: Teach coding to kids online by matching the tool to their age: ScratchJr or unplugged sequencing for 5–7s, Scratch for 8–11s, then text-based Python from around 11–13 once they can type and reason about variables and loops. Keep lessons to 30–60 minutes, have the child drive the keyboard while you watch their shared screen, finish a small working project every session, and treat every bug as the lesson rather than an interruption.

Coding is one of the few subjects where an online lesson can be better than an in-person one. The child is already at a computer, the code lives on their screen, and you can both see exactly what happens when they press run. The hard parts are different: keeping a nine-year-old focused through a webcam, resisting the urge to grab the mouse, and knowing when a child is ready to leave blocks behind for real syntax.

This guide is for coding tutors and teachers working with children aged roughly 5 to 16. It covers an age-by-age path, first projects that actually work, how to set up screen sharing, how to keep kids engaged, how to turn debugging into the main event, and how to bridge from Scratch to Python and on to GCSE Computer Science.

What age should kids start learning to code?

There is no single right age, but there are right tools for each stage. Reading ability, typing speed and attention span matter more than the birthday. A seven-year-old who reads confidently may be ready for Scratch; a twelve-year-old who has never used a keyboard may need a few weeks of blocks before Python.

Use this table as a starting map, then adjust to the child in front of you.

Age Tool Core concepts Lesson length Typical first project
5–7 ScratchJr (tablet), unplugged activities Sequencing, instructions, simple repeats 20–30 min Make a character walk, jump and say hello
8–10 Scratch Events, loops, coordinates, simple conditions 30–45 min Catch-the-falling-apple game
10–12 Scratch (advanced), micro:bit MakeCode Variables, score, broadcasts, clones, lists 45–60 min Quiz with score and lives
11–14 Python (Thonny or a browser editor), turtle Syntax, input/output, if/elif/else, for and while loops 45–60 min Number-guessing game
14–16 Python, GCSE pseudocode Functions, lists, files, searching and sorting, trace tables 60 min Login checker or high-score file

What are good first coding projects for kids?

A good first project is small enough to finish in one lesson, visible on screen, and easy to personalise. Children stay motivated when they leave each session with something that works and that they can show a parent.

For ScratchJr (5–7): Pick a character, make it move across the screen, add a jump and a speech bubble. Then add a second character who responds. That single scene covers sequencing, start triggers and timing.

For Scratch (8–11): The falling-apple game is a reliable first build. A sprite falls from a random x position at the top, the player moves a bowl with arrow keys, and touching the bowl adds one to a score variable. It introduces events, the forever loop, random numbers, the coordinate grid, an if block and a variable, in roughly 30 to 40 minutes.

For Python (11+): A number-guessing game is the classic for good reason. The computer picks a number from 1 to 100 using random.randint, the player guesses, and the program says "higher" or "lower" until they get it. It covers imports, variables, input(), converting to int, a while loop and if/elif/else. Turtle drawings (a square, then a spiral, then a coloured star) are a gentler alternative for children who like visual results.

Whatever the project, let the child choose the theme. A football penalty game and a cat-catching-fish game teach identical concepts, but only one of them is theirs.

How do I set up screen sharing for online coding lessons?

The golden rule: the child drives, you navigate. They share their screen and type; you watch, ask questions and point. If you share your screen and code while they watch, they will nod along and learn very little.

Before the first lesson, run through this setup checklist with the student and a parent:

  1. Device: a laptop or desktop for Scratch and Python. Tablets suit ScratchJr but make typing code painful.
  2. Accounts: create the Scratch account in advance. For under-13s, Scratch asks for a parent or guardian email, so do this with the parent, not the child.
  3. Editor: install Thonny for Python (simple, beginner-friendly, includes Python) or agree on a browser-based editor if the device is locked down, such as a school Chromebook.
  4. Screen share test: confirm the child can share their screen in Zoom, Google Meet or Teams, and practise stopping and restarting the share.
  5. Remote control: Zoom lets you request remote control of a shared screen. Agree with the parent whether you will ever use it, and use it rarely, for setup problems only.
  6. Two windows: a second monitor for you, or a split screen, so you can see their code and your notes at once.
  7. Zoom level: ask the child to enlarge the editor font. Shared screens compress text and small code becomes unreadable.
  8. Safeguarding: agree that a parent is nearby, lessons happen in a shared space rather than a bedroom where possible, and you follow your organisation's policy on recording. UK tutors working with children should have an up-to-date enhanced DBS check.

When you need to show something, share your own screen for no more than a minute or two, then hand control back. For a deeper look at running the very first session, see our guide to running a perfect trial lesson.

How do I keep kids engaged in online coding lessons?

Online attention is fragile, especially for under-tens. Engagement comes less from flashy slides and more from the child doing something every couple of minutes.

A reliable 45-minute lesson flow for a 9–11-year-old looks like this: a 5-minute recap where they show last week's project, a 5-minute mini-demo of one new idea, 25 minutes of building with you asking questions, 5 minutes of testing and fixing, and 5 minutes to show off the result and set a challenge.

How do I teach debugging to kids?

Debugging is not a detour from learning to code; it is most of learning to code. Children who learn early that errors are normal and solvable become far more independent programmers.

Resist fixing their bugs. When something goes wrong, ask questions in this order:

  1. What did you expect to happen?
  2. What actually happened?
  3. Where in the code does that part happen?
  4. What could we change to test your idea?

In Scratch, encourage clicking individual blocks to see what each does, and adding "say" blocks to show a variable's value. In Python, teach children to read the error message from the bottom up: the last line names the error type (SyntaxError, NameError, TypeError, IndentationError) and the line number. Adding a print() to check a variable is the simplest debugging tool there is, and it carries all the way to professional work.

A useful habit is "rubber duck" debugging: the child explains their code line by line, out loud, to you or to a toy. They frequently spot the mistake mid-sentence. You can also plant deliberate bugs, for example a loop that never ends or a score that resets every frame, and turn finding them into a game.

When should kids move from Scratch to Python?

Move a child to Python when they are bored by Scratch's limits rather than confused by its ideas. Good signs include using variables and conditions confidently, building games with several sprites and broadcasts, typing at a reasonable speed, and asking to make things Scratch cannot easily do.

Bridge the gap by translating concepts they already know:

Rebuilding a Scratch project they already made, such as a quiz, in Python is an excellent first step because they know what the program should do and can focus on how. Expect the first few weeks to feel slower. Typos, colons and indentation will cause most errors, so treat them as patterns to learn rather than failures. Python's turtle module helps bridge the visual gap, because the output still moves on screen.

How do I prepare students for GCSE Computer Science?

GCSE Computer Science in England is graded 9–1 and assessed by written exams at the end of the course, with no assessed coursework. The main boards are AQA, OCR and Pearson Edexcel. Each uses two papers: broadly one on computer systems and theory, and one on computational thinking, algorithms and programming. Paper lengths, the format of the programming paper (Edexcel's programming paper is taken on screen) and the pseudocode style differ by board, so always check the current specification for the board your student's school uses.

Students must still complete practical programming during the course, and every board examines programming in the exam, so Python practice is essential. Focus your tutoring on:

A sensible Year 10–11 tutoring rhythm is one weekly hour split roughly between a programming task and a theory topic, with a timed past-paper section every few weeks. Students who arrive at Year 10 already comfortable in Python have a real head start, which is the payoff of the Scratch-to-Python path above.

What does a progression plan look like over a year?

For a 9–10-year-old starting from zero with one 45-minute lesson a week, a realistic year might run like this. Weeks 1–8: Scratch basics, events, motion and simple loops through two or three short games. Weeks 9–20: variables, conditions, broadcasts and a larger project with levels. Weeks 21–30: clones, lists and a self-designed game. Weeks 31–40: either deeper Scratch projects or, if ready, a gentle Python start with turtle. A curriculum platform such as Derstina, which includes coding lessons for Scratch, Python and computer science alongside progress tracking and homework, can save you building this sequence from scratch.

Keep a simple record of which concepts each child has used independently. It makes progress visible to parents and shows you when a student is ready to step up. Our post on why every tutor needs a student portal covers how to share that progress, and the best ways to teach students online has wider tips for remote teaching.

Frequently Asked Questions

Can a 6-year-old learn to code online?

Yes, with the right tool and a short lesson. ScratchJr on a tablet, combined with unplugged activities like giving step-by-step directions, suits most 5–7-year-olds. Keep sessions to 20–30 minutes and have a parent nearby to help with the device.

Is Scratch or Python better for kids?

Scratch is better for most children under about 11 because it removes typing and syntax errors and lets them focus on logic. Python is better once a child can type comfortably and has outgrown Scratch's limits. Many children benefit from doing Scratch first, then moving to Python around age 11–13.

How long should an online coding lesson for kids be?

Aim for 20–30 minutes for 5–7-year-olds, 30–45 minutes for 8–10-year-olds and 45–60 minutes for older children and GCSE students. Every lesson should end with something that works. Shorter, more frequent lessons beat long ones for younger children.

Do I need to be a professional programmer to teach kids coding?

No, but you need to be comfortable well beyond the level you teach. For Scratch and beginner Python, solid fundamentals and good teaching matter more than industry experience. For GCSE tutoring you should know the specification, the algorithms and the board's pseudocode thoroughly.

What equipment does a child need for online coding lessons?

A laptop or desktop computer, a reliable internet connection, a webcam and microphone, and a free Scratch account or a Python editor such as Thonny. A tablet works for ScratchJr but is awkward for typed code.

Is GCSE Computer Science hard?

It is demanding because it combines programming with a wide range of theory, and programming is examined in written or on-screen papers. Students who practise Python regularly and learn to trace code by hand usually find it far more manageable. Starting programming before Year 10 helps considerably.

Coding lessons from Scratch to Python, ready to teach

Ready-made coding lessons and curriculum covering Scratch, Python and computer science, with homework, student games and progress tracking so parents can see what their child has learned. Free for up to 2 students, with a 7-day free trial on paid plans.

Start teaching coding free →