Skip to content

Learn to code (Kids)

January 9, 2025
December 8, 2014

Learn how to code for kids
兒童程式這樣學,6 階段讓孩子愛上 Coding! 程式語言 (178371) - Cool3c
Scratch? Python? C? Kernighan on Languages for Kids Coding - Computerphile - YouTube

Learn today, build a brighter tomorrow. | Code.org
Code.org - Learn Computer Science where President Obama learned JavaScript programming
CodeMonkey
Computer Science Unplugged Teach CS without computer
Kids Learning Skills and Being Awesome. - DIY
Character Lab
Kojo Home Logo, Music, Graph, Graphics with Scala
GitHub Classroom
Your Career in Web Development Starts Here | The Odin Project
12 Playful Ways to Learn How to Code

Mitch Resnick: Let's teach kids to code - YouTube

Teach Computer Science & Coding to Kids - CS First with Scratch 3
Start with Code – Google
Three ways to get started with computer science and computational thinking
Official Google Australia Blog: CS + X: What's your X?
Python in Education
Computer Science - YouTube CrashCourse
Learn to Code for Free – Grasshopper JavaScript

mytechnotalent/Python-For-Kids: A comprehensive and FREE Online Python Development tutorial FOR KIDS utilizing an official BBC micro:bit Development Board going step-by-step into the world of Python for microcontrollers.
Python for Kids - YouTube
Machine Learning for Kids

Coding for kids: Art, games, and animations with our new beginners' Python path - Raspberry Pi
Raspberry Pi Projects
Code Club | Raspberry Pi Projects
Introduction to Python: Variables, functions, and loops | Raspberry Pi Projects
Scratch Machine Learning | Raspberry Pi Projects

Raspberry Pi Tutorials - YouTube
5 Exciting Activities for Kids to Learn Coding on a Raspberry Pi

Practical advice for teaching kids how to program | Opensource.com
Linda Liukas: A delightful way to teach kids about computers | TED Talk | TED.com

Tux4Kids

The EduBlocks Project for Python
Learn Python programming the easy way with EduBlocks | Opensource.com

Code.org
Minecraft | Code.org

GP Blocks
start [GP Docs]
Going from Scratch to GP (www.gpblocks.org) – Cymplecy (Simplesi)

Code Shrew Python like language
Code Shrew paper
Situating Constructionism

Coding for Kids-A Guide for Teachers and Parents | Udemy

Think Like A Coder - YouTube

Hour of Code

一小時玩程式

Go eLearning - 一小時學習編程網站
Hour of Code Hong Kong 一小時編程香港 (2022)

Hour of Code | Khan Academy
Learning programming on Khan Academy (article) | Khan Academy

Hour of Code | Tynker

Visualizing Code

Bogdan-Lyashenko/js-code-to-svg-flowchart: js2flowchart - a visualization library to convert any JavaScript code into beautiful SVG flowchart. Learn other’s code. Design your code. Refactor code. Document code. Explain code.
Live code editor

code2flow - online interactive code to flowchart converter

Flowgorithm - Flowchart Programming Language

Math Inspector - A visual programming environment for scientific computing with numpy and scipy

App Inventor

MIT App Inventor

Setting Up App Inventor | Explore MIT App Inventor

Machine Learning

Teachable Machine web-based tool that makes creating machine learning models fast, easy, and accessible to everyone

Scratch

Scratch - Imagine, Program, Share, write code with blocks

Scratch - Ideas
Scratch - Explore
TurboWarp - Run Scratch projects faster
Projects | Computer coding for kids and teens | Raspberry Pi

Scratch Coding Cards PDF
Scratch API - Scratch Wiki

Invent with Scratch book, ❗!important
Scratch - Tuts+ Code Category
Creative Computing
Scratch Wiki
Blocks - Scratch Wiki

Modules – Code Club
What's new in Scratch 3.0, a programming language designed for kids
Computer Science Concepts in Scratch | Scratch
Scratch is a big deal | Bryan Braun - Frontend Developer

