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.

Programming

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

Decomposition

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.

Abstraction

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

Generalisation

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

Algorithms

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

Unplugged

Focus on activities implemented without the use of computers.

Tinkering

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

Making

Involves activities where constructing new objects is the primary focus.

Remixing

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

Pedagogy

Explore

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

Envisage

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

Explain

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

Exchange

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.