Skip to content

Learn to code (Kids)

October 13, 2023
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.
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
Learn Python programming the easy way with EduBlocks | Opensource.com

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

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

EduBlocks for Python

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.

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

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

Helloblock 亚博-下载专区

Visual Embedded Rust Programming with Visual Studio Code

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

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+

mindplus.dfrobot.com.cn
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

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

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!
Get started with Mixly - Wiki
Introduction to Mixly - Microduino Wiki
mixly/Mixly_Arduino: A visual programming editor based on blockly for Arduino、Microbit、MicroPython、Python

Raspberry Pi

Snap! » Raspberry Pi Geek
karstenda/BlocklyPi

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

Learn by coding 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

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

The SQL Murder Mystery
The SQL Murder Mystery: Detailed Walkthrough

Minecraft

Minecraft - Wikiwand
Official site | Minecraft
Official Minecraft Wiki – The Ultimate Resource for Minecraft
Java Edition – Official Minecraft Wiki
Bedrock Edition – Official Minecraft Wiki

Minecraft Bedrock Edition: Download guide for PC, system requirements and more

The (Latecomer) Beginner's Guide To Minecraft
Minecraft Is A Perfectly Balanced Game With No Exploits - BOOKS = UNLIMITED DIAMONDS - YouTube

Pros:
Interactive world
Resource gathering and composition
Program a virtual tour

Cons:
Need to buy the game (not for Pi Edition)
Server administration is difficult

Mojang | Different Minecraft Editions

我的世界 Minecraft 中国版官方网站—原汁原味,免费下载

Coding with Minecraft

Why Do These Minecraft YouTubers Look The Same? - YouTube

Modding/Skin

Downloads for Minecraft Forge for Minecraft 1.20.1
Forge Documentation

Minecraft Skins | Best MC Skins | SkinsMC
Minecraft PE Mods, Maps, Skins, Seeds, Texture Packs | MCPE DL

Minecraft: Pi Edition

Pi Edition | Minecraft
Getting Started with Minecraft Pi - Introduction | Raspberry Pi Projects
: Minecraft API
Getting Started with Minecraft Pi | Python | Coding projects for kids and teens

Hacking Minecraft - YouTube
Learn Python and Electronics with Minecraft Pi Edition
How to Make a Raspberry Pi Minecraft Server « Adafruit Industries – Makers, hackers, artists, designers and engineers!
How to Install Minecraft Server on Raspberry Pi | Linuxize

Minecraft: Education Edition

Homepage | Minecraft: Education Edition
Search Lessons | Minecraft: Education Edition
How to download Minecraft Education Edition: Step-by-step guide for beginners

Minecraft: Education Edition - YouTube

Minecraft Education Edition - YouTube
Bulk adding of users to private server

Microsoft MakeCode for Minecraft
Minecraft Education Setup for MakeCode
Minecraft: Education Edition live - YouTube

Python

CoderDojo Twin Cities Python for Minecraft documentation

Python Coding for Minecraft: 18 Steps (with Pictures)

: Minecraft API
Getting Started with Minecraft Pi - Introduction | Raspberry Pi Projects

Adventures in Minecraft: David Whale, Martin O'Hanlon: 9781118946916: Amazon.com: Books
Amazon.com: Learn to Program with Minecraft: Transform Your World with the Power of Python (0689145767025): Craig Richardson: Books