Science, Technology, Engineering & Maths : Learning by Doing

Open post

Coding in school

If you have a child at primary school chances are that you are at least vaguely aware that ‘coding’ has been introduced to the curriculum in recent years but if you are still surprised when your child comes home talking about Algorithms or asking for your help with Scratch, here’s a brief round-up of what’s going on.

Why the changes?

Prior to the introduction of coding into the UK school curriculum in late 2014, computing lessons were focussed on learning how to use a mouse and keyboard with a pretty basic introduction to software packages like Microsoft Word. Whilst knowing how to use Word is undoubtedly useful, it hardly warrants hours of precious teaching time in schools.

The shake-up of computer studies in schools had been on the agenda for some time, driven largely by criticism from employers concerned at the low level of IT skills of young people joining the work force.

The UK perhaps led the way by including coding in its mandatory curriculum but coding has also been introduced in much the same way in Primary (or Elementary) schools in many other countries including US, Australia and Canada.

The new approach

The key aims of the new approach are:

  • to equip pupils with the skills they need for the world of work today. Skills that will be relevant whether or not they go on to become computing professionals.
  • to inspire more young people to pursue careers in computing (and science and engineering).
  • to help them develop the ability to think logically and gain problem solving skills that can be used in many walks of life.
  • to enable them to participate fully, and safely, in a society where computers play an increasingly important role.
  • To introduce coding at an early age so all children can become comfortable with the subject before stereotypes and gender issues become barriers.

What you can expect your child to be doing at school

Age 5-7 (Key Stage 1 in England)

Key Learning Objectives:
• understand what algorithms are and how they are implemented as programs on digital devices.
• create and debug simple programs.
• use logical reasoning to predict the behaviour of simple programs.

[An algorithm is a precisely defined sequence of instructions for performing a specific task. They can be written in plain English without any need for computers.]

Typical classroom activities:

On the face of it, coding might seem a tough challenge for younger children but they pick up new skills, habits, and even languages far more quickly than most adults! And at this age many of the activities are carried out without actually using computers, so called ‘unplugged’ activities, which focus on an introduction to key skills such as thinking logically and making sure instructions are precise and in the right order.

They will be finding out how algorithms work by developing written instructions for tasks such as: Making a sandwich or Negotiating a route through a maze of boxes arranged on the classroom floor. This will often involve ‘role play’ with a child or the teacher attempting to follow the written instructions. In this way children are able to see ‘bugs’ where the instructions are wrong or not specific enough and then revise the algorithm. (Want to know more about algorithms? - see our Parent Guide)

Floor robot

In many schools programmable toys like floor robots are used to create simple programs. [Want to know more about Floor Robots? - see our Parent Guide]

Most programs don’t work as they should first time around so children will learn how to identify the errors in their algorithm or commands for a floor robot and how to correct them. Children will be encouraged to work together to develop the skills of being part of a team.

Age 7-11 (Key Stage 2 in England)

Key learning objectives

The objectives broadly extend the work started in earlier years ie:

  • Design write and debug programs to achieve specific goals. Including controlling physical systems (Physical systems are things that can be controlled by attaching them to a computer such as buzzers, lights and motors)
  • Solve problems by breaking them down into smaller parts (Decomposition)
  • Use the techniques of sequencing, selection and repetition in programs: work with variables and various forms of input and output
  • Use logical reasoning to explain how simple algorithms work and to detect and correct errors (debugging) in algorithms and programs.

Typical classroom activities

Often coding studies will be blended on a cross curricula basis as part of a project in another area of study such as maths, writing or humanities.

Children will be designing and writing simple programmes in block based programming languages such as Scratch. This will involve breaking the problem down into smaller parts. For example creating an animated story about a topic from their Humanities studies on the Romans would involve thinking about algorithms, drawing characters, recording sound effects and writing the code. Or perhaps a computer based quiz about the Romans which would involve controlling the input and output of data and the need to set up a variable to keep score.

