Practical Lab

Learn Programming with Blocks

Free Practice

Build animations, games and algorithms using visual programming blocks with Scratch.

Official Programming Workspace

Scratch Editor

Create interactive programs using drag-and-drop code blocks, sprites, events, loops, conditions, and variables in the official Scratch online workspace.

Open Scratch Editor Scratch opens in a new tab. Return to ICTONE anytime.

Getting Started

Follow four simple steps to practise visual programming with ICTONE activities.

01

Choose an Activity

Select a practice activity below to review the learning goals and required blocks.

02

Open Scratch Editor

Click Open Scratch Editor to load the project workspace in a new browser tab.

03

Snap Blocks Together

Drag blocks from the palette into the script area and connect them to build logic.

04

Click Green Flag

Test your project on the stage, fix errors, and experiment with new ideas freely.

Practice Activities

Click any card to read step-by-step instructions, learning concepts, and suggested code blocks.

Scratch Blocks Reference

Overview of the 8 primary block categories used in beginner ICT syllabus programming.

Motion

Controls sprite movement, coordinates, and rotation direction on stage.

move (10) steps turn right (15) degrees go to x: (0) y: (0) change x by (10)

Looks

Changes sprite appearance, speech bubbles, costumes, and backdrop graphics.

say [Hello!] for (2) secs switch costume to [costume2] change size by (10) show / hide

Sound

Plays audio effects, musical notes, volume control, and sound clips.

play sound [Meow] until done start sound [Meow] change volume by (-10) stop all sounds

Events

Triggers scripts when green flag is clicked, keys pressed, or messages received.

when green flag clicked when [space] key pressed when this sprite clicked broadcast [message1]

Control

Controls execution flow, iteration loops, conditional branching, and delays.

wait (1) seconds repeat (10) forever if <> then / else

Sensing

Detects mouse clicks, keyboard input, sprite collisions, and timers.

touching [mouse-pointer]? ask [What is your name?] & wait answer key [space] pressed?

Operators

Performs math calculations, comparisons (<, =, >), and logical boolean tests.

() + () / () * () < () = () > <> and <> / not <> () mod ()

Variables

Stores numeric values, scores, names, or strings that change during program execution.

set [Score] to (0) change [Score] by (1) show variable [Score] hide variable [Score]

From Algorithm to Program

See how the exact same algorithm is represented across different ICTONE practical tools.

1. Flowchart → 2. Pseudocode → 3. Block Programming (Scratch) → 4. Text Programming (Pascal)

Pseudocode

IF number MOD 2 = 0 THEN
    DISPLAY "Even"
ELSE
    DISPLAY "Odd"
END IF

Structured algorithmic statements using mathematical conditional logic.

Scratch Blocks

if <((number) mod (2)) = (0)> then
    say [Even] for (2) secs
else
    say [Odd] for (2) secs

Color-coded visual interlocking blocks with diamond boolean conditions.

Pascal Code

if number mod 2 = 0 then
begin
    writeln('Even');
end
else
begin
    writeln('Odd');
end;

Formal syntax-strict code compiled and executed with type declarations.

Scratch is developed by the Scratch Foundation (MIT Media Lab). ICTONE links to the official Scratch editor for educational practice.