ScratchJr - Home age 5-7
Scratch Day for Younger Children – Scratch Foundation Blog – Medium

scratchnative/scratchnative: Convert Scratch3 projects to native executables
Scratch Can Even Do Linux Kernel

Scratch Basics - YouTube
Scratch Blocks in 60 Seconds - YouTube
Scratch Programming - YouTube
Scratch Game Programming for Young Adults | Udemy
進學國小資訊組 - Scratch 線上版課程教案整理
Froggy Volley on Scratch

ScratchX Experimental Extensions to Scratch
micro:bit, Ardiono, ...
Scratch 3.0 + micro:bit (first review) - YouTube

mBot 教學(2)-mBlock 積木式程式設計 Scratch 2

phosphorus Compile Scratch project to HTML
scratchblocks/scratch-diff: Compare Scratch projects and scripts. Returns a structural diff (tree). JS/Node.

Scratch Blocks UI - Developers which is actually a combination of Blockly and Scratch
LLK/scratch-blocks: Scratch Blocks is a library for building creative computing interfaces.
Blockly | Google Developers
Blockly Games

Snap! (Build Your Own Blocks)
Snap! 9.0.7
Snap! (programming language) - Scratch Wiki

Extensions

scratch-vm/extensions.md at develop · LLK/scratch-vm
Makeblock Extension(s) for Scratch 3.0 - mBlock / mBlock Extensions - Makeblock Forum

Scratch3 Extension Generator

20. Kittenblock 插件开发指南 -- 01 — kittenbot docs 文档
21. Kittenblock 插件开发指南 -- 02 — kittenbot docs 文档

Physical Programming with Blocks

Arduino Create
Arduino Bricks » Linux Magazine

Webduino = Web × Arduino

KBIDE – IDE for everyone.

Scratch Arduino Extension

Rete.js
retejs/rete: JavaScript framework for visual programming and creating node editor

国内主流 Arduino 图形化编程软件专业评测 - 知乎
Alternative Arduino Interfaces - learn.sparkfun.com 2014
BlocklyDuino/BlocklyDuino: BlocklyDuino is a web-based visual programming editor for arduino.
carlosperate/ardublockly: Visual programming for Arduino. Based on blockly, implements Arduino code generation and facilitates program uploading.

Otto Blockly Arduino, ESP
OttoDIY/blockly: Otto Blockly; a fully integrated graphical programming for any type of Arduino projects, including robots, ready to install in your computer, it works offline and also online

Helloblock 亚博-下载专区 Arduino

S4A
Snap4Arduino
Snap4Arduino
MrYsLab/s2a_fm: A Scratch Hardware Extension For Arduino

MakeCode Maker - Blocks / Javascript editor

Openblock based on Scratch
openblockcc/openblock-desktop: Graphic programming software for hardware like: arduino, microbit, esp32, esp8266...

Visual Embedded Rust Programming with Visual Studio Code - Technology - PCBway

Brown Dog Gadgets - Projects, DIY Kits & Solar-Powered Gadgets
Brown Dog Gadgets - YouTube

Project Bloks

Project Bloks - Project Bloks research into tangible programming is complete
Google Launches 'Project Bloks' To Help Young Learners Learn To Code

Tinkergen

Codecraft
Make2Learn - TinkerGen

Makeblock mBlock

mBlock - Programming Software Designed for STEAM Education Scratch based, Block + Python + Arduino IDE

mBlock 5, Scratch 3
mBlock 5 Web
mBlock 5 | Makeblock – Let Creation Be a Way of Life
慧编程(mBlock 5) · GitBook
Introduction · GitBook

mBlock 3, Scratch 2
mBlock 3 Web
mBlock 3 Examples (Collection) - makeblock education
【图形化学习 Arduino】(一)基础概念 - 知乎
Arduino 图形化学习 二:认识编程软件 - 知乎
What is "Scratch Mode" in mBlock? Why would I use it? | Vernier

