Dear Lifehacker, My daughter is in Year 7 and really enjoying learning coding at school. She has been using "scratch" to learn the basics. (My programming experience is pretty much limited to copying basic programs out of magazines into a Vic20 30 years ago.) We would like to spend some time together over the holidays learning a "real language". What language would you recommend? And is there an online course you could suggest we work through? Thanks in advance, Matt
Coding picture from Shutterstock
If you're looking to get her started on a full programming language, Python is a pretty good bet. It's clean, versatile and relatively easy to understand. Plus, it remains one of the most popular and widely-used scripting languages, which means she will be learning a highly-employable skill.
Crucially, this language is also open source and free to use, even for commercial applications. Python is often referred to as a scripting language, allowing programmers to churn out large quantities of easily readable and functional code in short periods of time. However, it also supports object-oriented programming styles if that's more your daughter's bag.
Python has been positioned by the dev community as a teaching language, so there are numerous learning tools available to help first-time coders. Free online training sites like Codecademy and other Hour of Code participants will help to get her started. These sites provide a range of app-creation tutorials that double as an introduction to the basics of programming. You can also find a swathe of beginner-friendly resources at the coding curator site Bento.
If you're willing to spend some dosh, Invent With Python is another valuable resource: it collects hundreds of educational ebooks about the language. (Start with Python for Kids: A Playful Introduction to Programming.) Prices range from $1 to more than $150.
You can pick up some additional tips via our in-depth guide to kids and coding. Once you've both got started, be sure to keep this Python Cheat Sheet on hand; it's a one-page reference sheet of variables, methods and formatting options for working with lists, files and strings. Good luck!
We're also going to throw this one over to programmer readers: what language would you recommend to an aspiring teenage coder? Share your suggestions in the comments section below.
Got your own question you want to put to Lifehacker? Send it using our contact form.