Best Practice

Teaching computational thinking effectively

The computing national curriculum is underpinned by computational thinking – a set of thinking skills that help students to ask questions, understand problems and find solutions. Mark Dorling and Thomas Ng look at how teachers can approach the teaching of these core skills

In 2014, the disapplied ICT national curriculum was transformed into a computing curriculum for all key stages. The broad subject area of computing put forward by a Royal Society report in 2012 – Shut Down or Restart? – encompasses three strands: computer science, information technology and digital literacy.

Pupils have an entitlement to be taught all three strands across all four key stages. Computer science is defined as a rigorous academic discipline with its own body of knowledge. Programming is a part of the new computing curriculum, but not its whole.

The educational case for teaching computer science in schools was made as learners would become “technology designers and creators” (makers) as opposed to just being “technology users” (consumers). While programming is the means to realise the design, another important part of the discipline is “computational thinking”.

Computing’s origins actually lie in philosophy and in asking the question “why?”. The opening paragraph of the computing programme of study includes the aim of equipping pupils “to use computational thinking and creativity to understand and change the world”.

Defining computational thinking

It is important that as a community of classroom practitioners we broadly agree on what computational thinking is. When working on just such a definition for the Livingstone Free Schools, our team initially turned to the definition that the support body Computing At School (CAS) subscribes to – which includes the five concepts of Algorithmic Thinking (AL), Decomposition (DE), Abstraction (AB), Generalisation (GE), and Evaluation (EV) and associated techniques and approaches (described in the CAS document Computational Thinking: A guide for teachers).

Professor Jeannette Wing defines computational thinking as: “The thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent.” (Cuny, Snyder, Wing, 2010, cited in Wing 2011). Prof Wing (2006) indicates that these solutions can be carried out by any processing agent, whether human, computer, or a combination of both.

I also like how Professor Greg Michaelson from Heriot-Watt University in Edinburgh described in a talk a few years back how computational thinking wasn’t about thinking like a computer. He said that “computational thinking is a framework, not a recipe”, providing a thought process to:

  • Ask good questions.
  • Characterise and understand problems.
  • Aid computational design.

The Livingstone Free Schools have further refined the definition as “the thought process involved in the human’s ability to ask good questions to formulate problems and their solutions so that they can be represented in a form that can be effectively carried out by human, computer or a combination of both”.

However, as the advice Managing the Transition from ICT to Computing In Practice states, it is important to “recognise our curriculum vision and glossary of vocabulary is still work in progress and we will need more refinement further as the subject of computing evolves and matures”.

How do the changes affect the classroom?

From analysing these changes to the programmes of study from a pedagogical perspective, a change in pedagogical approach to teaching computing is needed. This is particularly so if we want learners to develop computational thinking skills and apply creativity; to take ownership of both the process to produce an artefact as well as the artefact produced.

There is a historical trend in teaching computing of using constructivist and constructionist pedagogies (learners building new knowledge on existing knowledge) and this would appear to fit with the purpose of the national curriculum: not only does the “what?” and “how?” of the subject need to be taught, learners also need to develop techniques to ask and be able to answer the question “why?”.

Learning is expected to be real to the learners’ lives. This can be achieved in computing classrooms by making relevant links to other subjects and/or wider, real-life situations. A typical project-based learning approach provides the framework to go through “why”, “how” and “what”. The illustration (below) has been further developed from the CAS QuickStart Computing Guide (2015).

Why, how & what? A typical project-based learning approach (Dorling, 2016). This illustration has been revised from that included in the CAS QuickStart Computing CPD toolkit


Setting the challenge helps to focus on the “why”, which is the crucial hook needed to engage learners. In order to engage all learners with this “why” endeavour, irrespective of stages of development, it is important to follow the topics that interest them. Use their views to focus on real-life or cross-curricular challenges that reflect their interests.

The “how” of computing is where learners develop and apply a range of computational thinking skills to understand and to change the world. This has obvious similarities with mathematical and scientific thinking and is achieved through teachers employing the range of computational thinking skills outlined in the CAS guidance mentioned already.

The “what” is expressed through the evidence of the actual subject learning made by learners through the artefact that they produce. These match the learning outcome statements from the CAS Computing Progression Pathways (a popular interpretation of the breadth and depth of the computing programmes of study).

Ultimately, computational thinking is a set of thinking skills that underpins the entire computing curriculum – computer science, information technology and digital literacy. The CAS Computing Progression Pathways framework identifies the computational thinking opportunities across the entire computing curriculum. There are up to five codes (AB, DE, AL, EV and GE – mentioned earlier) behind each of the learning statements in the pathways. These relate to the computational thinking opportunities when undertaking classroom activities based on each of the statements.

Where appropriate, learners should be using these skills (the how), to produce a digital artefact (the what). This artefact could be a video, podcast, presentation or piece of programming. The content or topic should be based on the “what” of the particular subject knowledge, be it literacy, geography, dance, art, or even computing!

How is the implementation going?