Introduction - mBlock | A Powerful Coding Tool for STEAM Education
An Overview of Using Makeblock in Arduino Programming
MakeblockResourcesforCodeLearners.pdf

How to Load a Programme into mBot - YouTube
mBot 教學(1) - mBot 初體驗
mBot 教學(2)-mBlock 積木式程式設計
mBot 教學(3) - 開發 mBot 應用程式

mBlock Software | mBlock - STEAM Programming Software Tool
Makeblock APP Play Store All-in-1 controller for Makeblock robots, links to the other 2 apps
mBlock - Scratch-based Programming Software - Apps on Google Play mBlock App
mBlock Blockly (formerly mBlock APP) Play Store A game-based programmable robot app
教學(10) 藍牙控制應用 apps

mBlock 3 Extension

mBlock Extension Center
【mBlock 3】Create Extensions for educational robot mblock | mBlock – STEAM Programming Software
mblock_extension_guide.pdf - Google Drive

探奇 EV3 樂高機器人 LEGO BOOST mBot 教學 Touch Classroom : mBlock Extension 實作–為 mBot Ranger 加一個軟體計時器

自己寫個 mBlock extension (一) TM1637 4-digit-display | Mister Ngan
自己寫個 mBlock extension (二) 1602 I2C LCD Module | Mister Ngan
自己寫個 mBlock extension (三) 2-digit-display using 74HC595 | Mister Ngan

mBlock 5 Extension

mBlock Extension Builder
mBlock Extension Builder Supports More Devices and ExtensionsGuide of Using mBlock Extension Builder (2 Great Examples Included) - mBlock | A Powerful Coding Tool for STEAM Education
Developer Documentation · GitBook

DFRobot Mind+

Mind+官方教程-Mind+图形化编程软件
Home - Mind+ - Get ready to take the leap from zero to a coding expert

Kittenblock

Kittenblock-Kittenbot
Scratch 3 based, Block + Python + Arduino IDE
最新版软件下载_Kittenblock 更新手记 - KittenBlock 软件 - Kittenbot 小喵科技——专注图形化编程教育 - Powered by Discuz!
KittenBot/Kittenblock

Welcome to Kittenbot Team’s Documents — kittenbot docs documentation
Kittenblock 教程 — kittenbot docs 文档
kittenbot-docs/kittenblock at master · KittenBot/kittenbot-docs

Microsoft Makecode (PXT)

Microsoft MakeCode
About – Microsoft MakeCode
Resources – Microsoft MakeCode
Microsoft MakeCode Offline App

One chip to flash them all - Microsoft MakeCode
microsoft/uf2: UF2 file format specification
microsoft/uf2-linux: UF2 flashing support for Linux (Raspberry Pi Zero)

microsoft/pxt: Microsoft MakeCode (PXT - Programming eXperience Toolkit)
MakeCode (PXT) Documentation - Microsoft MakeCode
MakeCode Languages: Blocks, Static TypeScript and Static Python - Microsoft MakeCode

microsoft/pxt-microbit: A Blocks / JavaScript code editor for the micro:bit built on Microsoft MakeCode

Platforms

We Code MakeCode | Using Microsoft MakeCode for Minecraft and MakeCode Arcade

Microsoft MakeCode for micro:bit
micro:bit Editor updates : Support June 2019 v2
makecode editor : Support October 2018 v1

MakeCode Maker - Blocks / Javascript editor
Project Alava: Programming Webs of Microcontrollers - Microsoft MakeCode
Add a new board - Microsoft MakeCode

Writing Tutorials

Tutorials - Microsoft MakeCode
Just edit README.md in project's resource explorer.
Then your project will have a help panel on the right.
Use the special /tutorial:${URL} to load the project to view it step by step.

e.g:
https://makecode.microbit.org/#tutorial:https://makecode.microbit.org/_FhVVTw4Cp8cL
https://arcade.makecode.com/#tutorial:https://github.com/cyrusn/flappy_duck_tutorial

