Author: George Milliken

INTRODUCING CODING AND COMPUTATIONAL THINKING WITH CODE-A-PILLAR

Dundee practitioner, Judi Regan has very kindly shared resources for some wonderful Code-a-pillar play activities for early level learners. If you were at SLF 2019, you may have been lucky enough to attend her seminar. Among the resources, there are the ‘human’ Code-a-pillar arrows for children to wear. Judi them laminated these and added string for children to wear to remind them which ‘direction’ they were during unplugged CS play and also when creating their algorithms with the Code-a-pillar . The children would decide on the directions the Code-a-pillar was to travel, and form a line, holding on to the person in front. The ‘head’ would listen for each child in turn to call out their ‘direction’ and would then move in that way to make the ‘human’ Code-a-pillar travel. This could be extended by planning in advance how to reach a particular object/area; recreating the actual Code-a-pillar algorithm and moving alongside as it moves or making a plan for moving in a shape, e.g., “let’s see if we can get our human Code-a-pillar to move in a square shape?”

We have popped all of Judi’s resources into a folder on OneDrive, you can access and download here.

WHY COMPUTING SCIENCE MATTERS

by Susan Ward, DHT Kingsland Primary, Scottish Borders

Finding the time for computing science can be tough. With a slimmed-down recovery curriculum to contend with and a ‘to do’ list stretching to infinity and beyond, primary teachers could be forgiven for consigning CS lessons to the ‘would be nice’ pile rather than firmly rooted in the weekly plan’s must haves.

But computing science is too important to be sidelined.

There’s a viral video doing the rounds just now of a toddler demanding that an Amazon Echo play her favourite song (Baby Shark, in case you’re wondering). The person filming watches with great amusement as the little girl talks to the machine as if it is alive: “Alexa, play my favourite song!” When Alexa obliges, the little girl claps her hands in delight: “Alexa you my friend!” she squeals.

And as any stumped parent will tell you, ‘asking Google’ quickly becomes a regular response to the steady stream of “But why?” enquiries from curious offspring from their earliest days.

The message inadvertently given to children is that technology knows best, that Google and Alexa are the smart ones, that they just magically “know”.

The point here is that to a generation used to asking machines to do everything from play CBeebies to shutting the curtains, making computing science visible becomes a real struggle. Technology is now so integrated into the fabric of everyday lives it becomes unseen, unknowable, just ‘there’.

In the absence of good-quality computing science teaching, we are faced with a generation growing up who will believe Alexa is the ghost in the machine. All-seeing and all-knowing, machines will provide all the answers and children won’t think to question how they know.

But if our children and young people don’t know how the machines work, how can they design them to work better?

Teaching children to think computationally is essential learning and should start as young as possible. Children in nursery can understand the importance of sequencing and pattern making, the idea that instructions have to be clear and sensible. Tinker tables where children can take machines apart and look inside make technology visible and encourage curiosity about how things work. Like the technology all around us, the principles of computing science are woven into our everyday lives. We just have to show our children where to look.

There are lots of nifty gadgets out there that can help and one of the best and most underused is the humble Bee-Bot. Sturdy enough to cope with enthusiastically sticky hands yet sophisticated enough to demonstrate simple programming, Bee-Bots are a brilliant option. In our school, P4 learned to program using Bee-Bots, initially by using paper ‘fakebots’, available free from Barefoot Computing, to design and debug before moving onto the real thing. Problem-solving and collaborative working were in plentiful supply as children sought out and tested their own solutions.

Once confident in their programs, P4 created some furry costumes and story mats and, in the era before class bubbles, they were able to head to nursery to teach the younger children what they had learned. Big fans of ‘Going on a Bear Hunt’ by Michael Rosen, the Bee-Bots became bears and the nursery children learned how to program the bears to go through the swishy grass and oozy mud, just like in the story.

This is a small example of how computing science can open doors to learning and collaboration across the curriculum and across your school. It is a great leveller, a chance for children to shine in unexpected ways when the pursuit of a logical solution becomes a shared goal.

Computational thinking doesn’t require lots of resources or even constant access to a computer. It’s not about ‘doing coding’. We can grow problem solvers, careful sequence checkers, creative thinkers and logical predictors long before the word ‘algorithm’ is ever mentioned.

Showing children and young people how machines work, drawing back the curtain on the ‘magic’ and opening their eyes to the amazing and inspiring power of computational thinking will ignite your classroom and the potential that lies inside every child.

When you get right down to it, computing science is about careful attention to a problem and the curious and methodical pursuit of an effective solution.

 

What weekly plan cannot make space for that?

scratch webinar 27may

27 May, 15:45 – 17:00, Scratch Programming with Barefoot with YESC

The Young Engineers and Science Clubs Scotland (YESC) programme supports learners aged 3-18 and their teachers with a range of innovative STEM projects, such as this Scratch Programming workshop with Barefoot.