In March 2016, more than 18 months into the new computing programmes of study, minister for school standards Nick Gibb admitted to a House of Commons Science and Technology Select Committee that schools are finding it a “very challenging new curriculum to deliver”, due to a lack of specialist and experienced teachers. So there is a real danger that the implemented curriculum in many classrooms is starting to look quite different to the vision.

Listening to school leaders, many suggest that computing is still a low priority in their school development plans for a variety of reasons, including the heavy focus and pressure on literacy and maths, but also due to major changes in assessment and the changes to Ofsted’s

School Inspection Handbook. Impending changes to school funding formulas as well as the continuing challenges of school funding have created budget uncertainty (which naturally has an impact on CPD).

Some school leaders have simply not grasped how much the curriculum has changed and the teacher workload involved with the changes.
My question is this: are school leaders who expect teachers to teach computing GCSE and A level without sufficient training and support setting their colleagues and learners up to fail when success in examinations is such high-stakes – especially when computer science is one of the four sciences included within the English Baccalaureate and such an important part of Progress 8 accountability as well?

When Mr Gibb made his admission, it was on the back of the Department for Education’s (DfE) announcement that the ICT GCSE and A level would be abolished from September 2017. This raised questions from people in the community about why the qualifications were being removed. Was it, for example, to act as a lever for driving change at key stage 3? Has this decision raised further the stakes for teachers – fully trained or not – who are having to deliver computing?

As a computing specialist who implemented the changes many years ahead of the national curriculum changes and taught GCSE computing when it was first introduced I think it has raised the stakes.

Reflecting on my own experiences and chatting with those who I know to have undertaken the same journey, developing our pedagogical content knowledge and our confidence (as well as the foundations in learners’ knowledge and skills) took a number of years. Put simply, it takes time to be able to teach the subject effectively.

Reflecting on our pedagogical experiences is part of CPD: sharing pedagogical experiences of both what works and what doesn’t work is key. I would suggest that it is more important to share what doesn’t work with supportive colleagues rather than trying to deal with the challenge in isolation (perhaps by attending CPD events such as TeachMeets or better still the free CAS Hub Meetings). If you are a school that is already embedding computing and feel that you have a journey to share with other schools, then you can also join the BCS Network of Excellence (funded by the DfE) and become a CAS Lead School.

Computing lesson observations

The Computer Science Teachers’ Association (CSTA) in the US has highlighted five dispositions or attitudes which are developed and enhanced through computational thinking:

  • Confidence in dealing with complexity.
  • Persistence (or resilience) in working with difficult problems.
  • Tolerance for ambiguity.
  • The ability to deal with open-ended problems.
  • The ability to communicate and work with others to achieve a common goal or solution.

Such observable attributes are important indicators of computational thinking progression when children are carrying out projects. Like any thinking skill, it is important to provide learners with opportunities to regularly develop them, i.e. repeated exposure. This will require teachers to model tasks for pupils with a range of scaffolded activities – gradually removing the scaffolds to encourage greater independence and resilience in pupils.

When these computational thinking skills have been mastered, learners should be able to successfully apply them to a range of problem solutions. Therefore, it is reasonable to suggest that there is an association between the learner, the activity, and the way in which the activity is presented to learners by the class teacher.

Illustrations can be found in the CAS Secondary QuickStart Guide, which includes a version of Ofsted’s Evidence S5 Observation Form adapted to provide question prompts to focus the observer on computational thinking during the observation and feedback process. For example:

  • Do the lesson objectives introduce or revisit aspects of computational thinking (e.g. autonomous execution of pre-designed instructions)?
  • Do the lesson activities practise different skills of computational thinking (e.g. algorithmic thinking)?
  • Are the children aware of, and can they elaborate on, the knowledge and understanding gained in this lesson?
  • Are the children encouraged to introduce their own questions to the lesson?
  • How do the children handle disagreements in discussion/group work?
  • Are the children applying a wide range of knowledge and understanding from their day-to-day experience, including that from their cyber world?
  • Are the children reflective in their learning and developing their curiosity over time?”

Many teachers and classroom observers have asked what the children’s behaviours and dispositions look like when answering the questions in the updated lesson observation form. To articulate the computational thinking behaviours (skills) associated with the five concepts mentioned earlier, a group of computing specialist and non-specialist practising teachers have formulated a rubric. This is adapted from the CSTA’s five dispositions or attitudes and from Assessing Development of Computational Thinking Practises (Brennan & Resnick, 2012).

The framework (Computational Thinking Rubric: Learning behaviours, dispositions and perspectives) is focused on learners, but the concepts and behaviours are implicit in the statements. It provides a set of indicators to be used periodically in conjunction with a learner portfolio of work to make an overall judgement on computational thinking capabilities. It can also be used as a formative aid to focus discussions on the teaching materials used and it will help senior leaders to see what behaviours they are looking for during observations. We have made this resource available free.

  • Mark Dorling (@MarkDorling) is director of computing with the Aspirations Academies Trust and founder of the Digital Schoolhouse project. Email mail@markdorling.net. Thomas Ng is strategic lead of the West Berkshire School Wide Area Network.

Further reading and resources