# 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.

## 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.

## Learning Pathway

### Intended for elementary and middle school students

Introduction to programming with a visual block-based language.

Scratch programming

• Creative computing.
• ScratchMaths.

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.