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 University of California, 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:

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.