Extensions (libraries)

they used to be called "Packages"

Use custom blocks for development
Custom blocks - Microsoft MakeCode
Defining blocks - Microsoft MakeCode
MakeCode Playground

Then you can create GitHub repo and expose that as Extension
Extensions - Microsoft MakeCode
Building your own extension - Microsoft MakeCode
GitHub extension authoring - Microsoft MakeCode
GitHub Extensions authoring

Or install pxt locally

npm i -g pxt  # once
# for each project
mkdir microbit
cd microbit
pxt target microbit
pxt serve

Building your own extension - Microsoft MakeCode

吉哥的分享 - 如何製作 makecode 裡的 micro:bit 積木
大榔頭的電腦隨筆: 自製 Makecode 拼塊(一):製作拼塊檔案
大榔頭的電腦隨筆: 自製 Makecode 拼塊(二):上傳及使用拼塊

pxt-microbit/libs/core at master · Microsoft/pxt-microbit

Add core as dependencies,

"dependencies": {
    "core": "*",
    "ws2812b": "github:Microsoft/pxt-ws2812b#v0.0.4"
},

Then you can use pins functions.

吉哥的分享 - microbit 連接 LCM1602
吉哥的分享 - microbit 共陰極 RGB 積木

Threading

Serial not concurrency safe? · Issue #1157 · Microsoft/pxt-microbit
Actually its the fiber yielding to other threads when blocked by serial IO.

basic.forever() vs control.inBackground()
They're both fibers. inBackground() have a fiberDone callback for clean up after function exited.

basic.forever()
https://github.com/microsoft/pxt-microbit/blob/22812c6541604f4581fa92fde38c7a6d64091c84/libs/core/basic.cpp#L88
https://github.com/microsoft/pxt-microbit/blob/22812c6541604f4581fa92fde38c7a6d64091c84/libs/core/codal.cpp#L135-L141

control.inBackground()
https://github.com/microsoft/pxt-microbit/blob/4ee39351bd75424d8463cd79fdb438a980122c46/libs/core/control.cpp#L252
https://github.com/microsoft/pxt-microbit/blob/22812c6541604f4581fa92fde38c7a6d64091c84/libs/core/codal.cpp#L143-L148

Mixly

Lets Mixly!
mixly/Mixly_Arduino: A visual programming editor based on blockly for Arduino、Microbit、MicroPython、Python

Get started with Mixly - Wiki

软件使用基础 — Mixly Wiki

Raspberry Pi

Snap! » Raspberry Pi Geek
karstenda/BlocklyPi

BIPES Project Block based Integrated Platform for Embedded Systems
Install MicroPython on ESP32 or ESP8266 to use with BIPES

Piper Make
Drag-n-drop coding for Raspberry Pi Pico - Raspberry Pi

Squishy Circuits

Squishy Circuits | Invent. Create. Explore
Squishy Circuits - How To
How To Make Squishy Circuits | Makerspace Projects

捏麵人配方可以做導電黏土?居家實驗室帶你做出能吃又好玩的濕軟電路!
科學在家玩-導電黏土 DIY @ 親子一起 WHY :: 痞客邦 ::

网上最全橡皮泥分类,以及与粘土的区别

Conductive Threads

Overview | Conductive Thread | Adafruit Learning System

Paper Circuits

Welcome to Chibitronics
Copper Tape Chronicles on Vimeo
Using Copper Tape with Paper Circuits - Tutorial Australia
Working with Copper Tape and Paper to Craft Circuits - YouTube

Enginursday: Cardboard Circuits - News - SparkFun Electronics
Let It Glow Holiday Cards - learn.sparkfun.com

Inspiration for autumn activities - Bare Conductive
How to make a card that lights up - YouTube

趣味纸电路制作套件 16 案例 创客教育 STEAM 科学 手工 促销-淘宝网

Capacitive Touch sensor

