Computing Education

Teaching and learning resources that help educators support students as they begin coding with Snap! and MicroBlocks, while also introducing foundational AI concepts. These block‑based languages enable learners to explore programming, simple AI ideas, and physical computing in an engaging way, fostering creativity, critical thinking, and problem‑solving skills for learners of all levels.

girl with laptop

1. Snap!

Snap! is a powerful programming language suitable for a playful but rigorous introduction to Computer and Data Science. Snap! is designed to appeal to a diverse audience and is developed by UC California, UC Berkeley and SAP. Its low floor welcomes beginners and its multi-media capabilities invite creative thinkers of all ages. At the same time, Snap! offers sophisticated abstractions that are otherwise only found in the most advanced programming languages for artificial intelligence.

These resources help educators and students understand what Snap! is, how it’s used in classrooms, and how to get started with learning:

Snap! Projects & Tutorials (hover for details):

Try it now!:

Snap! Homepage

 

School form: recommended for general education schools.

pictogram

2. MicroBlocks

MicroBlocks is a live, parallel, visual programming language for physical computing. It works on a variety of microcontrollers, including the micro:bit, Calliope mini, Adafruit Circuit Playground Express, NodeMCU, M5Stack, and many others.

These resources help educators and students understand what MicroBlocks is, how it’s used in classrooms, and how to get started with learning: 

Try it now!:

School form: recommended for general education schools.