Resources for teaching programming to children
Tags: teaching, coding, kids, beginners
Published: 2019-06-16 23:03:31

---
title: Resources for teaching programming to children
published: true
description: Want to teach your kid, or your grandma how to code? Here are resources for you.
tags: teaching, coding, kids, beginners
cover_image: https://thepracticaldev.s3.amazonaws.com/i/kj5tt4b15l566taa4gfd.png
---

By doing this for the second [time](https://dev.to/ljuneaul/useful-links-for-code-newbies-who-want-to-study-more-than-coding-5fik), I feel like I should make a series of "E-Mails to my friends".

This post is based on an e-mail I've sent to a friend of mine yesterday. He is a father of four brilliant girls. I met him yesterday and he was wanting to teach her daughters coding but was wondering where to start.

Luckily for him, while volunteering for several organizations, I became kinda expert on that subject. Most of the resources in this post are ones that I actually used with children. Except for the hardware and Organizations at the and, I have listed in an order that I want a kid would take.

---

- Basic concepts
    - [LightBot](http://lightbot.com/) - iOS & Android

        A great starting point. With this app, a child can learn basic concepts of code such as giving specific instructions, loop, and function. Since the place for each step is limited, they also have to learn how to write a compact code without repetition.

        ![LightBot](https://thepracticaldev.s3.amazonaws.com/i/rbtezd22am4l2c8eui7k.png)

    - [Swift Playground](https://www.apple.com/ca/swift/playgrounds/) (by Apple) - iOS & macOS

        I bit more advanced than LightBot since it used (kinda) real code lines with text instead of icons.
        But children love the idea they are playing around a realistic world.

        ![Swift Playground](https://cdn0.tnwcdn.com/wp-content/blogs.dir/1/files/2016/07/IMG_2252-796x597.jpg)

- Actual coding
    - [ScratchJr](https://www.scratchjr.org/) (by MIT) - iOS & Android

        Love it. Kids can do pretty much anything such as condition, event handler, variable, creating graphics & audio. But every function is graphic rather than text, so it's very easy and intuitive.

        Here is [a video of a game controller](https://twitter.com/Westwood_HWDSB/status/1136648003354353664) one of my students has created less than half an hour.

        ![ScratchJr](https://www.scratchjr.org/images/learninterface.png)

    - [Hopscotch](https://www.gethopscotch.com/) - iOS

        Why is it doesn't have an Android version? It's a shame.

        It would be a bit harder than ScratchJr since it's text-based, but one thing I really like about it is that it has so many tutorials, so even who is less creative and have no idea what to do (like me) can just follow a tutorial to make games.

        ![Hopscotch](https://thepracticaldev.s3.amazonaws.com/i/bpp0yy7a2scxn3e07xjo.jpg)

    - [Scratch](https://scratch.mit.edu/) (by MIT) - Web

        The most famous one. There is a reason for that. Even Harvard University uses it at the beginning of their intro CS class([CS50](https://www.edx.org/course/cs50s-introduction-to-computer-science))

        The possibilities are unlimited. example: [Mario Kart Pacman](https://scratch.mit.edu/projects/290030950/)

        Here is [a quick tutorial for Pong](https://en.scratch-wiki.info/wiki/Pong).

        Thanks to its fame and long history, It's very well documented and there are millions of resources and examples.

        ![Scratch](https://upload.wikimedia.org/wikipedia/commons/f/fb/Scratch_2.0_Screen_Hello_World.png)

    - [Intro to JS: Drawing & Animation](https://www.khanacademy.org/computing/computer-programming/programming) by [Khan Academy](https://www.khanacademy.org/) - Web

        I mainly used Khan Academy to study math, but There're JS course is also good. There are videos and integrated web-editor that gives guide step by step.

        Actually, one of the reasons I decided to write this post is that a few hours ago, I was watching [Heroines of JavaScript series](https://www.twitch.tv/events/0YK5JEx4SLa9roW1aK6jBA) which that [Michael Jolley](https://twitter.com/michaeljolley)'s daughters Lauryn & Layla were interviewing [Sara Vieira](https://twitter.com/NikkitaFTW) the girls asked to hear how they can code better. I pasted the link to the chat, and Michael said that one of the girls were actually using it.

        I also studied JavaScript for the first with this one as well (not as a child but as an adult, but anyway).

        ![Khan Academy - Intro to JS: Drawing & Animation](https://thepracticaldev.s3.amazonaws.com/i/qjvplad0rvzy4mxys0fd.png)

- Hardware
    - [Micro:Bit](https://microbit.org/) (by BBC) - iOS & Android & PC

        It could be used via whether code with tablet using tool similar to Scratch or even with Python on PC. Kids love it since it makes programming tangible. Even the most mindless one went craze on this.

        ![Micro:Bit](https://microbit.org/images/javascript-editor.png)

    - [Raspberry Pi](https://www.raspberrypi.org/) - PC

        The only one I haven't tried by myself. It mainly uses Python but also available with other languages.

        This year's [The Bay Area Science and Engineering Fair](http://www.basef.ca/) that was held in our school, I saw a kid has made pee detecter&alarm that can be put inside a baby's diaper.

        ![Raspberry Pi](https://www.maxpixel.net/static/photo/2x/Technology-Tech-Raspberry-Pi-Device-Electronic-3676379.jpg)

- Programs & Organizations
    - Worldwide
        - [Code Club International](https://www.codeclubworld.org/)

            It is more like a portal for clubs and projects. You can early find your local one in there.

        - [CoderDojo](https://coderdojo.com/)

            It's usually one day workshop for a beginner. They use Scratch and they also use a cute robot with a simple controller.

             

    - Canada
        - [Girls learning code](https://www.canadalearningcode.ca/experiences/) by [Canada Learning Code](https://www.canadalearningcode.ca/)

            3-hour one day workshop & 5-day camps. The price for workshops usually has a pay-what-you-can option.

    - Hamilton, ON
        - [Hamilton Code Clubs](https://hamiltoncodeclubs.com/) by [IEC](https://iechamilton.ca/)

            6-week free program upon a school's request. They use many of apps above and Khan Academy.

        - [MacMaster Outreach](http://outreach.mcmaster.ca/)

            They develop their own library using Elm to teach kids.

            Various types of workshops and tutorial sessions and also summer camp.

            Programs upon school's request, but tools are also available [online](http://outreach.mcmaster.ca/#coding-tools).

        - [Codify Zone](https://codifyzone.com/)

            This one is not NPO but a company, which means that it's not free. But it will more than totally worth. There are so many options such as gaming, 3D printing, web dev., and even AI. They also used to have a robotic course in the past as well.

            8-week courses as well as summer camp.

---

>I hope this post will help you if you want to teach code to your own child or niece and nephew. Or, even for your grandma.

>I believe coding is for everyone. And if you are willing to help others to learn it, please volunteer for the above organizations or your local ones.

>*Please leaving a comment below if have anything more you want to share with others.*