~ Intro to Computer Science



Welcome to Computer Science

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.

What is computational thinking?

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.

scratch-animation-example

When creating an animation, you create the sequence of the story before using computer software, such as Scratch to create it.

Computational thinking is not thinking about computers or like computers. Computers don’t think for themselves. Not yet, at least!

Computational thinking involves 6 different concepts and 5 approaches to working:

Computational-Thinking-Poster-Barefoot-Computing

Click on the icons below to find out more about each of the concepts and approaches.

Logic-iconalgorithms-iconDecomposition-iconpatterns-iconabstraction-iconevaluation-icon

tinkering-iconcreating-iconDebugging-iconpersevering-iconcollaborating-icon

Why is computational thinking important?

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).

  • Is this the most efficient way to solve the problem?
  • Is this the fastest way?
  • Does it require the least amount of resources?
  • Does it solve the problem and give the right answer?
  • Can it be used to solve other problems?
What can you do with computational thinking?

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:

  • you take a complex problem and break it down into smaller problems
  • it’s necessary to work out the steps or rules for getting things done
  • the complexity of the task needs to be managed, typically by focusing on the key details
  • the way previous projects have been accomplished can help.
 

What is Decomposition?

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:

Breakfast-image

Two people could make this breakfast at the same time, one could make tea and one could make toast.

Decomposition is particularly important if we are trying to understand things that are complex. Sometimes we break parts down further.

Plant-Labelled-Diagram-Image

A labelled diagram of a flowering plant. We find out more as we decompose.

Why is decomposition important?

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.

decomposed surface pro image

A tablet can be broken down (decomposed) into smaller components.
With thanks to iFixit.com

What does decomposition look like in the primary curriculum?

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.

Egyptians-concept-map-image

Pupils add detail to their knowledge and understanding of the Egyptians in concept maps.

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.

What are Algorithms?

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.

making-toast-algorithm

A sequence of instructions – an algorithm – for how to make toast

multiply-by-10-algorithm

A set of rules, or an algorithm for multiplying by 10

chocolate-cake-algorithm

In the task of how to make a cake, a recipe gives a human a step-by-step sequence of instructions for how to make and bake the cake.

Why are algorithms important?

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.

What do algorithms look like in the primary curriculum?

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.

    • A lesson plan can be regarded as an algorithm for teaching a lesson.
    • There will be a sequence of steps pupils follow for many activities, such as getting ready for lunch or going to PE.
    • In cookery, we can think of a recipe as an algorithm.
    • In English, we can think of instructional writing as a form of algorithm.
    • In science, we might talk about the method of an experiment as an algorithm.
    • In maths, your approach to mental arithmetic (or many computer-based educational games) might be an implementation of a simple algorithm.
    • An example of this might be:
      • repeat 10 times
        • ask a question
        • wait for a response
        • provide feedback on whether the response was right or wrong.
growing-seed-algorithmA set of instructions for how to plant a seed
storyboard-algorithmA storyboard is a sequence of instructions for writing a story or making a film
'or'-phoneme-algorithmSpelling rules for the ‘or’ phoneme. Images from pixabay Public Domain CC0

What is Logical Reasoning?

Logical reasoning helps us explain why something happens.

If you set up two computers in the same way, give them the same instructions (the program) and the same input, you can pretty much guarantee the same output.

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.

Image_Logic_pupil mouse

Pupils use logical reasoning to develop their understanding of how technology works.

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.

Why is logical reasoning important?

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.

What does logic look like in the primary curriculum?

Logical reasoning across the curriculum

There are many ways that children will already use logical reasoning in their computing lessons and across the wider curriculum.

  • In English, pupils might explain what they think a character will do next in a novel, or explain the character’s actions in the story so far.
  • In science, pupils should explain how they have arrived at their conclusions from the results of their experiments.
  • In history, pupils should discuss the logical connections between cause and effect; they should understand how historical knowledge is constructed from a variety of sources.
  • In design and technology, pupils reason what material is best suited to each part of their projects.
  • In philosophy for children sessions, pupils can use logical reasoning to analyse arguments.
Image_logic_DT

Pupils explain reasons for their choice of materials in design and technology projects.

Image_logic_P4C

Pupils can use logical reasoning to analyse arguments in philosophy for children sessions.

What is evaluation?

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.

After evaluation OS X operating systems may be judged to be most suitable. Image public domain CCO http://pixabay.com/en/monitor-display-screen-computer-149362/

Or in some cases, after evaluating the options, laptops may be judged as the most suitable device for a classroom or school. Image public domain CCO http://pixabay.com/en/laptop-black-blue-screen-monitor-33521/

Why is evaluation important?

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:

  • specific criteria (for example a design goal or specification)
  • user needs (considering who the users are and what they need from the final design)

What does evaluation look like in the primary curriculum?

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.

evaluation-examples-barefoot-computing

Example peer-evaluations – 2 stars and a wish and www/EBI

Evaluation across the curriculum

English

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.

Design and technology

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.

PE

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.

Evaluation in computing

3 – 5 years

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.

5 – 7 years

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?

Pupils aged 5 – 7 example: postman Bee-Bot has to visit 4 houses in a street. Pupils can write the algorith, test it by programming the toy and then evaluate how well it worked and what needs to change.

7 – 11 years

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.

Pupils aged 7-11 will become more comfortable in creating their own design criteria. They will begin to understand the importance of evaluation and its value in improving their work and take more responsibility for it. They will also become more skilled in evaluating their own and others’ work against design criteria and giving appropriate feedback. In this way, they can consider the views of others to make improvements to their own work.

Evaluation can take place at many different stages. For example, when creating an animation about the Vikings could evaluate their work at different points. Some ideas are given below:

  • research
    What does a ‘good’ animation look like? What software is available to complete my animation? What topics about the Vikings could be used? Can my idea be made into an animation in the time available?
  • algorithms
    Are my algorithms fully decomposed, precise and complete sequences? Are they the most efficient algorithms possible, if appropriate making use of repetition and selection?
  • final animation evaluation
    Does the final animation meet any initial design criteria? Does it meet the standards of what I considered was a ‘good’ animation? Does the animation run as expected for the user?
  • final evaluation of approach / learning
    What have I learnt in this project that is useful for future projects? What could I do differently next time?

Creative Commons: https://en.wikipedia.org  Oa 80x15 orange.png