Scratch is important because it is probably the most widely used programming tool in schools – not only in primary schools but also in the early years of secondary schools. (Want to know more about Scratch? see our Parent Guide)

By the time they are in the last year or two of Primary School, your child may be fluent enough in Scratch to move onto a text based language like Python. Instead of ‘dragging and dropping’ the coding blocks of Scratch, they will be writing lines of code.

They may also be carrying out projects using Micro:bits to control physical devices or to create simple computer games etc.

Micro:bit

A specific example would be to create a model of Pelican traffic lights which need a button (input) lights (output) and maybe sound (output), and involve sequencing and repetition in the coding.

And with all these coding activities children will be identifying and correcting errors and bugs in their programs and often working in teams to complete a project.

How you can help

Want to know how you can help your child with coding? Take a look at the ideas and suggestions in our Parent Guide How you can help.

 

Open post

Why coding matters

There is a surprisingly wide agreement among politicians, academics and employers that coding and computational thinking are subjects that all young people should learn in order to develop relevant skills and for them to have a well-informed understanding of the increasingly digital world that surrounds them. But just how important is coding and computational thinking?

Job opportunities in coding

This is the most commonly cited reason to learn how to code and the one which tends to catch most headlines.

We are already living in a world dominated by computer code. Our mobile calls and text messages go via digital networks; entertainment is delivered over the internet; people don’t use paper maps anymore, we shop and bank online and communicate on social media. People work from home and comunicate via technology. Soon our homes will be controlled by code; aspects of medical care will be delivered via the internet and maybe your car will even drive itself. And all of these have as their basic requirement people who can create the necessary computer code.

Until recently education and training has been slow to respond and as a result there is a real shortage of computer programmers world-wide and the jobs for those who can code pay well, even at entry-level.

“Our policy at Facebook is literally to hire as many talented engineers as we can find” Mark Zuckerman .

Coding is international – everybody in the world uses the same coding ‘languages’ so it is easy to pursue career opportunities in other countries. Conversely because of its digital nature you can, for example, enjoy living in rural Cornwall while writing code for a company in Australia. All of which has big implications for ‘work/life balance’.

So learning to code and studying computer science can lead to a well-paid career with opportunities throughout the world.

Transferable Skills

Of course not everyone will be interested in a career in computer programming!

However learning to code, at least at a basic level, helps to develop valuable skills which are relevant in all walks of life both at work and outside of work.

Computational Thinking

As part of learning coding children are taught Computational Thinking which is a structured approach to problem solving.

Briefly the approach involves taking a complex problem and:

  • breaking it down into a series of small, more manageable problems (decomposition).
  • thinking about how similar problems have been solved previously (pattern recognition)
  • focusing only on the important aspects, while ignoring irrelevant information (abstraction).
  • writing simple instructions (in plain English) to solve each of the smaller problems (algorithms).

Computational thinking is a skill that everyone should learn. Even if you never follow a career in computing, you will benefit from knowing how to think this way and it will help you solve problems in almost any discipline.

"Learning to write programs stretches your mind and helps you think better. It creates a way of thinking about things that I think is helpful in all domains." Bill Gates

Creativity

A new coding project is essentially a blank canvas. Just like a writer, artist, architect or entrepreneur, the task is to create something out of nothing, a process that relies on having an open mind, asking ‘what if’ type questions, being prepared to make mistakes and to learn from them.

"I think that great programming is not all that dissimilar to great art. Once you start thinking in concepts of programming it makes you a better person...as does learning a foreign language, as does learning math, as does learning how to read." Jack Dorsey
Creator, Twitter.

Teamwork

Learning coding often involves splitting a project into parts with each being dealt with by individual members of the team. Then working closely with fellow students to collaborate on ideas and together produce a complete integrated solution.

Communication
Coding teaches the use of precise, unambiguous communication, strengthening both oral and written skills.

Awareness of the potential of technology
Having a broad working knowledge of technology means you can at least ask the right questions of tech specialists and be able to critically assess their answers rather than just be ‘blinded’ by technobabble.

