We help schools introduce
Computational Thinking
to learners.

Our learning activities offer opportunities for learners to develop their abilities for logical thinking and problem solving through creative computing, programming and exploring mathematics.

Create, Learn, Think.

Learning Activities

Computational Thinking

In the digital age, transmitting Computational Thinking to our children is fundamental in the same way as reading, writing or arithmetic.


Computational Thinking is a cognitive ability, and programming is one way to develop that ability.

Programming is essential to Computational Thinking just as manipulating geometric shapes and numbers is essential to mathematical thinking.

Programming & Mathematics

Enable learners to explore mathematical ideas
through learning to program.

Elements of Computational Thinking

Problem solving skills


Understand that solving a large problem can involve breaking it down into a set of smaller problems.

Pattern Recognition

Appreciate that a new problem is likely to be related to other problems the learner has already solved.


See a problem and its solution at many levels of detail and consider only the details that matter.


Realise that a solution to a problem can be made in ways that can solve a range of related problems.


Think of tasks as a series of steps.

Dimensions of Computational Thinking

Capture the what, how and why of CT

Computational concepts

The concepts designers employ as they program, such as sequences, loops, conditions, subroutines, variables.

Computational practices

The practices designers develop as they
program, such as being incremental and iterative, testing and debugging, reusing and remixing, abstracting and modularizing.

Computational perspectives

The perspectives designers form about the world around them and about themselves: expressing, connecting and questioning.

Pedagogical Framework for Computational Thinking

Four pedagogical experiences


Focus on activities implemented without the use of computers.


Involves activities that take things apart and engage in changes and/or modifications to existing objects.


Involves activities where constructing new objects is the primary focus.


Refers to those experiences that involve the appropriation of objects or components of objects for use in other objects or for other purposes.



investigate, try things on your own, debug in response to feedback.


have a goal in mind, predict the outcome of the program before trying.


explain what you are doing, articulate the reasons for your approach.


collaborate and share, try to see a problem from another's point of view, defend your own approach and compare yourself with others.

Educational Programming Environment

From Block-based to Text-based, a smooth transition

Learning Pathway

Intended for elementary and middle school students

Elementary school grades 5 & 6
Middle school grade 7

Introduction to programming with a visual block-based language.

Scratch programming

  • Creative computing.
  • ScratchMaths.

Middle school grade 8

From block-based programming to text-based programming, a smooth transition.

Using a simple educational programming language allows the learner to focus on learning computational thinking.

  • Programming with Logo and Turtle Geometry and exploring Maths.
  • Programming a virtual robot with Robo.

Middle school grade 9

From Logo to Python, a smooth transition.

Python programming

  • Turtle geometry module.
  • Programming a virtual robot (Robo).
  • Programming a Digital Audio Workstation (DAW): mixing audio clips for musical creation.