DEV Community

Cover image for Resources for teaching programming to children
Juneau Lim
Juneau Lim

Posted on

Resources for teaching programming to children

By doing this for the second time, 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 - 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

    • Swift Playground (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

  • Actual coding

    • ScratchJr (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 one of my students has created less than half an hour.

      ScratchJr

    • Hopscotch - 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

    • Scratch (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)

      The possibilities are unlimited. example: Mario Kart Pacman

      Here is a quick tutorial for Pong.

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

      Scratch

    • Intro to JS: Drawing & Animation by Khan Academy - 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 which that Michael Jolley's daughters Lauryn & Layla were interviewing Sara Vieira 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

  • Hardware

    • Micro:Bit (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

    • Raspberry Pi - 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 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

  • Programs & Organizations

    • Worldwide

      • Code Club International

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

      • CoderDojo

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

    • Canada

    • Hamilton, ON

      • Hamilton Code Clubs by IEC

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

      • MacMaster Outreach

        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.

      • Codify Zone

        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.

Top comments (3)

Collapse
 
codeguppy profile image
Adrian

A very good list. I would also like to highlight you codeguppy.com - a website with JavaScript projects for kids, teens and beginners. The runtime is based on p5.js API, a very good library with deep roots into academia.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.