Scratch is a block-based language. The same constructs appear as in text languages, assembled by dragging blocks.
A sprite is a character or object, and the stage is where sprites appear. A script is a sequence of blocks joined together.
Event blocks start scripts when something happens, such as the green flag being clicked or a broadcast message being received. Broadcast sends a message that other scripts can react to.
Motion blocks move sprites, changing x for horizontal position and y for vertical; the point x 0, y 0 is the centre of the stage. Looks blocks change appearance, Sensing blocks detect conditions such as touching a colour, and Operator blocks calculate and compare.
IF/ELSE blocks give selection. REPEAT repeats a set number of times, FOREVER repeats continuously, and repeat until stops when its condition becomes true. A clone is a temporary copy of a sprite, useful where many similar objects are needed.
A variable stores one value that can change, such as a score. A list stores several values in order.
A custom block is a subroutine the user defines. Building a task once and calling it wherever it is needed keeps scripts short. Finding and fixing errors in a script is debugging.