Confidence
Having done your own coding you will have greater confidence using technology and less likely to be saying ‘I don’t do tech stuff’. The integration of technology into virtually every aspect of working life means it is crucial that people are able to take advantage of it in their particular field and not be afraid of it.

So, whatever sector of work, an understanding of coding will give young people a real competitive edge over applicants without such skills.

"Whether we’re fighting climate change or going to space, everything is moved forward by computers, and we don’t have enough people who can code. Teaching young people to code early on can help build skills and confidence and energize the classroom with learning-by-doing opportunities." Richard Branson, Virgin Group

The Future

For most people on Earth, the digital revolution hasn't even started yet. Within the next 10 years, all that will change. Let's get the whole world coding! Eric Schmidt
Former Executive Chairman, Google

The world that our children are growing up in is very different from the one we grew up in. The impact of technology is changing the way we live our lives, the whole nature of work and the way we interact with one another. Many young people just starting out in school today may well work in jobs that currently do not exist.

Whatever their career aspirations or goals in life, they are going to need to know how to make technology work for them.

So they should have some fun and learn to code!

Open post
parent helping with coding

How you can help with coding

If coding is a new topic to both you and your child, it’s a great idea to tackle it together. So how can you help your budding coder?

Coding is different

For the vast majority of parents (and grandparents) helping kids with coding is very different to any other subject. When it comes to Maths, English, Science, Geography, History, Art etc parents generally studied the subject themselves and have the knowledge to help their children, certainly during primary or elementary school years. This is not so with coding. Very few of today’s parents have any knowledge at all of coding and this presents challenges and opportunities.

It can be easy for parents to simply say “can’t help you with that” when asked a question on coding or to present a quizzical expression when their child wants to discuss a coding project. But that would be to miss a unique opportunity to share a learning experience as equals.

And, by getting involved, you yourself will gain useful skills, experience and confidence in a part of life that is becoming ever more important. Here are some ideas on how you can help with coding.

Show interest

One of the simplest things you can do is to be interested. Just as you chat to your children when they come home about what they have been reading, writing, drawing and discussing at school, so you can talk to them about what they’re doing with computing and coding. And for parents who feel intimidated by the idea of computer coding, talking through what their children have been doing – particularly at primary level – may be a good way to demystify the subject. And many children will be delighted to be the ones doing the explaining!

Coding = Creativity

Coding is as much about creativity as it is about maths and science. The stereotype of computer coders always being a maths nerd scares many people away from coding - adults and children alike. But coding is all about creating and making things come to life.

Most kids like to create things. So capture this by emphasizing coding projects that involve creativity such as painting, story-telling, interactive games or making a remote controlled buggy. Keep it fun and they will learn some core programming concepts along the way.

Tap into your child's passions. Avid readers can build web sites to publish reviews of books they've read. Sports fanatics can build web sites to track the stats of their team or create interactive quizzes. Artists can write code in Scratch to draw continuously changing patterns or random shapes. Choose something your child is really keen on and help them use coding as a new way to explore their ideas.

Make coding sociable

Obviously the current restrictions resulting from the Covid pandemic need to be followed but if and when possible getting a group of friends together for coding lets them bounce ideas around and learn from one another. As they get older having a network of friends who share an interest in coding will help them stay engaged. Group coding projects encourage teamwork which is a key part of ‘real life’ coding.

Find out what is happening at school

Talk to your child’s teacher and find out next term’s teaching plan for coding. Do your own ‘research’ to learn a bit about the things your child is learning so that you can get ahead of the game and be ready to help with homework and discuss their schoolwork.

Again subject to the restrictions relating to Covid, see if there are any after school clubs or any coding activities during the holidays that can help with coding. And you can use the projects from our Code Club at home.

Let the kids drive

Coding is a skill that is learned with hands-on practice, so let the kids drive. Avoid jumping in to type on the keyboard, even temporarily. If they have to click on a menu or ‘drag and drop’ a block, point to the screen with your finger instead of taking the mouse and clicking it yourself. Whenever there is code to be typed, have them type it. It may be faster if you did it yourself, but your child needs the practice more than you.

