beanz Magazine

Teach Python to Kids

Contrary to what you might think, the Python programming language is not too complicated for kids to learn and use effectively.

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

https://www.kidscodecs.com/an-interview-with-simon-haughton/
http://www.simonhaughton.co.uk

Simon Haughton’s Python Programming Guides

http://simonhaughton.typepad.com/files/python-programming-guide.pdf
http://simonhaughton.typepad.com/files/a-childrens-guide-to-python-programming-2.pdf
http://www.simonhaughton.co.uk/python-programming-guide.html

Pythonista

An iPhone/iPad app.
http://omz-software.com/pythonista//a>
https://itunes.apple.com/us/app/pythonista/id528579881?ls=1&mt=8

QPython (Android)

https://play.google.com/store/apps/details?id=com.hipipal.qpyplus

Python for iOS

https://itunes.apple.com/us/app/python-2.7-for-ios/id485729872?mt=8 (Python 2.7)
https://itunes.apple.com/us/app/python-3.0-for-ios/id577919796?mt=8 (Python 3.0)
https://itunes.apple.com/us/app/python-3.3-for-ios/id577911279?mt=8 (Python 3.3)
https://itunes.apple.com/us/app/python-3.4-for-ios/id583476348?mt=8 (Python 3.4)

Python 3 for Windows Phone

http://www.windowsphone.com/en-us/store/app/python-3/39fc5c60-fe79-4a3f-82b8-cb104d301a77

Python on Mac OSX Desktop

http://www.python.org/download/mac/

Python on Windows

http://www.python.org/download/windows/

Hosted Python

https://www.pythonanywhere.com/

Python Fiddle

An online integrated development environment (IDE) for Python.
http://pythonfiddle.com/

Python Turtle

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

Exploring Computational Thinking (Google)

http://www.google.com/edu/computational-thinking/lessons.html

Python Resources

This page lists links to tools, tutorials, history, documentation, open source Python projects, and more.
https://www.kidscodecs.com/resources/programming/python/

Python Tutorials

http://www.tutorialspoint.com/python/

Also In The September 2014 Issue

How to Choose Great Toys

The best toy is one that is fun for your child and meets their needs. This article helps with ideas how to choose toys and where to find them.

Scratch

People use the Scratch language to create interactive stories, games, and animations. Includes an active community to share projects.

Jenn Choi Talks Raising Boys and Toys are Tools

Jenn Choi publishes an online magazine to help parents find toys while also helping to raise her two sons.

How to Describe a Database to a Child

Databases are mysterious but critical technology. Here's one simple way to describe them to kids (and adults).

Cookies

While not as delicious as real cookies, website cookies provide a critical and useful benefit for anyone who uses a website.

Luis Carbajosa Talks about Family, Tech, and Five Boys

Luis Carbajosa is a Civil Engineer in Spain who, with his wife, are raising five boys who love technology.

If you can’t explain it to a six year old, you don’t understand it yourself.

Teach Python to Kids

Contrary to what you might think, the Python programming language is not too complicated for kids to learn and use effectively.

Where to Find Projects for Kids

Find kid-friendly projects online to keep you and your kids busy having fun and learning.

Little Kids and Computer Science

Little kids and computer science might appear a odd match. Computer science sounds complex. But there is a curriculum for little kids.

September 2014 Learn More Links

Links from the bottom of all the September 2014 articles, collected in one place for you to print, share, or bookmark.

September 2014 News Wire

Interesting stories about computer science, software programming, and technology for the month of August 2014.