In Computer Science you will learn about the wonderful world behind Computers as well as computational thinking skills and programming.
Scroll across the tabs on the right to find out a little more about some of the core concepts that you will cover in Primary School.
Computational thinking is about looking at a problem in a way that a computer can help us to solve it. This is a two-step process:
1. First, we think about the steps needed to solve a problem.
2. Then, we use our technical skills to get the computer working on the problem.
For example, if you’re going to make an animation, you need to start by planning the story and how you’ll shoot it before you can use computer hardware and software to help you get the work done. The thinking that is undertaken before starting work on a computer is known as computational thinking.
Computational thinking is not thinking about computers or like computers. Computers don’t think for themselves. Not yet, at least!
Click on the icons below to find out more about each of the concepts and approaches.
Computational thinking and the concepts behind it, form the basis for much of computer science. Computer scientists are interested in finding the most efficient way to solve problems. They want to find the best solution that solves a problem correctly in the fastest way and using the least amount of resources (time / space).
Although computational thinking describes the sort of thinking that computer scientists and software developers engage in, plenty of other people think in this way too, and not just when it comes to using computers. The thinking processes and approaches that help with computing are really useful in many other domains too.
For example, the way a team of software engineers go about creating a new computer game, video editor or social networking platform is really not that different from how you and your colleagues might work together to put on a school play, or to organise an educational visit.
In each case:
The process of breaking down a problem into smaller manageable parts is known as decomposition. Decomposition helps us solve complex problems and manage large projects.
This approach has many advantages. It makes the process a manageable and achievable one – large problems are daunting, but a set of smaller, related tasks are much easier to take on. It also means that the task can be tackled by a team working together, each bringing their own insights, experience and skills to the task.
The problem of making breakfast can be decomposed into a number of tasks:
Decomposition is particularly important if we are trying to understand things that are complex. Sometimes we break parts down further.
Decomposing problems into their smaller parts is not unique to computing: it’s pretty standard in engineering, design and project management.
Software development is a complex process, and so being able to break down a large project into its component parts is essential – think of all the different elements that need to be combined to produce a program, like PowerPoint.
The same is true of computer hardware: a smartphone or a laptop computer is itself composed of many components, often produced independently by specialist manufacturers and assembled to make the finished product, each under the control of the operating system and applications.
Decomposition is everywhere in primary practice. We are always asking pupils to find out more, tell us more.
Whenever pupils are labelling, adding detail to concept maps, or creating instructions, life cycles, and timelines they are breaking something down, and thinking about detail, and so developing their decomposition skills.
If pupils undertake any kind of project or task, such as: putting on a school play, organising a cake sale, creating a news report, working out how to solve a maths problem, making a sandwich or getting dressed for PE, they will need to break the task up into manageable tasks or parts. That is decomposition.
In primary settings, as pupils learn to decompose, they might create only a partial decomposition. That is, they might not include all aspects or parts of a topic, but only the things they currently know about. As they progress they should check that they create a complete decomposition and do not miss any part of the whole. Also, as they progress, they can further decompose each part into sub-parts and so on.
If making a computer game, a pupil might decompose the game into: plot, characters and setting. They might then further decompose the characters into actions and appearance. The setting might be decomposed into obstacles, scoring objects and background. In developing a robotic toy, pupils would need to consider the hardware components, both individually and as a system, the algorithms they’ll need to control their toy and how to write those as code. In general, technology = hardware + algorithms + code.
An algorithm is a sequence of instructions or a set of rules to get something done.
You probably know the fastest route from school to home, for example, turn left, drive for five miles, turn right. You can think of this as an ‘algorithm’ – as a sequence of instructions to get you to your chosen destination. There are plenty of algorithms (i.e. routes) that will accomplish the same goal; in this case, there are even algorithms (such as in your satnav) for working out the shortest or fastest route.
Algorithms are written for a human, rather than for a computer to understand. In this way algorithms differ from programs.
Computer scientists strive to find the most effective and efficient algorithms, that is those that solve a problem in the quickest time, using the least resources (memory or time) or in the most effective way (getting the correct or closest to the correct answer).
Search engines such as Bing or Google use algorithms to put a set of search results into order, so that more often than not, the result we’re looking for is at the top of the front page. Your Facebook news feed is derived from your friends’ status updates and other activity, but it only shows that activity which the algorithm (EdgeRank) thinks you’ll be most interested in seeing.
The recommendations you get from Amazon, Netflix and eBay are algorithmically generated, based in part on what other people are interested in.
Helping pupils to get an idea of what an algorithm is needn’t be confined to computing lessons. You and your pupils will already use algorithms in many different ways across the school.
Logical reasoning helps us explain why something happens.
Computers don’t make things up as they go along or work differently depending on how they happen to be feeling at the time. This means that they are predictable. Because of this we can use logical reasoning to work out exactly what a program or computer system will do.
Children quickly pick this up for themselves: the experience of watching others and experimenting for themselves allows even very young children to develop a mental model of how technology works. A child learns that clicking the big round button brings up a list of different games to play, or that tapping here or stroking there on the screen produces a reliably predictable response.
This process of using existing knowledge of a system to make reliable predictions about its future behaviour is one part of logical reasoning. At its heart, logical reasoning is about being able to explain why something is the way it is. It’s also a way to work out why something isn’t quite as it should be.
Logic is fundamental to how computers work: deep inside the computer’s central processing unit (CPU), every operation the computer performs is reduced to logical operations carried out using electrical signals. It’s because everything a computer does is controlled by logic that we can use logic to reason about program behaviour.
Software engineers use logical reasoning all the time in their work. They draw on their internal mental models of how computer hardware, the operating system (such as Windows 8, OS X) and the programming language they’re using all work, in order to develop new code that will work as they intend. They’ll also rely on logical reasoning when testing new software and when searching for and fixing the ‘bugs’ (mistakes) in their thinking (known as debugging) or their coding when these tests fail.
There are many ways that children will already use logical reasoning in their computing lessons and across the wider curriculum.
Evaluation is about making judgements, in an objective and systematic way where possible.
Evaluation is something we do every day – we make judgements about what to do and what we think based on a range of factors.
For example, when considering a new digital device for use in the classroom, there would be a number of criteria that would be considered; for example, operating system, portability, memory, screen size, ease of use and warranty.
In computer science, evaluation is systematic and rigorous; it is about judging the quality, effectiveness and efficiency of solutions, systems, products and processes. Evaluation checks that solutions do the job they are designed to do and are fit for purpose.
One approach to systematic evaluation could be to use:
Evaluation is something that occurs everyday in schools; pupils evaluate their work, teachers evaluate lessons that they deliver and pupils’ learning and progress is evaluated.
For example, self and peer assessment can help to develop pupils’ evaluation skills as they become used to making judgements about their own and others’ work, evaluating against the success criteria and suggesting how the work could be improved.
In English, pupils may know the success criteria for writing. For example, they may need to remember to include capital letters, full stops, use adjectives, synonyms and adverbs.
As pupils progress at ages 5-7 they start to be able to express their choices and preferences more readily and clearly. For example, they may recommend a book to a friend, making judgements about what books they think are most suitable and explaining why they think their friend will enjoy it.
The design and technology curriculum for England makes particular use of evaluation as pupils work through the design, make and evaluate cycle. Pupils aged 5-7 are expected to evaluate against criteria and at 7-11 years also consider standards and the needs of others in their designs and products.
In gymnastics pupils may have a list of ‘good’ things they are looking for, such as landing on two feet from a jump, using different rolls in a routine that uses the ball and always being in control.
In early years, pupils can start to develop their evaluation skills as they learn to articulate their judgements and be able to express why in simple terms, such as; ‘My dog is my favourite pet because she lets me pat her’. They are also learning to use logical reasoning to make their judgements.
With their teacher they might talk start to learn how to think about the different and ‘best’ way to find things out: reading a book on dinosaurs, putting keywords into a search engine, using a CD ROM on dinosaurs or using a picture book.
As suggested in the EYFS Profile handbook, in expressive arts and design, pupils can explain the features of their own work and the work of others, recognising the differences between them and the strengths of others’ work. This is a great introduction to evaluation.
Pupils can undertake many different computing activities at this stage that can include simple evaluation. For example, they could take and evaluate a set of their own digital photographs – which photos meet the success criteria most effectively and why?
They can also be introduced to the ideas of having a simple design goal or criteria and will begin to create their own.
For example if they are asked to design a maze for a floor robot to navigate, they can have a criteria for the maze (a list of things the maze must have), such as a start, an end, a minimum number of obstacles to go around, and a criteria for their robot (they have to get the robot to navigate the maze without hitting the obstacles). Pupils can refer back to the design criteria and make simple judgements as to whether or not they met it.
When designing simple algorithms, for example using Bee-Bots, pupils can evaluate the most effective route. For example, is it the shortest?
As well as evaluating their work against design goals or design criteria, pupils aged 7-11 can evaluate their work against more detailed design criteria with increasing confidence and independence.
Creative Commons: https://en.wikipedia.org