It is paramount that children stay safe when using computers but if at all possible give your child access to a computer where they can experiment and explore.

Remember the old saying “Tell me and I forget, teach me and I may remember, involve me and I learn.”

Learn to code

Given most of today’s mums and dads have little or no understanding of coding it can be difficult for them to offer support in this subject. One way to overcome this is to get some hands on experience in coding. A good choice is ‘Scratch’ - a coding language that is widely used in schools and is easy to access and easy to learn.
Our Code Club has a whole load of fun coding projects using Scratch  - these would be an ideal choice to enjoy completing with your children. You can find out more here Code Club

Open post

Algorithms

What are Algorithms?

The word Algorithm tends to suggest something complicated, obscure or even magical but actually they are a common part of everyday life. Some are complex and some are very simple.

An Algorithm is a set of precise step by step instructions to achieve a task or solve a problem. These instructions must be complete and unambiguous such that they can be followed without any additional knowledge, or abilities such ‘common sense’ or intuition. (Which, for a computer, makes them ideal!)

In computing they are used in vitually all applications including the highly sophisticated algorithms behind search engines like Google, shopping sites like Amazon and social media like Facebook.

Algorithms are certainly an important part of creating computer programmes but they also figure in many other areas. A cooking recipe is a good example. The recipe sets out the ingredients needed, their quantities, the steps to assemble the ingredients and the way they need to be cooked in order to produce the specified dish. One person can write the recipe and other people can independently follow the instructions to create exactly the same dish.

[As an aside, algorithms got a bad press, and most of the blame, for the exam results fiasco in Summer 2020 that affected the lives of so many young people. But it was nonsense to hold a 'rogue' algorithm responsible - the fault lay entirely with those writing and relying on the algorithm. A bit like me writing a cake receipe and then when the cake tastes awful, blaming the receipe!]

Algorithms are not computer code

You might be thinking that algorithms and computer code are the same thing, but actually they are different concepts with different purposes. Algorithms are written in English so that humans can understand them without needing to know any computer code. This makes them easier to write in the first place. And easier for people to examine the algorithm, test the logic and if necessary make changes.

Computers cannot read algorithms. Once the algorithm for a particular task has been finalised the step by step instructions need to be converted into computer code (such as Scratch or Python) and then that code is read and processed by the computer. Computer code is more complex and more precise than an algorithm.

If we missed out the step of writing an algorithm and went straight to writing computer code, particularly for complex tasks, the code is likely to contain errors and inefficiencies that can be difficult to identify and correct. It is usually easier to spot errors (or ‘bugs’) when the logic is in plain English.

So the algorithm can be seen as a ‘halfway house’ between the problem and the computer code to solve that problem.

Getting started with Algorithms

Children first meet algorithms as early as their first or second year in school. These will be part of ‘unplugged activities’ where children learn about some aspects of computer coding without actually using computers.

To give an idea of how this works here is an algorithm that might be created by children for brushing their teeth.

How to brush your teeth

  1. Take cap off tube of toothpaste
  2. Pick up toothbrush from holder
  3. Wet toothbrush using water from tap
  4. Put pea-sized amount of toothpaste on bristles of toothbrush
  5. Brush bottom teeth for 2 minutes
  6. Brush top teeth for 2 minutes
  7. Spit out toothpaste
  8. Rinse toothbrush with water from tap
  9. Replace toothbrush in holder.
  10. Replace cap on tube of toothpaste

Other examples might be Getting Ready for School in the Morning or The Daily Routine for looking after a pet.

Or, How to make a jam sandwich ...

One popular lesson in primary schools involves the children writing instructions (the algorithm) to tell the teacher how to make a jam sandwich. The teacher, armed with the props of jar of jam, bread, butter, plate etc, then attempts to follow the instructions exactly as they are written.