You can join this webinar on your computer or mobile app – Click here to join the meeting

 

For these Barefoot programming workshops teachers will need:

 

scratch webinar 17 may

18 May, 15:45 – 17:00, Scratch Programming with Barefoot with YESC

The Young Engineers and Science Clubs Scotland (YESC) programme supports learners aged 3-18 and their teachers with a range of innovative STEM projects, such as this Scratch Programming workshop with Barefoot.

You can join this webinar on your computer or mobile app – Click here to join the meeting

 

For these Barefoot programming workshops teachers will need:

 

2 UNDERSTANDING AND ANALYSING COMPUTING TECHNOLOGY

It is vital that our children and young people understand how computers work and the many roles that they perform in almost every aspect of our lives. Whether it means that they are aware that the car, TV or toaster is a computer that may require software updates or security measures because it is connected to the internet, or because they want to design and build driverless cars and wearable technologies, such as the Fitbits of the future. Learning about how computing technology has developed from the past to the present, and how it will change in our lifetime, is an excellent opportunity to spark wonder, imagination and creativity in learners.  

This organiser is split into two Es & Os (three at Fourth level) and they deal with coding (x-14a) and computer systems (x-14b):

Coding (x-14a) 

Computers are electronic devices and can only interpret information as a series of electrical signal that are either ‘on’ or ‘off’. This requires us to use ‘language’ that the computer can understand, and this is often referred to as ‘code’. There are many guides to different languages, and these can be found online.

 At Early level, learners should learn that symbols can represent information, such as arrows for directions, and be able to predict the outcome of a sequence of these instructions (algorithm) – this might be predicting the path of a Bee-bot or another learner. 

Learners at First level should be able to identify different parts of an algorithm in a visual coding language (such as Scratch, Swift Playgrounds or MakeCode), such as repetition (loops) and selection (when a decision is made). Visual coding languages are very popular and represent ‘code’ as blocks that can be joined together, like jigsaw pieces, to build algorithms. Learners should be confident to predict the outcome of such sequences. 

As the progress to Second level, learners should be much more confident with block-based coding and able to explain the function of variables (information the computer stores from the user, such as your answer to a question) and conditional loops (such as ‘repeat the question until the answer = 5’). They should now also be able to identify parallel processes (where two or more bits of code are running at once, and may impact each other, such as a computer-controlled character and a user-controlled character in a game) and their outcomes. 

Beyond Second level there is an increasing complexity of knowledge and skills as learners are required to understand how textual language is used to create databases (often SQL) and webpages (usually HTML and CSS). By the end of the BGE, they should be able to write basic code in a textual language (such as Python) and be aware of the different file formats computers use and why these are used.  

Computer Systems (x-14b) 

Practically every computer is built of input devices (which take information from the user or environmentie. your mouse, keyboard or touchscreen), processor (can be thought of as the computer’s brain – it follows instructions and makes decisions) and output devices (the computer uses these to show information to the userie. your speakers, screen or printer). 

At Early level, learners should be encouraged to find and identify computers in the world around them, including ‘hidden’ ones, such as those in household appliances or automated devices like an automated door. This is easier than ever, as so many of us own smart devices, such as speakers, watches, TVs and cars. 

Learners at First level should be able to explain the model of computers being input -> process and storage -> output. This should include a basic knowledge of what components are inputs or outputs, and a basic understanding of the computer’s processor making decisions – this links to their coding learning as it is the code that the computer is processing, and the algorithms may include inputs (stored as variables) and outputs. 

As the progress to Second level, learners should be much more confident with the computer’s architecture and be able to explain the difference between memory (temporary information the computer is processing) and storage (long-term information). This includes an understanding of the computer only being able to store information in a binary format (base-2 number system that only uses 0 and 1). There are great links to numeracy here as learners will need to understand place value. They could also explore Charles Babbage, who invented the binary system as we know it.

They should also be aware of the interconnectivity of computers and the role of the internet and how it is used to share information between them – it is important to understand that the (world wide) web and internet are very different, and learner should be aware of this! 

Beyond Second level there is an increasing complexity of knowledge and skills as learners are required to know the von Neumann architecture model and how machine code (binary) is stored and processed within it.

They should also be able to use technical language to explain the components and processes involved as computers communicate across the internet – including compression (to save on storage space) and encryption (for security – this presents an opportunity to introduce learners to the field of study that is Cyber Security, which can be studied as a National Progression Award (NPA)). By the end of BGE, they should understand how the computer stores and represents different information, inlcuding graphics and video, as well as being able to describe the concepts (including inputs, process and storage, output) of complex systems such as online payment systems or satnav. 

MORE COMPUTING TECHNOLOGY IDEAS

1 UNDERSTANDING THE WORLD THROUGH COMPUTATIONAL THINKING

