Computational Abstractions
Introduction
Pupils should be taught to:
design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems.
In computer science, abstraction is the process by which data and programs are defined with a representation similar in form to its meaning (semantics), while hiding away the implementation details. Abstraction tries to reduce and factor out details so that the programmer can focus on a few concepts at a time. A system can have several abstraction layers whereby different meanings and amounts of detail are exposed to the programmer (Wikipedia).
Self Study Resources
YOUTUBE RESOURCE - Computational Models: Random Walk Simulation. Engaging lecture from the MIT Computer Science course looking at how we solve problems differently with computers than without.
TWITTER
The People to Follow regarding Computational Thinking:
@DrTomCrick
@dan_bowen
@Baggiepr
@computer_phile
@NTU_CAS_hub
BLOGPOST - Computational Thinking in Other Disciplines. Thought-provoking blog on the differences between people who approach problems and those who don't, and the importance of defining the problem before focusing on the solution.
Resources for lectures or group study
A collection of digital resources from XSEDE. Examples of computer models making science breakthroughs through virtual experiments such as hurricanes, air quality, epidemics, lava eruptions and the transport of volatile materials.
YOUTUBE RESOURCE - What is Computational Thinking? Who needs it? Why? Invited Speaker session by Aaron Sloman, Honorary Professor of Artificial Intelligence and Cognitive Science, School of Computer Science, University of Birmingham. Nice introduction to the concept, suitable for Key Stages 4 and 5.
BLOGPOST - Programming is the start, not the end. Nice blog and ensuing discussion regarding the need to make coding about problem-solving and thinking as well as programming in schools.
New Framework for studying and assessing the development of computational thinking (Brennan and Resnick, 2012) Looks at teaching and assessing computational thinking through Scratch.
Resources for use with pupils
YOUTUBE RESOURCE - Solving Problems at Google Using Computational Thinking. Really nice video in which Google programmers introduce key concepts in computational thinking and talk about their work relating to them. Suitable for Key Stages 3-5.
YOUTUBE RESOURCE - The Art of Computation. Abstraction is at the heart of everything to do with computing. James Clewett takes us through the layers abstracting the pixels forming this text on screen from the electrons in the computer. (5m 22s).
BLOGPOST: Learning to Code isn't enough. A learning scientist's attempt to temper the “learn to code” mania with a healthy dollop of reality.