The results usually include the teacher responding to an instruction like ‘Put the jam on the bread.’ by putting the jar of jam on top of the loaf. Lots of fun is had by all and the children can see the need to be very careful in stating the instructions. This is certainly a game you can try at home!

Beebots

Children often use beebots and other floor robots in their early years at school. These robots are programmed to follow a sequence of commands using buttons to record each command. There are therefore an excellent introduction to using algorithms. See our guide to floor robots for more information.

Moving on

As they progress through school, children move on to learning how to use an algorithm as the first step in creating computer code. A simple example of this would be working on a computer game and wanting to animate a character to move around a square with each side of the square being 10 steps long.

If our algorithm simply stated “Move around a square”, there would be insufficient instructions for a robot to perform the task or indeed for a human who does not understand the concept of a square. Also we have not said how big the square needs to be.

A much better way of stating the instructions would be as follows.
1. Move forward 10 steps
2. Turn 90 degrees right
3. Move forward 10 steps
4. Turn 90 degrees right
5. Move forward 10 steps
6. Turn 90 degrees right
7. Move forward 10 steps
8. Turn 90 degrees right

This should work okay but if we review the above instructions we can see there is a lot of repetition. We can make our algorithm more concise, and better, by using a ‘repeat’ instruction. So that it now looks like this.

1. Repeat 4 times:
1.1. Move forward 10 steps
1.2. Turn 90 degrees right

And if we now code this in Scratch our program would look like this.

code for a simple algorithm

This process of identifying ways to make them more concise, so that they use less code in the computer programme and therefore run faster, is an important part of writing a good algorithm.

Flowcharts

A flowchart is the graphical or pictorial representation of an algorithm and the two are often used together.
The flowchart uses symbols, shapes and arrows in order to show the steps needed for a process or a program rather than words.  The standard shapes that are used are: an oval for Start and End; a rectangle for a mathematical operation or a process; a diamond for a logical decision and a parallelogram to indicate input and output.

Here is a simple example of a flowchart to demonstrate the steps needed for a ‘frost guard’ that sounds an alarm if the temperature is below 32°F.

The advantage of using flowcharts is that, because they use clear English and easy-to-understand standard symbols, they can be created and understood by people without specialist computer coding knowledge. This means a team of people could analyse a particular problem, identify the steps needed to create a solution and record this as a flowchart. The flowchart can be reviewed for errors in logic etc before being passed to a coder to create the computer code.

Once the code has been written if there are errors or bugs one can return to the flowchart to help identify the problems without pouring over the detailed code.

Algorithmic thinking

Algorithmic thinking is the ability to define the precise steps that are needed to solve a problem. Using it allows people to break down problems and identify effective solutions in terms of discrete steps.

It is a skill that is crucial in subjects like Maths and Science as well as Coding but actually is relevant in many situations and indeed at any age.

Algorithms in the curriculum

Algorithms feature in the requirements of most national curricula. For example the National Curriculum for England and Wales states:
Key Stage1: Pupils should be taught what algorithms are and how they are implemented as programs on digital devices.

Key Stage2: Pupils should be taught to use logical reasoning to explain how simple algorithms work and to detect and correct errors in algorithms and programs.

Key Stage 3: Pupils should be able to understand several key algorithms that reflect computational thinking (for example ones for sorting and searching); use logical reasoning to be able to compare the utility of alternative algorithms for the same problem.

How you can help

Just like all skills, kids can improve their algorithmic thinking through regular practice. And it can be good fun!
Encourage your child to create algorithms to solve everyday problems or to give instructions for everyday tasks. For example:
Making breakfast
Getting ready for school
Brushing teeth

Some tips for helping with algorithms:

  • Challenge your child to be as clear and unambigious with the instructions as possible.
  • Each step should be a discrete instruction rather than combining several instructions. This is because when we write the code based on the algorithm we will need to deal with each instruction separately.
  • Computers don’t understand your intentions and they have no common sense. So, for example, if you don’t specify that you need to put your socks on before you put your shoes on, you may end up looking silly!
  • The instructions must be in the right order (the order of steps is called a sequence) Putting the cake in the oven to bake for 20 minutes before the oven has been turned on won’t work!
  • There can be many different algorithms for the same problem, they may all work but some are much better than others!

