A collection of links to online materials that parents can use to help their children improve their programming skills. The material is organised as a set of challenges for those just starting out to children who want more of a challenge.
Created by Amanda Ford
last edited Sep 17 2012 by Michael Kölling
CAS are getting an increasing number of enquiries from parents asking what they can do to help their <insert age="" here=""> aged son/daughter improve their coding/programming skills. I reply with the standard Scratch/BYOB, Alice, Greenfoot, YouSrc, Python etc., with also some recommendations to websites such as Udacity, iTunes-U and so on.</insert>
We need to make something like this available from our public website with links to publicly available resources that parents can use at home with their children.
NB. Please limit resources to the following technologies (please recommend others if you think they have a unique place):
(I think we should add Raspberry Pi as a platform, and possibly the Arduino under the “Wanting a Challange” ~ alecthegeek
I would second that suggestion and possibly also add Lego Mindstorms to the list as an easy entry to robotics and physical computing ~ Peter Donaldson
(I’d second adding Pi and MindStorms. I suggest adding Small Basic as an alternative to Python; I’ve found it more accessible to beginners with an inviting interface and it is very well supported with well constructed materials and resources. It requires less explaining and is less intimidating to non-technical parents trying to support their kids. ~ Lyndsay Hope
A note on the Raspberry Pi: The Raspberry is a very cheap (UKP30) computer that can be used by a student as a learning platform. It requires the addition of a SD card, phone charger, TV, keyboard, mouse and wired internet connection or seperate wifi USB adaptor.
It totally depends on the learner. At least a grasp of what a computer program is and how it controls a computer. Some people can and will do amazing things.
LightBot is an web based game that also teaches some of the basic ideas of programming through a series of movement based programming problems. Simple commands are selected by the player in order to instruct the robotic hero of the game how to light up some panels that will unlock the next level.
LightBot 1.0 - The original version which is a good place for complete beginners.
LightBot 2.0 - A slightly more complicated set of challenges to stretch players further.
Scratch is a simple programming environment that allows users to create interactive media such as animations, simulations and games and then upload and share them with the rest of the Scratch community. It’s the ideal introduction to programming and shows just how powerful it is combining creative ideas that we all have with the processing power of computers.
You can create an account on the Scratch website which will allow you to comment on other members projects, download them to see how they work and upload your own work for the whole world to see. Sign up here.
Once you have installed Scratch and created an account it’s time to explore and one of the best places to get an idea of what’s possible is in the Scratch Tours section. Visit the tours section and explore the tours available to see what’s possible.
Art and storytelling projects are a good way to start learning the basics of Scratch as you don’t need to use the full range of instructions in order to create something interesting.
Download your favourite drawing program that uses the pen commands and either extend it or useit to help you create your own artistic masterpiece.
Download your favourite TV show Scratch project and then either extend it or create your own episode.
Peer under the skin of your favourite websites and even change their content! Sounds impossible but using the hackasaurus googles in either Chrome, Firefox, Opera or Safari will let you do just that.
Get started and download the goggles
Then visit your favourite website, activate the googles and then hit r on your keyboard to remix.
If you’d like to know what the tags such as <p></p> and <h1></h1> mean then a clear reference can be found at http://htmlhelp.com/reference/html40/olist.html
Hyper Text Markup Language (HTML) is the language used to describe the structure of the information on all the webpages you visit. Most of the layout and formatting is then created using another language called Cascading Style Sheets (CSS). Together they form the foundation of the web and are both used by web developers on a regular basis. The latest versions of these page description languages are HTML5 and CSS 3.0 and you can learn the basics by modifying the example projects at Mozilla Thimble Webmaker and then create some pages of your own.
Download the snakes games for experimentation. Unpack it and start playing with and changing the code and seeing what effect it has.
Free online resources on learning Python from Code Academy
Khan Academy Computer Science videos including Python programming
Java is a language used by professional programmers. However, downloading and installing Greenfoot and joining the Greenfoot community makes learning Java a whole lot easier. Children can easily create 2D animations, games and simulations with it or modify existing scenarios and then share their creations online.
Some project suggestions
Write a web application using Google App Engine
If you have Raspberry Pi consider attaching it to world devices. TODO Insert projects here
Get an Arduino and use it to manage the real word devices. TODO Insert projects here