How do touchscreens work? - YouTube

cap-touch with ubit
How to create a touch sensor for the micro:bit with Electric Paint - Bare Conductive touch_sensor - Microsoft MakeCode
Making Distance Sensors: trigger the Touch Board with proximity - Bare Conductive
Circuits and Techniques for Implementing Capacitive Touch Sensing
Capacitive Touch with Makey Makey - Tutorial Australia Arduino code

Capacitive Touch Interface - Processing for Pi

The touch lamp; a neat idea, and older than you'd think! - YouTube

Speaker

Paper Speakers (copper tape as coil) - YouTube
How do speakers work? - YouTube

Kid's PC build

Every Little Hacker needs a Little Linux Computer – Medium
Building a Linux system for a Child, part 1: What and Why |
Building a Linux system for a Child, part2: Distros and software |

DoudouLinux - English
DoudouLinux - 中文
Edubuntu
ubermix Home
Sugar Labs

Typing

【社长说82】《金山打字通》的背后,是近半个世纪的打字发展史 #金山打字通 - YouTube

Learn Touch Typing Free - TypingClub
Learn Typing
Typing Lessons - Learn To Type And Improve Typing Speed Free - Typing.com

CS w/o computer

The Changelog #302: Computer Science without a computer featuring Tim Bell | News and podcasts for developers | Changelog

CS Unplugged primary school
Computer Science Field Guide high school

How To Make Super Cool (And Easy) Cub Scout Robots | Cub Scout Ideas

Spintronics

Spintronics First Look - YouTube

Mechanical circuits: electronics without electricity - YouTube
Making Non-Electric Circuits With Computer Logic - YouTube

Learn by Writing Games

pygame
game-engines#Arcade

12 Free Coding Games to Learn Programming for Beginners
Learn to Code With Games
Best 10 Python Game Project Ideas for Beginners in 2023

Microsoft MakeCode Arcade
Arcade Documentation - Microsoft MakeCode
MakeCode Arcade: Retro Gaming, Modern Programming - Microsoft MakeCode
Making A Game Using Microsoft MakeCode Arcade Tutorial
What is MakeCode Arcade? | MakeCode Arcade with Raspberry Pi Zero | Adafruit Learning System

microStudio - Game Engine
microStudio Game Engine Hands-On – GameFromScratch.com

PICO-8 Fantasy Console
PICO-8 - Wikiwand

CHIP-8 - Wikiwand
Guide to making a CHIP-8 emulator - Tobias V. Langhoff
How to Create Your Very Own Chip-8 Emulator
Cowgod's Chip-8 Technical Reference

CodeCombat - Learn how to code by playing a game multiple languages
Code Avengers
Elevator Saga - the elevator programming game JavaScript
Coding Games and Programming Challenges to Code Better multiple languages
Codewars multiple languages
Online Tutorial to Learn Java - CodeGym Java
CodeGuppy | JavaScript for kids and teens
#1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies

About - Project Euler

Kodu Game Lab | KoduGameLab
W3Schools Code Game instruction blocks

basic-computer-games/19_Bunny at main · coding-horror/basic-computer-games

WarriorJS Docs JavaScript
olistic/warriorjs Game written in JavaScript for learning JavaScript and artificial intelligence.
Robocode Home

CheckiO - coding games and programming challenges for beginner and advanced TypeScript, Python

Elevator Saga - the elevator programming game JavaScript
Learn to Code for Free – Grasshopper JavaScript
JSRobot JavaScript

Learn by Gaming

see minecraft

Programming
Turing Complete on Steam
SHENZHEN I/O on Steam
while True: learn() on Steam
Bots Are Stupid on Steam
Human Resource Machine on Steam
7 Billion Humans on Steam
Rogue Bit on Steam
Shortcuit on Steam

The SQL Murder Mystery
The SQL Murder Mystery: Detailed Walkthrough

Robomind

RoboMind
RoboMind Lessons | Robots Got Talents
RoboMind 下載