Once your child has written the algorithm you can play the part of the ‘dumb’ robot that attempts to follow the instructions exactly as they are written. (see the Jam Sandwich above!)
Without knowing it, they’ll be exploring important coding concepts like repetition (eat a spoonful of cereal until bowl is empty), sequencing (put socks on and then put shoes on), and conditional logic (if raining put on coat).

Open post
floor robot bee bot

Floor Robots

You are quite likely to find motorised floor robots, such as the BeeBot, in pre-school and the early years of primary school. They are simple to use and an entertaining way to get young children starting out on coding.

The Bee Bot

This popular floor robot is styled as a bumble bee with a series of buttons on the top that children can use to programme the robot’s movements. They are suitable for an age range of around 3-5 years and cost about £70/US$90.

There are seven buttons, which look slightly different on different models but do the same thing:

Back and Forward: Move the robot in a straight line a fixed distance (approximately 15 cm) for each press.
Left and Right: Turn the robot 90 degrees anti-clockwise and clockwise respectively but do not move the robot forwards or backwards.
Pause: Causes the robot to pause for one second
Clear: Clears all the steps programmed into the robot ready for a new programme.
Go: Starts the programme.

To programme the floor robot you simply press the buttons. For example to turn right and then move forward 3 steps you would push the Right button once and then the Forward button three times.

A maximum of 40 commands can be stored in the robot.

Floor Mats

Floor robots are often used with a floor mat which shows a particular diagram or map and allows the children to create a programme to navigate their way around. The mats usually show a grid of 15cm squares so that each square is one ‘step’ for the robot. Examples would be visiting a series of numbers on the mat in the correct order or going to particular shops in a village or negotiating a maze. These mats can follow a variety of themes and are often cross-curricula involving maths, science, and literacy etc as well as coding.
Here’s a very simple example to illustrate the principle:

Here the floor robot has to be programmed to get to the treasure chest without going onto the green ‘swamp’ areas. There are several solutions, but one is:
Turn Right
Forward 5
Turn Left
Forward 5
Turn Left
Forward 5
Turn Right
Forward 2

As an alternative to using mats, you could set up an ‘obstacle course’ with blocks, fences, tunnels etc and programme the robot to negotiate a route through to the target.

Learning objectives

From a coding point of view the key learning objectives are:

  • Exploring algorithms by working out the precise instructions needed to code the robot to achieve a given objective.
  • Debugging the programme by identifying and then correcting mistakes in the instructions.
  • Team work by working in small groups or pairs to discuss the project and find a solution.

Stepping stone

Although floor robots appear very simple they help to develop some of the key skills needed for coding. They are a great stepping stone to the more advanced block-based coding programmes such as Scratch.

Open post
python code

Python Coding

What is Python?

Python coding is a scripting language widely used by older children learning how to code. But it is also behind projects such as blockbuster movies and spaceshots.

It is a text based programming language which means it is a step up from block based languages like Scratch and is much more powerful. It can be used for pretty much anything and is one of the most versatile coding languages in the world.

Students tend to start ‘graduating’ from block based coding to Python around the age of 11 and can continue to use it throughout their education and indeed beyond.

python code for temperature conversion

Where is Python coding used?

Here are just a few examples of applications using Python coding:

  • Data processing and analysis at CERN’s Large Hadron Collider
  • Visual Effects for films like Star Wars and Marvel
  • Commonly used in website development
  • ArtificiaI Intelligence projects
  • YouTube
  • Spotify
  • Instagram
  • Online Games

Python can be used to code the Raspberry Pi and the Micro:bit both of which are widely used by students of all ages.

Modules

A key feature of Python coding is the extensive library of Modules which are standardized solutions for many tasks that occur in everyday programming. This avoids having to ‘re-invent the wheel’ - you simply write a single line of code to import the required module into your programme.
For example this simple piece of code, to calculate the area of a circle, uses the ‘math’ module.

