Category: Primary

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?

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 

EMBEDDING CS IN MATHS WITH CODE.ORG EXAMPLES

There is so much maths in computing and that presents excellent opportunities for interdisciplinary learning. Why not plan to introduce directional language through these engaging challenges form code.org? Learners simply drag blocks of ‘code’ together like jigsaw pieces to solve mathematical puzzles. There’s help videos and hints for each challenge and even an educator section to support you teaching it.

Here are some great places to start your maths/coding adventure:

Pre-reader challenges – Ice Age

The Ice Age-themed ‘pre-reader’ challenges only ask learners to use one or two blocks of code at a time and the directions are represented by arrows, so they can start to code without needing to read.

Play it

Introducing directional words – Star Wars

This Star Wars-themed challenge introduces the use of directional words on screen. So as your learners develop confidence with directional language, they can try more challenging code too.

Play it

Exploring degrees – Frozen

This Frozen-themed challenge introduces the use of degrees and angles to control the characters on screen.

Play it

TEACHERS’ REFLECTIONS ON ADDITIONAL TEACHING QUALIFICATION IN COMPUTING

Jonathan Henderson, Lasswade Primary School, Midlothian, @MrHenderson321
Emma Hedges, Victoria Primary School, Falkirk, @MissHedgesVPS

We are delighted to be part of the first cohort of a new program of CLPL aimed at up-levelling primary teachers’ skills in delivering the Technologies curriculum. This online program leverages some of the University of the Highlands and Islands (UHI)’s existing courses for cross-qualifying existing secondary teachers into Computer Science but provides primary teachers with the expertise necessary to deliver the computing curriculum up to SCQF Level 3. This course has been designed and supported by the British Computer Society, Microsoft, Education Scotland and the Scottish Government.

Currently, we are in Week 4 of the first 12 week module on Databases and Computer Systems, with a second module planned to start in September which will focus on Coding and Web Technologies. So far we have learned about Software, Hardware, Numbering Systems and Logic Gates, and we will soon be moving onto learning about databases and SQL. The work for each week is split up into sections which has contributed to making the course manageable to fit in around a full time teaching job. Each week has involved gaining new knowledge via videos and Sways. There have also been interactive elements such as mini quizzes and using what we have learned to complete tasks such as calculations involving binary numbers. There has been a feeling of satisfaction when we have been able to use our new found knowledge, or from learning from our mistakes, to complete these tasks.

We have also been given the opportunity to complete an additional entry-level Cisco course about Linux which many participants have signed up to complete.

So far, it has been fascinating to go further into subjects which are beyond the normal scope of the primary curriculum and refresh and update our understanding of computing. Through being provided with this opportunity we are once again in the role of the learner. This has been an interesting experience and has made us consider the different ways in which we can share what we are learning to the wide range of needs of our learners, as well as with our colleagues.

We are also enjoying the opportunity to network with colleagues from across Scotland as well as across primary and secondary education. It has been interesting to learn about the different backgrounds of our colleagues who are also enrolled on the course and to be able to interact with them online either on the UHI learning space or on Twitter. With the submission date of our first assessment approaching, we’re very much focussed on doing our best in order to get the most out of the course both for ourselves and for our pupils.

Find out more about the qualification here