Our Approach

We believe that primary school education should be key in laying the foundations for the computational thinking necessary to support participation in a computing-rich society. Computational thinking entails developing fluency with programming concepts (key constructs and ideas that are central to most forms of computing). But more fundamental than specific coding details, computational thinking includes the ability to pose problems and seek solutions that use key practices (the activities people engage in when creating computational projects) involved in computing and programming. And beyond solving problems with computers, young people should develop perspectives like digital empowerment, which enables them to see how challenges in the world around them could be addressed through computing; and computational identity, which instills in them the knowledge that they can have active, positive roles as people who can use computers to enhance their lives and the lives of people around them.

Our vision is that by supporting children in developing their computational thinking, we can help them transform from passive consumers to active designers and shapers of the digital future.

CT Concepts


CT Concepts: Fundamental Coding Concepts

< Sequences / > : identifying a series of steps for a task*
< Events / > : one thing causing another thing to happen*
< Repetition / > : running the same sequence multiple times*
< Conditional / > : making decisions based on conditions*
< Parallelism / > : making things happen at the same time*
< Naming / > : naming variables and functions descriptively to make them distinguishable from each other
< Operators / > : support for mathematical and logical expressions*
< Data manipulation / > : storing, retrieving, and updating values*
< Elementary data structures / > :the basic ways data are formatted and stored

CT Practices


CT Practices: Problem-solving Skills

< Algorithmic thinking / > :articulating a problem solution in well-defined rules and steps
< Decomposition, abstraction, generalization / > :exploring connections between the whole and the parts*
< Testing and debugging / > :making sure things work — and finding and solving problems when they arise*
< Being incremental and iterative / > :developing a little bit, then trying it out, then developing more*
< Reusing and remixing / > :making something by building on existing projects or ideas*

CT Perspectives


CT Perspectives: Identity and Motivation

< Personal interest in coding / > : a desire to learn more about coding and its application
< Willingness to engage further in coding / > : becoming intrinsically motivated to start new coding projects
< Positive perception of coding / > : to see coding and its products as valuable to society
< Confidence in coding / > : developing self-confidence to understand and build with code
< Digital empowerment / > : developing the ability to see problems in the world as solvable through code
< Computational Identity / > : seeing oneself as being able to enhance the world around them through coding


Check out our
pioneering schools.
View Now


Wish to learn more about
computational thinking?