ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Free Resources for Children to Learn Programming

Updated on December 13, 2013

Can Children Learn Programming?

Yes! And don't worry if you're not a programmer yourself either - there are some great sites and software programs out there which will guide your child through the whole process of learning about how computers are programmed and how to start writing code. You don't need to do anything yourself apart from create an account for them and perhaps download the required software, but if you sit down with them to go through the lessons you will find it to be a fun activity to do together - and perhaps you will learn something too!

Many people assume that programming is too complex for the average child to learn - that it is just for geeky teens and child prodigies. But, in fact, starting to learn how to code is a great activity for children, and if you use a good teaching tool (like those listed below!) it is not difficult. In many ways learning to code is even easier for children that it is for adults. That is because programming code is a kind of language, and children's brains are wired for learning language - that is how we have evolved because the biggest and most important task for a young person is to learn how to communicate . All of the evidence suggests that children find it much easier to learn a new language than adults do because of this, and for today's generation of tech-savvy kids there is every reason to think that this is the same for programming languages!

Learning to code is also a very valuable skill for kids to learn. Not only will it teach them transferable skills such as logical thinking and problem solving, but if they enjoy the experience and continue their learning it will provide them with one of the most valuable skills that they can have for their future career. Good programmers are in high demand, and this demand is only likely to rise in the future. Even if your child does not choose to pursue a career in computer science, they are likely to do something which involves computers - and a deeper understanding of how computers work and how to use them effectively can be a great help. Plus, perhaps most importantly - making your own games or apps is great fun!

Quick Poll

Do you think kids can learn computer programming?

See results

Khan Academy

The Khan Academy is an excellent collection of free online learning tools and resources for both children and adults. The site is probably most famous for its maths tuition, which includes hundreds of hours of video, challenges to test your skills, and plenty or badges and awards to keep you engaged. But at the end of the day, making maths fun is a difficult task, and although the Khan Academy does a good job of trying, many kids still won't want to do too a lot of maths outside of school. Fortunately making programming fun is much easier, and the Khan academy does an excellent job of it!

The programming course on Khan Academy focusses on using code to create drawings and animations. Members of the site watch a video in which the instructor writes a simple piece of code to create a drawing or animation, explaining the basic programming principles and techniques being used. At any point during this you can pause the video and 'tinker' with the code to make changes and see what happens. To start off with this can be as simple as dragging an arrow to change numbers which define to colour or increase and decrese the size of various parts of a cartoon drawing. You can also create your own programs in the online code editor, using the things that you learn, and then share them in a gallery. You earn points for each video you watch, each question you ask, and every 'spin off program' that you create. You can work towards earning a wide range of badges for reaching goals along the way, which is a great way to keep children engaged with the process of learning.

This course introduces people to many of the most important aspects of computer programming in a very easy to follow way - and best of all students will be learning a real programming language. The code used on Khan Academy is based on JavaScript and Processing.js. Javascript is one of the most widely used languages on the internet, meaning the students can take what they learn out of the classroom and use it to make real life applications and websites.

A gallery of programs created by students of the Khan Academy
A gallery of programs created by students of the Khan Academy | Source


Scratch is a free piece of software develop by MIT's Media Lab, which is aimed at children between the ages of 8 and 16.

Scratch is a 'visual programming language' which makes it super easy to learn about coding without having to the learn all of the syntax and rules of a real programming languages. Students using scratch will learn to create their own games, music, interactive stories, animations and more by building up a program from visual command blocks that can be dragged and dropped or inserted from menus.

This is a great way for children to learn the basic principles of computer programming and develop their problem solving skills in a fun environment and with biggest stumbling block - learning the syntax (the grammar, if you like) of a programming language - removed entirely. of course this does also mean that students are not learning a real language which they can use to write code off the site. But if you are looking for a gentle introduction to the subject which will provide a strong jumping off point for your child to start learning a real programming language later then Scratch is an excellent choice.

An Introduction to the Scratch Software


In many ways Alice is very similar to Scratch. You drag and drop visual command blocks to build up a program, learning the basic principles of computer science as you go. Students using Alice can make their own videos, 3D animations and interactive games.

