Give the perfect holiday gift for tech-minded kids: 25% off! Learn More

dark mode light mode Search Menu

Teach Python to Kids

Perhaps the best approach is one Simon Haughton, a UK primary school ICT manager, has created and refined.

His approach uses phones and tablet apps as the code writing tool and a small but tightly scripted curriculum to teach the key parts of Python for kids. His short course also offers lots of room for anyone to play with and adapt each lesson.

For example, once kids have opened the Pythonista app for iPhones and iPads (other options also linked below), his first lesson has the kids type these Python commands:

print 'Hello world.'
print 'I can print text.'
print '\n'
print 'Why did the beach cry?'
print 'Because the seaweed!'

This will generate the following text, with an empty (new) line for the \n character:

Hello world.
I can print text.

Why did the beach cry?
Because the seaweed!

This lesson is simple, funny, and brilliant because once kids do this task, it’s easy for them to replace these first words with any other words they want. Plus the \n new line character (n is short hand for new, get it?) shows kids how to create spaces above and below their text.

From printing text, Haughton’s lessons evolve into common calculations, variables, inputting text and numbers, generating random numbers (to amusing effects kids will appreciate), lists, functions, and more.

Once you learn the basics of Python, and play by changing text and numbers in your code, what else can you do with Python?

That’s a great question. Where bubble or block languages like Scratch, Hopscotch, and Tynker let you create visual applications and interactive games, it is often hard to export your work to code to adapt outside of these applications. Python has the opposite problem.

Python is used almost everywhere in professional programming, games, and other applications. However, you have to seek out opportunities to use the language. For example, Google hosts a set of Computational Thinking resources which include courses that use simple Python to learn. Plus, while you can see your PHP code output easily in a web browser, Python output can display as web pages but also as output to and from other applications, as well as in a command line interface tool like iTerm or Terminal.

Given these details, should you teach Python to kids? I’d say absolutely.

For one, Python in general and Simon Haughton’s lesson plans in particular, help solve a big problem with teaching kids coding. Most kids will learn a little coding then discover coding doesn’t really interest them. How do you teach people enough programming to understand the basics without overwhelming them?

Haughton’s course is the perfect way to introduce anyone to programming, enough to get the concepts and the excitement of making a computer do things, but not in a too technical way. Anyone can take half an hour to work through these lessons, gain a simple mastery, then choose to move on or not.

And for people who get the programming bug, learning a bit of Python helps provide context for learning Scratch, Hopscotch, and any other language. Haughton’s work happens to be a simple, excellent place to begin.

Learn More

Simon Haughton

Simon Haughton’s Python Programming Guides


An iPhone/iPad app.>

QPython (Android)

Python for iOS (Python 2.7) (Python 3.0) (Python 3.3) (Python 3.4)

Python 3 for Windows Phone

Python on Mac OSX Desktop

Python on Windows

Hosted Python

Python Fiddle

An online integrated development environment (IDE) for Python.

Python Turtle

One-click install of Python (if needed) and interface to learn Python by making a turtle move around the screen.

Exploring Computational Thinking (Google)

Python Resources

This page lists links to tools, tutorials, history, documentation, open source Python projects, and more.

Python Tutorials