Computational thinking is a process of understanding and solving problems presented to us. It is a systematic process that encourages breaking a problem into smaller parts, identifying the key elements and discarding the superfluous, and then building a solution in a logical, ordered way. This makes it very similar to mathematical thinking, and indeed there is much research linking the benefits of using the two together.

There are many opportunities to embed these concepts and approaches into your curriculum, especially in numeracy and mathematics. Instead of learners trying to work out a route in a textbook exercise they could programme a beebot to follow a path, try to solve a code.org challenge with directional language or test a a range of skills and strategies with Bebras.

This organiser deals with learners’ ability to identify sequences and steps in a process, classify and group objects and identify patterns and similarities between objects. From Early to First levels, learners should be developing the ability to follow step-by-step instructions, make logical decisions and group information in a logical way. In terms of computing, learners should be able to identify repetition, Boolean and IF statements. By Second level, learners should be able to identify parallel processes, random processes and conditional statements. 
Third and Fourth level sees the introduction of two additional E/Os and learners should be able to identify communication systems in the world around them, understand how compression and encryption of data works, and understand that a database can be used to store data with unique identifiers.

There are lots of great, free computational thinking resources and activities available online. Many of these resources have the added benefit of being ‘unplugged’, meaning no devices or computers are required to teach them.

In Scotland, we have partnered with Barefoot Computing and they provide an excellent computational thinking programme and resources. Barefoot splits computational thinking into the concepts and approaches below:

MORE COMPUTATIONAL THINKING IDEAS

3 DESIGNING, BUILDING AND TESTING COMPUTING SOLUTIONS

Every computer we use has been built to make a process quicker, easier, cheaper or safer. This organiser is all about recognising computer systems as solutions to design problems. Learners should experience a range of techniques and approaches to understanding the problems, planning solutions and then building a working computer solution. This can be done with code, web mark-up languages (such as HTML) or databases. Ideally, this organiser should be the application – an opportunity to assess – learners’ knowledge and skills from their computational thinking, coding and systems learning. 

At Early level, learners should be encouraged to create a simple sequence of instructions (algorithm) for a programmable device, such as a Bee-bot, or online platform, such as code.org. They should be able to spot and correct errors in a sequence – this is a great opportunity to develop resilience and problem solving strategies, including the computational thinking concepts and skills from x-13a. 

Learners at First level should be able to break a problem down into smaller parts and identify key steps, before creating a solution in a visual coding language, including use of selection (a decision is being made) and fixed repetition. They should then be able to evaluate the accuracy and efficacy of theirs and others’ solutions.  

As the progress to Second level, learners should be much more confident with visual coding languages and should be able to use the concepts of variables and conditional repetition (loops) as learned in x-14a. They should be building their knowledge of code and developing ability to identify where blocks of code might be similar in different solutions, before being able to reuse old code in a new solution. This might be seen as a ‘Eureka!’ moment where they ‘see’ the solution to the problem, like they might do when the start to ‘get’ other concepts like fractions.

Beyond Second level there is an increasing complexity of knowledge and skills as learners are required to create design solutions in visual languages with multiple variables and also to manipulate computer data, such as a database, with textual language (this may be searching or sorting but not creating a database).  They should also be introduced to web languages, such as HTML, CSS and JavaScript. By the end of the BGE, learners should be familiar with a wide array of design solutions and processes, including interactive webpages (usually JavaScript) and relational databases and code in a textual language (such as Python).  

 

TEACHING COMPUTING IN A ROAD SAFETY CONTEXT

This short clip captures how Computing Science does not sit insolation and this is one example of how it can be embedded through the curriculum and in the context of children’s interests through play. The context for learning in the video is health and wellbeing, road safety. The programmable devices are all playing an important role in telling the story of how to cross a road safely. Early level learners create algorithms to programme the BeeBot to travel as cars along the road. Older learners use a more abstract form of programming with the other devices in the clip.   

  • I know and can demonstrate how to travel safely  HWB 0-18a  

 

  • In movement, games, and using technology I can use simple directions and describe positions MTH 0-17a

 

  • I can develop a sequence of instructions and run them using programmable devices or equivalent. TCH 0-15a 

 

If you paid close attention, you may have noticed a missed debugging opportunity? The programmable device ‘crossing the road’ did not look left and right again before crossing the second road! 

DEDRIDGE PRIMARY SCHOOL CODE CHRISTMAS

Dedridge Primary School, West Lothian shared this wonderful example of how early level learners created algorithms to programme BeeBots to retell the nativity story at Christmas time. How many areas of the curriculum can you identify in this clip? 

We would love to continually add examples of how you are embedding computing science through play in ELC settings and with the young learners you are working with. Please click on this link to share your examples of unplugged computing science and how children are exploring programmable devices if you have access to them