Although the user interface of Alice is somewhat less polished and attractive than Scratch, it does have one big advantage - each command block corresponds to a standard statement in a heavyweight programming language such as Java, C++, or C#. Although students don't need to learn the code from these languages in order to create their programs, they will build up a familiarity with real code, and are offered an excellent starting point to learn more and become a real programmer.

A gallery showing some of the artwork created by users of Alice
A gallery showing some of the artwork created by users of Alice | Source

Code Academy

Code Academy is more in depth and less visually orientated that the other tools I have written about here. Because of this it is probably not appropriate for younger children, but for teens (or even younger if your child is particularly precocious) it is an excellent introduction to a range of different languages.

Each course on Code Academy is relatively short, and starts off with the basics before gradually getting harder. Later parts of the course can be quite challenging, but the fact that you are tasked with writing real chunks of code from start to finish means that graduates from a code academy course are well placed to start writing their own apps or programs. The course won't teach you everything you need to know, but it definitely gives you enough to get started and to create some basic programs and games from scratch - which isn't really the case with the other tools I've mentioned.

The site has active discussion forums to help you out when you get stuck, is completely free to use, and is all online so you don't have to download any software.

One of the good things about Code Academy is that it has a wide range of short courses in different languages, meaning you can take a few different courses to get a 'taster' of each language before deciding which one you want to learn in more depth.

The course on javascript is also an excellent 'next step' for children who have completed the easier Khan Academy course, allowing them to build on what they have already learned to gain the skills needed to develop real apps which can be published on the web.

Making Stuff

One of the best ways for kids to learn programming is by actually making physical things. In recent years there has been an explosion in the number of cheap electronic products which aim to teach children a wide range of technical skills and knowledge, from computer science to robotics to writing code, through making fun projects.

Of course, unlike the other resources I've listed here this is not free. I apologize for deviating from the free theme for this last section, but the cost of these kits is not high, and they are well worth the money.

The Raspberry Pi is an excellent example of this. Available to buy for around $35 or £25, the Raspberry Pi is a micro-controller - a mini computer - which can be used to control LED lights, motors and even robots using simple programming. There are loads of great kits and software tools available to guide children through the process of starting to learn programming and making various projects. And once the beginner projects have been completed there is a near infinite range of different things you can do by buying and adding cheap components, making it easy to inspire young users to take their new found knowledge and skills to the next level.

Another new project which looks like it has great potential is Kano, which is a cheap and simple kit to make your own computer. It is specifically aimed at children and will teach them loads of stuff about computer science in general as well as about how to write code and make their own simple software programs.

The Kano Kit, which even comes with stickers for kids to decorate and personalize  the computer they make.
The Kano Kit, which even comes with stickers for kids to decorate and personalize the computer they make. | Source


    0 of 8192 characters used
    Post Comment
    • profile image


      3 years ago

      Hi, thanks for the article. I'm a software engineer and my daughter loves - I was looking for other options to encourage her interest.

    • electronician profile imageAUTHOR

      Dean Walsh 

      5 years ago from Birmingham, England

      Thanks FlourishAnyway, glad to be useful, please do let me know how it goes if you decide to give any of these a try!

    • FlourishAnyway profile image


      5 years ago from USA

      Thank you for writing about this. Although this is not my forte, I am always seeking out new learning opportunities for my daughter and myself. It's hard when I don't know where to start nor what information to trust. Thanks for being the go-to on this. I like your inclusion of free resources. Voted up ++ and shared.

    • electronician profile imageAUTHOR

      Dean Walsh 

      5 years ago from Birmingham, England

      That's great! I think you are right, these websites can be great for adults too, especially if you are a creative type of person because they focus an using programming for artistic and creative projects rather than dry calculations and the like.

    • KoraleeP profile image

      Koralee Phillips 

      5 years ago from Penticton British Columbia Canada

      Your Hub is brilliant because not only is it a great idea for children to learn coding, but adults can also use these websites. If they don't know anything about coding and want to learn.

      It reminds me of a quote from the movie Philadelphia, "Now, explain it to me like I'm a four-year-old."

      Coding is a skill that everyone should know at least a little bit about. I took a course in the 90s but have forgotten a lot. I'm going to check out these websites as a refresher course :), and they sound like a lot of fun too.


    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at:

    Show Details
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the or domains, for performance and efficiency reasons. (Privacy Policy)
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
    ClickscoThis is a data management platform studying reader behavior (Privacy Policy)