Computing at School have developed a Scheme of work for CS, endorsed by key technology partners and companies

London Grid for Learning "History Of Computing" offers a full range of KS3-5 resources and cross curricular resources to provide context and reality to themes and concepts

BBC Bitesize Computational Thinking resources
BBC Bitesize introduction and revision guides on decomposition
BBC Bitesize revision guide on abstraction
BBC Bitesize guide to algorithms

The new programme of study

The focus of the new programme of study moves towards programming and other aspects of computer science. Programming has been part of the ICT national curriculum for some time but has frequently been overlooked or treated superficially. However, there is more to computer science than programming. Computer science incorporates techniques and methods for solving problems and advancing knowledge, and includes a distinct way of thinking and working that sets it apart from other disciplines. The role of programming in computer science is similar to that of practical work in other sciences ? it provides motivation and a context within which ideas are brought to life. Link icon

Computational thinking is core to the programme of study. It is the process of recognising aspects of computation in the world that surrounds us, and applying tools and techniques from computing to understand and reason about both natural and artificial systems and processes. Computational thinking provides a powerful framework for studying computing, with wide application beyond computing itself. It allows pupils to tackle problems, to break them down into solvable chunks and to devise algorithms to solve them.
In summary, computational thinking involves:Link icon

  • decomposition
  • pattern recognition
  • abstraction
  • pattern generalisation
  • algorithm design.

To illustrate these concepts, let?s look at how a Snakes and Ladders computer game might be made.

Decomposition is breaking a problem down into its components, each of which can be tackled individually and further decomposed.Link icon

For example, Snakes and Ladders needs a model that captures a board, the snakes and ladders on the board, player counters, a sixsided dice, and the rules that describe when and how to move counters

Pattern recognition is looking for similarities in the behaviours and states of the system you are trying to model.

For example, you might specify in the game that every time a counter meets the top of a snake it goes to the bottom of that snake, and to complete a game the player's counter must land on square 100.


Abstraction helps you only use the detail absolutely necessary for the functioning of the system.Link icon

For example, Snakes and Ladders might model a snake as two sets of coordinates, ignoring the colour of the snake or the fact that a real snake would need to eat!

Pattern generalisation allows us to define concepts in their simplest form and to re-use the definition for all instances of that concept.

For example, all the snakes in our game could be stored as just two sets of coordinates: one for the top and one for the bottom.

An algorithm is a precise method for solving a given problem. Link icon

In this case, the method comprises the steps of rolling a dice, moving a counter, ascending a ladder, changing turns, detecting when the game has finished, etc.

Algorithms are not just used by computers. For instance, the algorithm for repair a puncture on your bike might be: take off the wheel, remove the tyre, remove the inner tube, find the hole, patch it, replace the inner tube, replace the tyre, put the wheel back on.

As teachers, we are competent and confident users of technology in our own personal and professional lives. Few of us have sought to understand how our computers work, or how to program a computer. Many of us are unsure how to teach these things to our pupils.

Now, with help from the web, from new publications and resources, from online communities and from our colleagues (and pupils), it is time to give it a go.

About

Author

Author: Peter Kemp

Acknowledgements

Copyright

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License