python code for area of circle

Readability

Another important advantage of Python is that its code very closely resembles the English language and so does not have complicated syntax which makes it more easily comprehensible for beginners.
The snippet of code below is a simple example of Python code that asks for the password (which happens to be peanut butter). The user types in the password and Python responds ‘correct’ or ‘incorrect’. Without having any knowledge of Python you would probably have at least a vague idea of what the code is about.

python code for password

Availability

The Python editor can be downloaded free of charge and will run on most computer systems including desktops and laptops.

Community

The Python coding language has a global community with thousands of software developers who interact online. This creates a great resource for guidance, examples and explanations etc.

Millions of people have already learnt Python so it is easy to find answers to questions that might arise while learning simply by conducting an internet search. Someone else has probably already asked the same question.

The Python Software Foundation is a non-profit organisation which actively promotes and advances the language helping to ensure it is kept up to date and remains freely available.

Summary

  • Python coding is very widely used by both students and coding professionals.
  • Compared to many other text based languages, Python is easy to learn and to use.
  • It is versatile and can be used across a wide range of applications.
  • The coding curriculum requires pupils to gain experience of at least one text based coding language and for this Python represents a good choice.

python code excerpt

Open post
Scratch 3 code

Scratch

What is Scratch?

Scratch is the most widely used computer coding language in Schools around the world. Given that nowadays coding is a compulsory subject in schools it is very likely your child will be using it at some stage.

While its primary aim is education for 6-16 year olds, people of all ages use it to create a wide range of useful, interesting and fun programs across disciplines including Entertainment, Music, Mathematics, Languages, Science and the Arts.

For most children Scratch will be their first introduction to coding in primary or elementary school and they will continue to use it until they ‘graduate’ to more complex text based languages such as JavaScript and Python.

Here's what you need to know.

Block based - Easier to use

Perhaps the most obvious feature of Scratch is that rather than using text based instructions, it uses graphical coloured blocks. Each block represents a single instruction to the computer.

The blocks can easily be joined together to produce a sequence of instructions (called a script) that the computer follows, starting at the top and moving downwards.


The advantages, from a learning point of view, of this ‘block’ based approach are:

  • You don't need to remember or type complex sections of code, the blocks are all available on the screen so you can just select the appropriate instruction and ‘drag and drop’ it into place as needed.
  • Blocks fit together like a jigsaw so there are strong visual hints about how they can be combined.
  • The blocks are colour-coded into categories making it easier to find the block you need.
  • Errors in coding are rare and when they do occur are much easier to identify and correct.
  • Using a block based approach largely avoids trivial typing or syntax errors that can be so frustrating and demoralising for people just starting on computer coding.
  • In spite of this simplified approach to coding, Scratch is a powerful and versatile coding language.

Helps develop key skills

Scratch has been designed primarily to make writing computer programmes simple but at the same time it helps to develop key skills:

  •  thinking creatively,
  • reasoning systematically, and
  • working collaboratively

All of which are essential, transferable, skills for life in the 21st century.

Limitations

As you may have guessed there is a limit as to what can be achieved with a block based programming language like Scratch. It is simply not powerful enough to create the kind of Apps we use on smartphones, complex games or business software etc.

But that is not really the point. Learning with Scratch means people get pretty good results straightaway and that acts as a springboard for them to move on to other, more mainstream, coding languages.

How do you get Scratch?

The program is browser based and runs on almost any computer including tablets. It's completely free to use. Simply go to the website at scratch.mit.edu

Scratch is developed and maintained by the Lifelong Kindergarten Group at the Massachusetts Institute of Technology (MIT) which is one of the world's leading universities.

The latest version is Scratch 3.0 which is a significant improvement on previous versions. It is easier to use and has some great new features. If at all possible make sure any projects or guides your children follow are based on this version.

Give it a try

Get our  Coding with Scratch: First Steps guide. It's free to download and you will be coding within 10 minutes!

Scroll to top