Scratch ist eine visuelle Programmiersprache, die für den Einsatz in Bildungskontexten mit Kindern entwickelt wurde. Die Einarbeitung ist sehr simpel, denn „programmiert“ wird über das einfache Ineinanderstecken und Verschachteln von Blöcken, die einzelne Befehle darstellen und wie Puzzleteile miteinander kombiniert werden können. Sie können hierzu aus einer Übersicht mit unterschiedlichen Blocktypen auf eine freie Fläche gezogen werden. Dies geschieht browserbasiert oder über einen Offline-Editor am Laptop. Im Wesentlichen lassen sich in Scratch Spielfiguren oder Objekte (sog. Sprites, siehe Glossar) auf einem Hintergrund (der sog. Bühne) programmieren. So entstehen selbstgebaute kleine Spiele oder Animationen, die sich wiederum auf der Scratch-Plattform veröffentlichen, bewerten und kommentieren lassen und auf anderen Webseiten einbettbar sind.
Mit Scratch sind so erste spielerische Gehversuche in der Programmierung von Software möglich. Kombinieren lässt sich das Ganze mit dem Basteln eigener Hardware, z.B. mit Makey Makey. Zudem gibt es unterschiedlichste Modifikationen. Über das Projekt „Scratch 4 Arduino“ lässt sich z.B. über Scratch ein Arduino ansteuern (siehe Artikel Arduino) und im browserbasierten BlocksCAD können Schüler*innen 3D-Modelle in Scratch programmieren.