Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore HelloWorld04

HelloWorld04

Published by gPiO Box, 2018-05-25 05:47:44

Description: Join our panel of experts in issue 4 of Hello World magazine as they discuss successful approaches to professional development. Elsewhere this issue we take a close look at the new Royal Society report 'After the Reboot', and share our usual mix of features, insight, and lesson plans

Search

Read the Text Version

n M ake sure you untick the box next to your word n U sing a broadcast command, you can use this code ALTERNATIVE ACTIVITY IDEAS variables, otherwise they will appear on the screen to allow your numbers to flash and count down 7-11 years – Modern foreign languages in the game and the player will be able to copy them! Instead of using written words, consider using images and asking for words in a different language. For example, flash up a picture of a catwe’re going to broadcast ‘message1’, and ask what the word is in Frenchwhich tells our numbers to appear Y ou could develop a core bank of words to learn in a foreign languageand count down. When the numbers F or a real-world application, compare this game to the early levels ofhave counted down we want to ask Duolingo where you match images up with words!our player to spell the word, and thenuse a conditional statement to check 11-13 years – Programmingwhether the spelling is correct. Introduce lists. Ask students to design their spelling test to randomly select a word from a list Notice that we use a Broadcast T he sentence used as an example for each word would need to beblock here to let the countdown universal to all the wordsknow when to start. You can also see H ow could you use concatenation to make your sentences work withthe different costume commands: the word selected from the list? ASSESSMENTn H ere’s the code for your first spelling word. You can n Make sure you add three costumes to one number Does your spelling test work? Does it respond in the way you expect if the answers are correct repeat it with a few changes for each of your words instead of creating three different sprites or incorrect? Could you design your game to give us the finalNano will smile if you get the answer sensible to do this as a single sprite score at the end?correct, or frown if the answer is and switch between costumes. How would you modify your code to use differentincorrect. If the answer is correct, we spelling words?have also told the game to increase Consider challenging your morethe variable score by one point. able students to work out this piece FURTHER READING of code by themselves. It doesn’t Take a look at the code you need actually add anything to the game, Completed project: helloworld.cc/2whNqRgto use for your countdown. For so it doesn’t necessarily need Code Club ChatBot project: helloworld.cc/2uP4ot0this project, the numbers slightly to be included.adjust in size to give the appearance Think about how you could n This last bit of code allowsof flashing. Finally, challenge students to challenge your students. For use the score variable to get your example, set them the task of asking you to calculate a final score The original version of this project character to announce the final the player’s name and storing their for the player, and joins it tohad three separate sprites for score out of three. Show students answer in a variable called ‘name’. the phrase ‘out of 3’the numbers, but it is much more how to add the score variable to a What other information could you Say block, and allow them to play ask for and store? with their wording. Hopefully you can allow your students to have a bit of fun with this activity. Remember to get them to peer-review each other’s work, and encourage them to try out each other’s games. It is really important to regularly test your code to check that it works, and this can help to spot errors. helloworld.cc 51

LESSON PLANAGE RANGE THE BAREFOOT COMPUTING7 – 10 years VICIOUS VIKINGS!LESSON TYPE Bring history to life whilst learning about sequencing, as pupils use this Barefoot Computing resource to code an animation of a vicious Viking raid!Visual / block-based coding arefoot Computing’s free resources, from their site, of a Viking raid, (though of course barefootcas.org.uk. this could be replaced with anyREQUIREMENTS B workshops and resources historical event to suit your topic!). The Barefoot Computing The activity develops pupils’• Register at have supported around resources provide ideas for understanding of sequencing in barefootcas.org. 50 000 teachers, and reached over teaching computer science through algorithms and code. uk to download 1.5 million pupils. Teachers can cross-curricular activities. In this all the resources book a FREE Barefoot Computing example, pupils make links to The lesson is in two main parts. for this activity workshop for their school, as well history as they code an animation First, pupils write the algorithm for and book a as downloading a vast range of their animation, thinking carefully FREE Barefoot about the sequence of events. workshop for Pupils then translate this algorithm your school into code, as they create their animations in Scratch.• Computers running Scratch The following is a summary of (1.4 or 2.0) for the full Barefoot Computing lesson each group plan, which can be downloaded for free, after a quick registration on n Figure 1: A screenshot from the example animation included with the resources the Barefoot website. Vicious Vikings who? Take the opportunity to recap pupils’ knowledge of the Vikings before exploring the computing element of this lesson. Where did the Vikings come from? Why did they raid Britain? How did the Vikings fight? You might use drama for this, such as hot seating, or a mind mapping activity. See the link to the BBC Vikings website.52 helloworld.cc

THE CHALLENGE ALTERNATIVE ACTIVITY IDEAS Can pupils write a correctly sequenced algorithm? This lesson can easily be adapted for different Can pupils correctly sequence their code in Scratch? year groups, for example: Can pupils debug their code? 5-6 years - ScratchJr Pupils could use a simpler language such as ScratchJr to create their animations. ScratchJr enables pupils to draw their own backgrounds and sprites (employing IT skills), and code these to move and speak. n Figure 2: An extract of code used in the example 11-13 years - Programming animation. Which commands are you familiar Pupils could be encouraged to make their animations interactive, in a with? See the full resource for guidance on using similar style to ‘Adventure Quest’ games. For example, the player might these commands. select where the Vikings raid, or where the Monks flee to! This would introduce the concept of ‘selection’ as means of coding these choices. Physical Computing Could pupils use a Crumble, Micro:bit or Codebug to make a historical scene with parts which light up or move? A monastery with flames flickering from the roof, for example?How sequence ? Important is animations. Depending on your FURTHER READING pupils’ prior experience of Scratch,Introduce the lesson’s learning provide guidance on using these, The full Barefoot Computing Viking Raid lesson:objective from the presentation then give pupils time to develop their barefootcas.org.uk/programme-of-studyincluded in the resources and, if understanding by tinkering withrequired, spend a little time discussing these commands. Barefoot Computing example animation:the terms ‘sequence’ and ‘program’. scratch.mit.edu/projects/25872592Open the example Scratch Viking Code, debug, code, debugraid animation, provided with the Barefoot Computing on Algorithms:resource, and run this for pupils. Lead Pupils can now move on to coding barefootcas.org.uk/sample-resources/algorithmsa discussion: Why was the sequence the Viking raid animation they haveimportant? What needed to happen designed. The focus throughout this Barefoot Computing on Sequence:first, next, and last? Why? Would activity has been sequencing, and this barefootcas.org.uk/barefoot-primary-computingthe animation have worked if the is still very much the case as pupilssequence were different? Why? code. Have they sequenced the code Barefoot Computing on Programming: correctly? Can they explain what code barefootcas.org.uk/barefoot-primary-computingLet’s design they have used first, next ,and last, and why? They should be encouraged BBC history resources on the Vikings:Provide pupils with the animation to regularly run their code and bbc.co.uk/education/topics/ztyr9j6design sheet on which they’ll create debug as they go. See box ‘Barefootthe algorithm for their animation. Computing 4 Step Debugging’.This takes the form of a storyboard,with annotations about the sprites’ ASSESSMENTmovements and what they’ll say. What is the sequence of events in your algorithm? Why?Tinker time What commands have you used to code your animation? Why? What bugs did you find and correct? How?It’s now time to tinker! The fullBarefoot Computing resourceexplains how a variety of ‘movement’,‘appearance’, and ‘control’ commandscan be used to code pupils’ helloworld.cc 53

GUIDE SCIENCE TEACHING WITH MICRO:BIT The BBC micro:bit is a great resource for teaching science GUIDE BY Graham Hastings I have piloted a number of projects (LDR), which have been mounted so that n Figure 1 The calibration script with the aim of establishing a the LED shines onto the LDR. In addition,role for the micro:bit as a resource for the children are given a micro:bit, four n Figure 2 The complete MicroCode pond filter scriptteaching science at Key Stage 3. These coloured leads with a crocodile clip at eachprojects were designed to provide a end, and access to a computer. in a potential divider configuration using acomprehensible context for the teaching 660 Ω resistor. One end of the resistor isof computer science, while illustrating the For the pilot, we built the jigs for the connected to 3 V, the other is connected toimportant role that computers play in the children. It would of course be possible Pin 2 and one leg of the LDR. The other legfield of scientific discovery. to take a STEM approach to the project, of the LDR is connected to GND. giving the children the components toHow clean is my pond? investigate, and asking them to design The LED is connected by its positive leg and make the apparatus themselves. to a 330 Ω protecting resistor. The otherThis project is designed to fill two or end of the resistor is connected to Pin 1.three one-hour lessons, depending The sensing apparatus The negative leg of the LED is connectedon the students’ familiarity with the to GND. We used four different colouredmicro:bit. The objective is to create a The Internet of Things is being created leads to make it easier for the children tocomputerised system to measure the from billions of electronic devices follow the wiring diagram.pollution level of a garden pond, and to connected to computers. The apparatusinform the owners when they need to for this project exemplifies such aturn the pond filter on. device.  Although very simple in its design and function, what it does is Once the detrimental effects of extremely important environmentally:excessive algae growth on a pond maintaining water quality while reducingecosystem have been explained, and the energy consumption.children clearly understand the nature ofthe problem, they are introduced to the The LED providing the light source andapparatus. This consists of a jig supporting the LDR, sensing the transmitted light,a bright LED and a light dependent resistor face each other, a fixed distance apart, with a space to put the water sample HOW DO I MAKE THIS HAPPEN? between them.  To take a pollution reading, the pond water sample is placed in a Start with the people. Build a good working transparent container on the wooden jig. relationship with the Head of Science in your When the sample is in place, the apparatus school, or a member of the science team who has is covered with a box to prevent ambient an interest in computing. Familiarise yourself with light from affecting the reading. As the the science curriculum. Explain to the science team pollution level rises, the light transmitted why you think a project like this represents an to the LED reduces and the reading on the opportunity to enhance teaching and learning in micro:bit increases. both science and computing. The labelled photograph shows how the sensing components are connected to the micro:bit. The LDR needs to be connected54 helloworld.cc

n The pollution-measuring apparatus Once the apparatus has been connected, this project. Some children will be able to Once they have worked out the correctthe children are ready to write their do this, others will need a prompt. As we sequence, the children should be able toprograms. The Year 7 children were not were short of time, I gave my Year 7s an produce a script for their pond controlsufficiently confident with Python. As algorithm, in the scrambled form shown, system (Figure 2). Many were able to dothey would need to program the input/ for them to resequence. so. For those who found this challenging, Ioutput pins, I suggested that they use the provided a copy of the script to help them.Microsoft MakeCode editor (Figure 1). n The LED is turned off This is as far as I got with my Year To ensure a more reliable result, the n If the analogue value is greater than the 7s, but there is considerable scope forchildren are instructed to take five readings default, display the message ‘Filter ON’, extension work with this type of sensingand to work out the average. As an or else display the message ‘Filter OFF’ and control system. The logical next stepextension to their script, ask the children is to directly control the pond filter’s motor,to edit it so that it takes the five readings, n Start via a relay, from the micro:bit.calculates the average, and then displaysthe result as a single value. n T he analogue value of the LDR is read Detailed lesson outlines for this project and this is stored in a variable and notes on many other micro:bitThe pond control system projects for schools are available n End at helloworld.cc/2uUvfEh.The final stage is for the children to edittheir calibration script so that the pollution n W hen button A is pressed, the LED FEEDBACK CONTROL SYSTEMSvalue is compared with the default value, lights upand the appropriate output is displayed. This project could be adapted for older studentsThis will be ‘Filter ON’ if the value is higher n T he analogue value is compared studying computer science as an example of a feedbackthan the default, or ‘Filter OFF’ if it is lower. with the default value control system. It would represent an excellent opportunity to teach students about hysteresis, and Decomposing the problem and devising the disadvantage of a single default switching value.an algorithm are important aspects of helloworld.cc 55

OPINION LORNA ELKES CAS MASTER TEACHER USING 3D PRINTING ACROSS THE CURRICULUM A staff member regularly enters competitions, usually successfully. This time, they won a 3D printer. Now all we had to do was get it working! e entered this competition with a project that was Some 3D software design tools work by being ‘built up’ from a base that can be rotated in all directions. Sample shapesW already planned and underway, and we were can be added or free-form lines drawn that are then filled. presented with an Ultimaker 3D printer from Alternatively, there is a ‘knock down’ approach, a bit like beingCREATE Education at the Bett show in London. a virtual sculptor. Generic tools are used to remove individual No sooner had it arrived than it was out of its box, blocks or entire sections of the design.plugged in, and miraculously printing mini robots as a demo. Training for allFinding cloud-based design software As part of the printer prize, we were offered a training sessionWe are a Google school with Chromebook technology, – technological know-how for staff, or a design challenge for aand consequently we use cloud-based software. Finding class of students. I cannot praise the CREATE Education teamsomething compatible with Chrome and Cura (the enough. They very kindly put together a bespoke training dayUltimaker 3D printing software), as well as something user- for our children, covering technical maintenance and setup,friendly and cheap, was the next challenge. and a hands-on design activity. There are several options freely available, but we Through this training we were introduced to Beetle Blocksneeded the designs to be exported as .stl files. 3D printing (beetleblocks.com), which uses Scratch-like programmingis a relatively new area which is still evolving, and most skills to operate a logo-like bug, leaving a trail that builds updesign tools required downloading to be stored locally. to form a 3D image. Given some mathematical perimeters,Following a conversation with someone at STEM in the children were soon creating their own mandalasYork, we were directed to 3D Slash (3dslash.net). This ready for printing. You can read more about our activities onproved to be everything we needed: primary-friendly, and the CREATE Education blog (helloworld.cc/2eIqMxW).available online. The most remarkable thing is that all this has been Our next challenge came with creating pupil accounts. achieved by a teacher who is not a computing specialist,The expectation is that users will sign up via a unique who has been able to make sense of the jargon, has notemail account to access their design area and account been afraid of asking for support, and has been prepared toinformation. As part of our safeguarding policy, primary make a mistake or two – something of which all the pupilspupils do not have individual email accounts. Fortunately, involved were aware, and have themselves learned from.Google has a really useful fix for this. By using ‘+’ followed With the demands of a dynamic computing curriculum, thisby a user ID, a generic Gmail account can become multiple was by far the best part of the learning – learning for all.single user email logons for online applications. Lorna Elkes is Deputy Head Teacher at Brookmead We let the children loose. School in Buckinghamshire. She has led several subjects As anticipated, they soon got the hang of it, and createdsome interesting initial designs. We set them the challenge including D&T, Maths and Computing.of generating a 3D Windmill to match the full-sizedone nearby.56 helloworld.cc

OPINIONMICHAEL JONES COMPUTER SCIENCE TEACHERAND OR NOT: GETTING IT RIGHT Michael Jones brings hands-on Boolean logic gates to his GCSE classroom oolean logic can be interesting, enjoyable, and TTL LOGIC CIRCUITB learned in a practical way. This was the promise With this combination of parts, your students can build and I made to my GCSE students. test simple two-input Boolean systems. Just swap out the TTL to change the type of logic gate. Apart from the TTL chips, theNOT getting it right components you need are likely to be available from your DesignStaring at the first year of the new GCSE syllabus, I started and Technology departmentwondering how to teach it. In particular, I was concerned cupboard. Add another chip toabout some of the drier aspects, such as logic gates. test the Boolean logic on two chips/gates in series. To quote OCR, same, regardless of which logic gate they are creating. This ‘LEARNERS SHOULD HAVE STUDIED THE FOLLOWING: allowed us to conduct blind testing of the chips, based n TRUTH TABLES on the output produced through the pressing of the two n C OMBINING BOOLEAN OPERATORS USING input buttons. The process was very much hands-on and unplugged: not a line of Python or Java in sight, and yet AND, OR, AND NOT TO TWO LEVELS we were programming. Encourage the students to ask the n APPLYING LOGICAL OPERATORS IN APPROPRIATE TRUTH basic question “why does the light go on if I hold down both buttons, but not if only one button is pressed?” From there it TABLES TO SOLVE PROBLEMS’ is a short hop to creating the truth table. The key word here is ‘studied’. Traditionally, Boolean logic Advanced logicis delivered with: “This is a NOT gate. This is the truth tablefor the NOT gate. This is the symbolic representation of the Early in the process I recognised that we had anNOT gate.” Repeat for the other gates. If this works for you opportunity to go beyond the confines of GCSE, andand your students, fine. However, for many students it is launch into A level logic gate investigations, through thenot fine, and it turns a learning opportunity into a chore. development of half and full adders. Using physical circuits that were a natural development of the two-button, one- I realised that most students could understand the TTL chip circuit (requiring an additional input chip andtheory, but found it hard to relate this to a real computer, some basic components to service the LEDs), we createdfull of circuits and electrical signals. To be honest, I didn’t systems that could add two bits and output the result.feel that my students were getting the full value out ofthis topic. With the demise in Design and Technology As a result of their explorations, the students nowdepartments across the country, we may have lost that link understand Boolean logic. More importantly, they alsobetween the circuit and the theory. understand the integral part that it plays in computer systems as diverse as calculators and aircraft control computers.AND getting it right Michael Jones is a computer science teacher atWhat did we do about it? This year, our investigation of Northfleet Technology College in Kent. He is a CAS Masterlogic gates has been just that – an investigation. Going Teacher, Raspberry Pi Certified Educator, Winston Churchillback to the very basics of computer circuits, armed withbreadboards, resistors and TTL (Transistor-Transistor Logic) Fellow, Chartered Information Technology Professional,chips, we have undertaken a journey into building systems PGCE Subject Leader, MIT App Inventor Educator, andthat model Boolean logic. This approach has incorporatedan exploration of basic electronics, and taught me not to Specialist Leader of Education.assume that my students understand how circuits work. Inplanning the sessions, I made the mistake of assuming anunderstanding of resistors, anodes, cathodes, and LEDs. Working with the basic components enabled my studentsto embed the knowledge that a circuit is essentially the helloworld.cc 57

FEATURE CRUMBLE CONTROLLER Interested in adding physical computing to your primary curriculum? The Crumble controller is the answer! Flash lights, use switches, add motors and sensors. You can even build a self-driving robot… STORY BY Nicholas Hughes W hat is physical computing and why should we be teaching it inprimary schools? In simple terms, physicalcomputing is controlling a physical device,such as an LED or a robot, using code.Wow factor n A Crumble controller Image credit: Redfern ElectronicsIn Key Stage 2 (7 to 11-year-olds), I have pieces of equipment on the market that CodeBug or Arduino, but it is my firstbeen teaching programming on screen can do that, such as a BBC micro:bit or choice for primary for three key reasons:using Logo, Scratch and Kodu for a while, a Raspberry Pi, but my first choice forand I was looking for something to reignite primary schools is the Crumble controller. n It is very simple to program, using a block-computing with our 9 to 11-year-olds. based language similar to Scratch.Physical computing provides the next What is the Crumble?step for children, once they’re reasonably n It is relatively inexpensive – about £10familiar with programming – it reintroduces The Crumble is a microcontroller which per controller.the ‘wow’ factor. I have seen many can be programmed to control connectedchildren, and teachers, give that ‘Yes!’ fist devices. It is comparable to the micro:bit, n It is very easy to connect to a motor tobump when they get their first LED to get things to move. The ability to connectflash, or robot to move. That enthusiasm motors directly to the board is what, foris very infectious. me, elevates this microcontroller above the others. So what do you need to teach physicalcomputing? You need simple electroniccomponents such as LEDs, motors, buzzers,and switches, and something you canprogram to control them. There are many n Building a CrumbleBot The Crumble (see picture, above) has four inputs/outputs, connections for two motors, and connections for power. You can see that the holes are designed to allow you to easily attach components using crocodile clips. The programming interface is very similar to that of Scratch and other block-based languages. When I first showed this to the children, they made the link to Scratch, and got straight to work because the interface was familiar. There were of course some new programming blocks that I had to58 helloworld.cc

explain. Something I really like about thesoftware is that all the most common blocksare collected in one place, so this reducesthe number of options you have to searchthrough. The software will run on Windows,macOS and Linux, including Raspberry Pi.In the classroom n A simple Crumble-powered robot FURTHER INFORMATIONSo what does all this look like in the move forwards? It is important to startclassroom? I have tried a number of routes small and build up to more complex ideas. n R edfern Electronics:since I first discovered the Crumble two There are some great opportunities here to helloworld.cc/2vPhqVhyears ago. discuss circuits and electricity. n C rumble resources: Currently, I start by looking at controlling One of the complexities with the helloworld.cc/2eTAJIVa single LED and getting it to blink. Then Crumble is that you have two elementswe progress to making a simple traffic light to debug when something doesn’t n A n introduction to usingsimulation, and finally we add a switch. This Crumble controllers:progression has made sure that the children helloworld.cc/2h8a5gkare comfortable at each step. The only thingI explicitly teach is how to connect an LED – I have also added an ultrasonic sensor,the rest the children have to do themselves. so that the robot can react to itsThis activity provides great opportunities for surroundings. An ultrasonic sensor works ingroup work, as pupils discuss and plan the the same way as bat echolocation. The robottraffic light sequence before programming it will detect when something is in front of iton the computer. and then react as you have programmed it. The Crumble has many sensors that can beRobots attached to it – there is even one that will allow the robot to follow a line.Next, I move on to making a simple robotusing two connected motors. It is easy to After you have made flashing lights andconnect motors to a Crumble. The children a Crumble bot, you could make a moving fairground ride, a waving hand, a spinning“ THE PROGRAMMING INTERFACE IS VERY randomiser, or a reaction game. There SIMILAR TO THAT OF SCRATCH AND are very strong links with design and OTHER BLOCK-BASED LANGUAGES technology and with science.could design a robot chassis, or you could work as expected. If the robot spins For more information visit the Redfernmake one out of a simple box or takeaway on the spot or only one motor moves, is Electronicswebsite(helloworld.cc/2vPhqVh),container, with the two motors attached to the error with the program or with the where you can find out about currentthe sides using cable ties. wiring? I like to encourage children to pricing, stockists, and the latest add-ons. tinker and experiment, but sometimes I When you have connected up the have had to focus on the programmingCrumble, can the children make the robot element and help with the debugging of the wiring.n Block-based programming for the Crumble The next steps Once the robot is moving forward, you can set bigger challenges. Can the children make it move around a maze? This can be as basic as using masking tape to mark out a course on the carpet. This is far more difficult than it seems, but a great task to try. Add a pen to the chassis, and see whether the children can make it draw a circle – or a square, a rhombus, etc. helloworld.cc 59

OPINION PAUL POWELL CURRICULUM LEADER FOR COMPUTING GOTO JAIL, DIRECTLY TO JAIL, DO NOT PASS GO! Good code is not just about which statements you use ast time round, I suggested that using lower level GOTO is good? L ‘simpler’ constructs to create programs might A CS teacher, in a KS3 class in a secondary school, lower the bar for accessing an understanding typically spends a huge amount of time helpingof programming. In particular, I stuck my head above the students with programs of under 50 lines. Class sizesparapet, and suggested using the GOTO statement. are 24 - 30+ students, with abilities ranging from learning Interestingly enough, most school-level educators could C++ by themselves from a book in their spare time,understand what I was getting at and were interested in down to some unable to work out 5+7 without usingthe idea. University-level educators and professionals in their fingers.industry were, on the whole, horrified. Having done a CSdegree, worked in industry, and now teaching at secondary One way of helping students to explore code is tolevel, I thought it might be useful to explore the issues here. simplify the tools they are given. Using GOTO, instead of structured programming, means that each line of codeGOTO is bad? does just one thing. It also simplifies the rules of control flow. I had the following alternatives presented to me:First and foremost, the GOTO statement should not beused in serious programs (apart from a few very specific forever:exceptions where it is the least-worst choice.) The main print “Hello”reason is that it creates so-called spaghetti code. Because print “World”you can jump from any line to any other line, it meansyou can jump into the middle of a loop or subroutine. start:Understanding the structure of a program, of even just 200 print “Hello”lines, can become a nightmare – like trying to understand print “World”how each strand of spaghetti makes up the heap. goto start You can, of course, use comments and meaningful The first one is more elegant and expresses the intent.names to make the program a little bit easier to read. This Once you understand that the indenting means thatis good practice with every program. The problem with the statements belong to the forever, and that they arethis is, as the code evolves over the years, people forget executed in sequence, then it can be followed.to update a comment, or edit one part of the code withoutunderstanding all the rest of it. Here, the spaghetti really The second one is easier to follow in terms of theworks against us and over the years the problem gets correct execution sequence. I have been trying thisworse and worse.60 helloworld.cc

n Should certain programming practices be banned?out with a class of KS3 students for the past half GOTO IN PRACTICEterm, and I am seeing a greater proportion of thelower ability students able to access and genuinely Most modern languages do not offer a full unrestricted GOTO.understand programs this way. When students were Some languages, such as Python, don’t have a GOTO at all.writing code, I used to get asked “I want the program Others, such as C, allow GOTO, but only within a function.to go back up to here. How do I do that?” Now they Professional coders review each other’s code and, using acan play with code more easily, which helps with GOTO, would certainly raise eyebrows.engagement. Next term we’ll look at improving code withstructured programming. GOTO is never absolutely necessary. In a few situations (such as breaking out of multiple nested loops), it can offer the mostNo magic bullet elegant solution. In some cases, GOTO is also the most efficient solution. Have a read around and make up your own mind.While GOTOs (and other things like global variables), areoften indicative of bad code, their absence does not make Coding style is something that is developed over years,code automatically better. I have seen many students and often the best learning opportunities are when aemulate GOTO in Python using function calls: student gets themselves in a right old mess. Many of these problems only really exhibit themselves when we def menu(): start to write larger, more complex programs. I don’t print(“Option 2”) think GOTO is quite the bogeyman it has been made out print(“Option 1”) to be. I can see it working as an educational scaffold in choice = input(“choose an option”) my classroom. There are legitimate uses in industry – if choice == “1”: but just like me, be prepared to justify yourself to your option1() fellow programmers! elif choice == “2”: option2() Paul Powell is Curriculum Leader for Computing at else: George Mitchell School in East London. He also co-leads menu() the Waltham Forest Hub. helloworld.cc 61

FEATURE PRIMM: SOMETHING FOR YOURPROGRAMMING PEDAGOGY TOOLKIT? Do your students find programming difficult? Perhaps try PRIMM! STORY BY Sue Sentance D o your students find programming you probably use a variety of techniques What is PRIMM? difficult? Are they staring blankly to help them, presumably some of theat a blank IDLE window not knowing strategies that helped you yourself to PRIMM stands for Predict, Run,where to start? Well, they are not alone. learn to program. Investigate, Modify and Make. The PredictResearch in higher education has shown phase involves students looking at a shortthat many students find it difficult to The PRIMM method is one approach program and trying to decide what it willwrite a program from scratch – according that might help you to teach programming do. This can be a starter, can be done into ‘Designing for deeper learning in a and add to your toolkit of useful strategies.blended computer science course for It gives some structure and a memorable EXAMPLE STARTERmiddle school students’ by Grover, Pea way to think about teaching programming CODE TO PREDICTand Cooper, from Computer Science that you may find useful. It is independentEducation, Vol 25, No 2. As teachers, of language, and can be used for primary and secondary-aged children.n PRIMM is one approach to teaching programming: Predict, Run, Investigate, Modify, and Make. Try it and see if it helps! What does this program do? In your pairs, draw on your whiteboard what you think the P redict output might be when the code runs. R un I nvestigate from turtle import * M odify M ake def triangle(): forward(150) right(120) forward(150) right(120) forward(150) right(120) triangle() penup() backward(200) pendown() triangle()62 helloworld.cc

pairs, or you could even spend a wholelesson on this phase. EXAMPLE QUESTIONS FOR The Run phase involves downloading INVESTIGATE AND MODIFYthe code, and then running it to check yourprediction. It does not involve any copyingin of code (not my favourite strategy for Code to predict and runchildren learning programming) and, asthe program is written by the teacher, the def shopping():student can focus on what it does and my_list = []not whether they typed it in correctly. The next_item = input(“What do you want to buy? “)third stage is Investigate, which should my_list.append(next_item)be varied – there are many, many lovely for each in my_list:exercises that you can do to get into the print(each)nitty-gritty of the code – annotate it, useParsons puzzles to get it in the right order, shopping()put errors into it and do some debugging,trace through it (use the PLAN C TRACS Example Investigation questionsactivities for this), label the variables, etc. 01. What does [] mean?The fourth stage is to modify the code by 02. W  hat would happen if the line my_list = [] was deleted?changing first something simple, and then 03. What is the variable next_item used for?make more and more modifications, which 04. Why is next_item not a good name?can add lots of differentiation to your class 05. What does the for loop do?and finally, make a brand new program, Example Modify activitieswhen you can borrow bits of code fromthe original program, but it will have a new 01. C  hange the program so that the user can add 5 items of shoppingfunction, context, or problem to be solved. 02. C hange it so that the user can add as many items as they like and type “999” to stop. This isThese five phases may not be in everylesson, depending on the topic. And you called a “rogue” value.may cycle through the first three or four 03. U  sing either version from 1 or 2, check before adding to the list that the item is not already in the list.phases several times.PRIMM is based on research into programs, and also differentiates between course, but it has to be said that our firstprogramming. In particular it adapts an the structure and the function of code, trials in a small number of schools doapproach called Use-Modify-Create (UMC) following some work by Carsten Schulte already seem to show quite clearly thatwhich was proposed in 2011 by Irene and colleagues on the Block Model. teachers, for a start, have found it reallyLee and colleagues. It fleshes out UMC, Does it work? useful, and even more importantly, thatand also emphasises the importance of students show an increased understandingreading and understanding code, which We cannot yet demonstrate evidence of the key concepts of programming thankshas been shown by many researchers to that PRIMM works, there’s still some to PRIMM.be a key indicator of whether you can write experimentation to be carried out, of One teacher said, “It was amazing! In one lesson, they pretty much all got then By running the teacher’s code first the ownership of the original program is with the teacher –– and gradually passes to the learner. This helps confidence concept of a function”. In addition, Phil Bagge, a well-known primary computing expert, has recently developed some new resources that were inspired by this approach. We ourselves use this approach in running our KS3 Computing and GCSE Computer ScienceNot mine Partly mine All mine evening classes. Our research is continuing and we are looking for teachers who may be interested in getting involved in a second pilot study. Check out the Kings College London Computer Science Education Research blog for more details.Predict - Run – Investigate Modify Make Happy PRIMM-ing! helloworld.cc 63

FEATURE PINARY WARS:FROM PAPER TO THE RASPBERRY PICreating resources that promote learning is an exciting process. We did this, and increased the excitement at Picademy by making it for the Raspberry Pi too! STORY BY Ramzi Ramzi T he task given to me during my Each judge had an answer sheet showing Picademy event was also fast approaching. PGCE year was to create a resource all binary values a player would create. Enter Alex Parry, and the joys of thethat would help KS4 students, and below, This not only enabled me to commentate Raspberry Pi.with their binary addition. The class I was on the furious binary calculations occurring,teaching at the time enjoyed some friendly but also students finding the task more The trainingcompetition between each other. With difficult had a chance to participate in thethese two facts in mind, a game called game. To ensure the judges were always I was lucky enough to attend a PicademyBinary Wars was born. on their toes, the ‘Binary Crash!’ card was CPD event at The Raspberry Pi Foundation The game involves four card cut-outs: introduced. When a player draws this, the in Cambridge. As educators, we encourageone side showing a ‘0’, the other a ‘1’, each judge can decide what number the player our students to pair programs, and highlightrepresenting a bit. A student would use must produce. This gives some ownership the many benefits in doing so. In order tothese four cards to create denary values and interaction to the judge, as well as the see these benefits first-hand, I teamed upranging from 1 to 15, which they would unintended side effect of seeing how much with an incredibly talented programmerdraw randomly from a pile next to them. they like their player depending on the and fellow PGCE student, Alex Parry. AfterA mystery ‘Binary Crash!’ card was also in difficulty of the number chosen. the first run of the card-based Binary Warsthe pile, but we’ll save that for a bit later! with our PGCE peers, we began talking andTwo students would face off against each Binary Wars had a great reception thinking of ideas to bring this to a digitalother, with the first one finishing their with fellow PGCE teachers and tutors medium. Shortly after realising we also hadpile declared the winners. alike. Whilst their binary conversion skills a whole day at the Picademy to create our To stop myself from becoming dizzy, increased, so did the volume in the room own project, we decided the Raspberry Pimaking sure each student created the as the players came closer and closer would be an ideal device to try it on. Thecorrect binary representation of the denary, to finishing. As passionate screams of question being, how?I assigned a student judge for each player. joy filled in the room, I wondered how to improve upon the task. A Raspberry Pi During the first day of Picademy, we got to experience many different ways theMORE THANFOUR BUTTONS Here is the Raspberry Pi, with an Explorer Hat on top, with our program running on it. We only utilised one small part of what the Explorer Hat is actually capable of. Some of these included crocodile clip pads, a mini breadboard, coloured LEDs, and its own Python library to explore!64 helloworld.cc

n A lex and Ramzi showing ‘Pinary Wars’ in action. The projector shows the output to the user, and a cat!device can be used. From various sensors correct answer, with Alex working on the encourages its learners not only to becomesurveying the world around us, to using structure of the program and generation of efficient users of technology, but to findPython to manipulate Minecraft on a deeper questions. Working in a pair – quite fittingly the joy in creating and unleashing thoselevel, the Pi has it all. Many ‘hats’ can be put – definitely improved the overall quality of creations to those around them. If anything,on top of the Raspberry Pi to enable new what was made, and of course sped up the this process has showed me the learningfunctionality. During the first day of training, time it took to create anything. potential in this joy, amplified by creating itthe Explorer Hat caught our eye. One of its with a friend and peer.sides has four touch-sensitive buttons, each Now to unleash the results of our toil to everyone at the Picademy! There may be many other enhancements on this idea that you may have come up“ IF ANYTHING, THIS PROCESS HAS SHOWED with just reading this. What we plan to ME THE LEARNING POTENTIAL IN THIS JOY, do next is use the Raspberry Pi camera AMPLIFIED BY CREATING IT WITH A FRIEND and an API to recognise faces. Using this facial recognition as input, students couldwith an LED. Binary Wars fundamentally The finished product stand up for a ‘1’ bit, and sit down for aworked around four bits. I sense a match! ‘0’ bit in order to create denary numbers. We ended up with two Raspberry Pis Learning and exercise, all from binary! The After an incredible first day of learning running ‘Pinary Wars’, using the Explorer possibilities are endless.what the Raspberry Pi was capable of, we Hat for input. Users would be presentedbegan work on the newly and creatively with randomly generated denary values The presentations were streamednamed ‘Pinary Wars’. The core of it was up to 15, using the four inputs as four live, and can be found on the Raspberrycoded in Python. Our pair programming bits on the Explorer Hat to input its binary Pi official YouTube channel (‘Picademyexperience turned out to be a mixture of representation. We then put numerous Cambridge – February 2017’, with Pinarythe more traditional ‘driver’ and ‘passenger’ players on each device, each responsible for Wars featuring around the 59m 50s mark).method, and going into our respective one or more of the inputs. Follow our twitters, @RamziSensei andcorners to tackle particular problems. At @ParityParry for advancements on Pinarytimes, I may have been working on the logic The development process from our side Wars, and our other creative endeavours.behind the button pushes and getting the as educators was incredibly enjoyable. Computer Science is a field that often We would like to thank King’s College London, and the Raspberry Pi Academy, for giving us the opportunity and platform to bring this idea to life. helloworld.cc 65

FEATURE n T he discussion was warm and lively, lots of learningALAN O’DONOHOE AND HIS “FLIPPIN’ CLASSROOM”What is best practice with flipped learning, and how can I use it in my classroom effectively tosupport learning and not create mountains of extra work for myself? Thoughts from Leicester Secondary CAS HUB, 2 February 2017, & Nottingham Trent Computer Science PGCE event STORY BY David Chaplainn Alan attunes his quizzes to individual skills M ost teachers are probably aware of expected outside of lessons”? “How will the concept and rationale behind observers (Ofsted, SLT) see progress”? the flipped learning approach, as pioneered Alan answered these, and demonstrated by Alan November – the basic principles of and discussed with the audience how he a flipped classroom are to deliver content used this approach to very positive effect in outside of the class and to move active his own classroom, through demonstrating learning into the classroom. However, the use of his MOOC, (which is free to being aware of the pedagogy, and putting use for the first twelve units), with its it into practice in your own classroom, are index of relevant written and curated two very different things indeed. It can be video materials, (so as to avoid the usual fraught with issues; “how do I resource it”? distractions of skateboarding canaries “What becomes of my role as teacher”? often found on YouTube), randomised tests, “What to do if learners don’t do what is and tracking documents.66 helloworld.cc

SOME COMMENTSFROM TEACHERSAND PGCE STUDENTSIt was interesting to see how it could be n Nobody left the event without exciting new ideas near future to lead a session on developingapproached and the idea of the students pedagogy around “pair programming”.producing an image was brilliant! (Teacher) finding similar things for them to do back Finally, I’d like to thank Alan for his time inside the classroom”. Alan very carefully and ideas from the Leicester CAS hubBrilliant session! I have so many ideas now to described, with very practical examples, and from the trainees at Nottingham Trenttake away and start teaching the new GCSE how he dealt with those students who Computer Science PGCE course.computer science course. (Teacher) didn’t “buy into the model” and hadn’t done the out-of-lesson work – how these SOME STARTINGThe class I have are so bright but the girls were whittled down to a hard core of one POINTSare weak on code, so I think this approach learner in his case. He also described howwill help them. (PGCE student)  he used a simple drawing and labelling n Alan’s MOOC technique, (simply peer-marked out of 5), courses.exa.foundationI will be using it and trying out flipped to help his students remember and recordlearning without being scared because what they had done in “flipped mode”. n EAX foundation (courses)Alan presented it, in such a way, that it Finally, he discussed how he managed his exa.foundation seems productive to students and teachers.  classroom once the students were there.Not “just go away watch this video and This was through active group tasks and n Alan’s schedulewe will talk about it”. But there are pre helloworld.cc/2Fpnbhgand post-tests, there’s the recording ofinformation in fun ways, there’s coding, and SOME FURTHERit’s not just theory! (Teacher) READINGWow! The guy is amazing coming from a n Classroom strategies for CS educationnon-specialist Computer science teacher! His ML Maher et al. (2015)session was fun and he’s a really cool guy!  helloworld.cc/2CXdzM5(PGCE student) n Flipped Learning: a response toThanks for arranging this. The best CPD five common criticisms (2017)session I have had :) (Teacher) novemberlearning.com“ I HOPE TO INVITE ALAN TO COME BACK IN THE NEAR FUTURE TO LEAD A SESSION ON DEVELOPING PEDAGOGYFlipping the classroom – best flexible quizzes aimed at individual learners’(and easiest) practice progress, rather than the more common “today we are all going to learn… (whetherHowever, the real strength to Alan’s you already know this or not)”.discussion was his very charming andwitty stories of how he approached Both sessions ended after two hours,flipping in his classroom, using in-class with PGCE students and teachers allactivities that didn’t simply, “replace positively discussing teaching and learningthe teacher with an electronic resource in Computer Science which, if nothing else,and leaving the student to get on with is a good thing and doesn’t happen enough.it themselves outside of school, then I hope to invite Alan to come back in the helloworld.cc 67

OPINION SAMANTHA BALORO RASPBERRY PI FOUNDATION RESEARCH INTERN DISCOVERING COLLABORATIVE PROBLEM SOLVING Could the future of learning be working together? nstead of teaching in routine ways, imagine n Positive interdependence Learners work harmoniously together without one I basing lessons on open-ended questions member taking over such as ‘how much paint is needed to paint aclassroom?’, with the aim of developing collaborative n Promotive interactionskills and problem-solving. Collaborative problem-solving Learners support each other when completing tasks(CPS) is loosely defined as the ability of a group of peopleto work together on a shared problem. A recent report n Individual accountabilitycommissioned by Nesta, and written by academics at UCL, Making sure that each learner is committed to theirargues for a greater use of CPS in education. section of work, and feels responsible for the group’s Collaborative problem-solving brings together individual task successproblem-solving and the process of collaboration, and isone of the most important skills needed for this generation. n Interpersonal and group skillsHowever, it can be very easy for collaboration to become aone-sided affair, with one person taking over. The ‘success’ n Group processingof the collaborative activity depends on the skills and Learners reflect on their working relationship, andattitudes of learners in relation to each other, as well as the consider how it can be improved jointly and individually.type of activity. Slavin (2015) states that the essential features Studies have found that engaging in collaborative group-of collaborative learning are: based learning promotes positive attitudes to schooling, as well as improving the social climate of classrooms. It also results in learners being more actively engaged in their learning and having higher levels of motivation. The reason for this change in students’ attitudes to learning may be because engaging in CPS involves mechanisms such as students being able to: 1 Articulate, clarify and explaining their thinking 2 L isten to ideas from others, which in turn leads to developing understandings in areas which were previously unclear to them 3 R esolve conflicts by presenting counter explanations, evidence and arguments to others as well as actively engaging in the construction of ideas and thinking in order co-construct knowledge.68 helloworld.cc

Current research in UK schools has found that, although Behaviour management is another aspect whichlearners are often seated in pairs/groups during school needs to be considered. CPS can lead to increased noiseactivities, it is rare that active collaboration occurs in ways and disagreements amongst learners. It is important tothat are cognitively beneficial. When examining the amount gradually and frequently introduce CPS activities in theof collaboration occurring in different subjects, it was also classroom so that learners and teachers can graduallyfound that maths and humanities students were less likely develop the skills needed for productive CPS such as selfto participate in collaborative work thanscience students. Teachers can gradually develop the skills The reason for the scarcity of needed for productive CPS such as selfmeaningful collaboration problem-solvingoccurring might be due to a number of control, productive argument etcbarriers. Here’s a shortlist of potentialissues considered in the research: control, productive argument etc. Most importantly, it isn The gap between CPS and the current National not possible to implement collaborative problem solvingCurriculum, which focuses on exams without the active support of a school’s senior leadership team. This involves ensuring that they understand then High workloads teachers are faced with importance of CPS and allow teachers time to attend training and embed it into practise. In short, it’s not an issuen Teachers being hesitant to practise CPS because they which can easily be dissolved.will have less control over learners But it’s worth bearing in mind that research shows that when done right, CPS can singnificantly benefit children’sn Teachers not having enough training and confidence cognitive attitude to learning, as well as be a considerableto teach CPS aid when it comes to their development of crucial skills such as teamwork and problem solving. However,n Students not enjoying working in groups implementing it involves a tricky balancing act, and more research is needed on collaborative problem solving and it’sThe success of CPS also depends on how teachers application in the classroom.organise, engage and set up tasks as well as support The full report is available on helloworld.cc/2CKmaSa.groups. This is very often difficult to get right as nobody Nesta have also completed an exploratory pilot looking atcan just assume that by putting people in groups, collaborative problem solving discussion in the classroom,collaboration is going to naturally occur. It is important to available at helloworld.cc/2m3bGns.avoid being too directive as it can negatively affect groupcollaboration. When facilitating CPS, teachers should Samantha Baloro is a psychology graduate andmonitor group interactions while asking open ended researcher. She completed the Raspberry Pi Foundationquestions to challenge students and encourage them toreflect on their views. Research Internship in 2017. helloworld.cc 69

FEATURESHARED CODING, TINKERINGAND OTHER TECHNIQUES FOR TEACHING PROGRAMMING What strategies and techniques do you use to teach programming? Have you ever audited yourlesson planning to see how much scaffolding you provide children with as they learn to program? STORY BY Jane Waite I n primary, whatever lessons we effective for teaching different groups of follow to create a program. The program are teaching we use approaches children for learning different concepts was thought of, designed, and coded byto ‘deliver’ material. For example, we and skills? someone else, pupils are now re-creatingmight demonstrate how to solve a it. Learners are required to follow a setproblem in maths. In literacy, we might Techniques to consider of instructions, line by line. This might begive children targeted activities, such as through an online teaching product oranswering comprehension questions, Here are some ideas of techniques and might be a printed set of instructions.fixing sentences with mistakes, comparing approaches that we might be able to useand evaluating text. In D&T lessons, we when teaching programming: n Targeted tasks. There are many targetedmight set up lessons where children tasks that teach specific concepts orexplore how examples or parts of a n Copy code. This technique is where address particular misconceptions. Oftenproduct work before designing a new pupils are given a set of instructions toitem. In PE, we might ask children to adapta gym routine. less more Have you considered what techniques Self directed discoveryyou use when teaching programming? Open ended explorationOr considered the balance of approaches Guided discoveryused, and which of these options is most Inquiry-based Direct InstructionPUPIL MOTIVATION Step-by-step tutorials Emerging research evidence indicates less Scaffolding more teaching strategies may have an impact on Motivation: pupil motivation. Girls Boys This diagram from ‘Scalable Game Design: A Strategy to Bring Systemic Computer Science Education to Schools through Game Design Creation’ (Repenning et al. 2015) implies that girls are less motivated by a copy code approach than boys and that both boys and girls are less motivated by a purely tinkering approach. But further research is needed to verify this work.70 helloworld.cc

Copy Targeted Shared Guided Projects Tinkeringcode tasks programming exploration (idea/design/code/ debug/share) • Use • Innovate • Remix • Newn W hat approaches and techniques do you use to teach programming?such tasks are aimed at getting children to n Projects (use/imitate/remix/new/ distinct. When running a project, you mightread and understand code. If learners are share). Here pupils are required to create include a little copy code to get childrenonline, there is a the temptation to run code a project of some kind. There are lots of to accomplish one particular tricky thing,before you have read it, so these activities different ways to run projects, as well that you plan to later teach, through guidedmay use printed code snippets. An example as different ways to scaffold learning in exploration or targeted tasks. Or you mightactivity might be to give learners a program projects. In literacy, some teachers follow develop children’s curiosity and emergingand ask them to summarise what the code a progression that scaffolds learning to understanding of a new programmingwill do, or to trace the code line by line. write texts. At first, pupils read lots of language with some tinkering, beforeSimply put, tracing is where you say exactly examples of the genre of text they are demonstrating certain features and movingwhat each command will make happen going to create. Then they create an on to a ‘remix’ project.when it runs. In both of these scenarios,learners are predicting what the code will “ YOU MIGHT INCLUDE A LITTLE COPYdo. Other targeted tasks might be to spot CODE TO GET CHILDREN TO ACCOMPLISHthe difference between code snippets, ONE PARTICULAR TRICKY THINGremix code to achieve a particular outcome,and fixing buggy code. imitation of an example text. Next, they Further ideas create a variation of the text. Finally, theyn Shared programming. This method is get to inventing a brand new version. In Whether you use a ‘shop-bought’very similar to shared writing, where the programming projects we could do the scheme of work or have created yourteacher knows what they want to teach same, start with children using example own, you might find it interesting toand is showing pupils, not only what the projects. Next, creating a project that audit your planning to see which offinished product looks like, but is also imitates a high quality exemplar. Then, these approaches are included. If yourexplaining the making process and their have projects where we are remixing class is not developing independence inthought process. It could be that teachers ideas, algorithms and code examples; with programming projects, perhaps reflector pupils deliver the demonstration. It could an end goal of learners independently on the techniques you are using and trybe that the teacher takes ideas from pupils creating a brand new program. This a different approach. Or one of theseas they are demonstrating to create a development of independence might span approaches might be useful for an‘class’ version of the program. This form of years of different projects across different intervention or for differentiation.apprenticeship might also be used in small programming genres.groups or on a 1:1 basis. Here, we have not commented n Tinkering. This techniques requires on the impact nor effectiveness ofn Guided exploration. Here learners are pupils to play. They are given access to a the approaches outlined. There isprovided with just two or three commands programming environment, and perhaps limited research to tell us whichthat they must explore. The teacher has some hardware too, and asked to explore techniques are best for primary pupils.an idea in mind of what they want children and play. Each of us probably has views andto learn. But rather than telling them what personal experience on each method.the commands do, they ask children to This list of approaches is by no means Why not write an article for Hellofind out. Teachers might include some exhaustive and the techniques are not World on your experience of usingquestions to nudge children along to get to different approaches?the objective of the task. helloworld.cc 71

OPINION MARK THORNBER TEACHER MATHEMATICAL MUSINGS Finding a handy short cut to calculate big powers ast time, I looked briefly at the workings of the Before looking ahead, you might like to try to program this method to calculate big powers. It’s a good test of your L RSA algorithm for internet encryption. At the understanding of binary numbers and powers in general. end were a number of questions, including ‘Howcan we calculate large powers very quickly?’ An example def bigpower(base,power,modulus):might be 244321 (mod 1000). I’ve chosen modulo 1000 ans = 1here to make it easy to follow for humans because we while power:like to work in base 10, and now we only need to keep if power%2:track of the last three digits as we work. Computers are ans = (ans*base)% modulushappy to work in other number bases quickly too. power = power//2 Imagine you had to work out 244321 using only pencil base = (base*base)%modulusand paper. It’s a daunting task! It looks like you have to do return ans321 long multiplications – there must be a short cut! In fact there is a shorter method, based on properties of def bigpower(base,power,modulus):powers. Suppose we want 2448 (mod 1000). We can get ans = 1this with three multiplications instead of eight: while power: if power%2: n Work out 2442 = 244 × 244 = 59 536, so ans = (ans*base)% modulus power = power//2 2444 = 536 (mod 1000) base = (base*base)%modulus n N ow, 2444 = 2442 × 2442 = 536 × 536 = 287 296, so return ans 2444 =296 (mod 1000) The Python function above will implement this method and n Finally, 2448 = 2444 × 2444 =296 × 296=87 616, so could be used instead of the built-in pow function. It builds the answer up while decomposing the power at the same 2448 =616 (mod 1000) time for added efficiency, so we don’t need to store all of the intermediate powers. The while loop stops when power=0. This method will give all powers that are themselves The if statement only runs if power%2=0, this correspondspowers of 2, i.e. 1, 2, 4, 8, 16, … Fortunately, these form the to picking out the ones in the binary version of power.basis of binary numbers, so we can make all other powersfrom these ones. In our example, 321 = 256 + 64 + 1. We Mark Thornber has been a maths teacher at Durhamneed eight multiplications as above to get 244256, then Johnston for the last 25 years. Mark’s first computerwe reuse some of our previous answers and two moremultiplications to get 244321 = 244256 × 24464 × 2441. This was the classic ZX81.gives the answer with ten multiplications instead of 321.Even better – the bigger the power, the more significant thesaving in effort and computing time.72 helloworld.cc

FEATURE PHONICS KRISS-KROSS: PRACTISE SPELLING AND LOGICAL THINKINGGive KS1 pupils a solid foundation for writing programs as well as writing English – get them solving simple logic puzzles while practising phonics STORY BY Paul Curzon Y ou do not best learn to write just by that can make this fun, but one of the best n An example Phonics Kriss-Kross. By Paul and Daniel Curzon, writing stories, and you do not best kind to start with are Kriss-Kross. Theylearn to program just by writing programs. also help develop an understanding of images from pixabayThere are many activities that help develop sequencing – doing things in the right orderthe building blocks for becoming a good – vital to algorithmic thinking. solved it. He liked doing it so much thatprogrammer. Perhaps the most important (unlike the word lists) he demanded we doto practise is logical thinking: an ability to Kriss-Kross puzzles more, and then more. In the evenings, wereason about what is true or false, think chose words and pictures together. I putclearly, and have good attention to detail. Kross-Kross are simple word puzzles. You them in a grid overnight and left it by hisThis is a widely useful skill that supports must fit given words into a grid. Solving them bed. He found it in the morning and did itmaths too. There are many logic puzzles requires no special knowledge, just logic. for fun before breakfast. As a result of his As several words initially fit each slot, you enthusiasm, there are lots of puzzles atSOLVING must use clues from the words and the way helloworld.cc/2qNSNK0 on easy-to-printKRISS-KROSS they overlap. You cannot write the words sheets and as a booklet to give out. in the grid in any order, but must follow the To solve the given puzzle, first notice only one sequence dictated by the logic. The more pupils practise skills like spelling word has length 5: catch. There is only one place and logical thinking, the better they get it can go. Put it there. Now look to the clues it If there is only one word of a given length at them. The more fun it is, the more they gives us. We need a 3-letter word starting with left, there is only one place it can go. Once you practise. So why not make practising writing C. There are four 3-letter words, but only one know some letters, then you can use those more fun than copying word lists by adding a starting with C: cat. That gives us a new clue ... clues to find a word that fits those places. If dose of logical thinking? and so on. Enjoy! only one word fits, then you can put it in place (and cross it off the list), but if two or more do, Paul has been a member of CAS since its then you must look elsewhere first, until one foundation and is currently a CAS Board Member. of the possibilities has been ruled out. He is a Professor of Computer Science at Queen Mary University of London and co-founded both Guided help may be needed to start, to ensure the pupils do follow the clues, cs4fn and Teaching London Computing. checking that only one word fits a slot. Once they have the idea they can quickly move to doing them on their own, or better still in pairs, each with the same puzzle, saying the words, and explaining their reasoning to each other as they solve it. Practise phonics too Phonics Kriss-Kross are puzzles made of collections of similarly sounding words. I created the first as a fun way to help my five‑year-old practise phonics beyond his writing-word-lists homework. He told me the words to use, and picked pictures of them. I put them in a puzzle, and he helloworld.cc 73

FEATURE CREATIVE INSPIRATION WITH IOT How the Apps for Good IoT course inspired our students to get thinking creatively to solve important problems STORY BY Paul Gallanagh O ur school canteen was strangely baby when the room got too hot, to sun n Dunoon students with their winning prototype IoT quiet during the period we worked hats with UV sensors that would notify a idea which aids elderly people in the homeon Apps for Good with our S1 pupils – with user, via a web app, to keep in the shademany of our young people choosing to or to slap on more sun lotion. The range of a range of experts, fuelling further workspend their lunch times working together ideas produced by our young people was on their ideas.on their app ideas, supplementing the class innovative and inspiring, and testimonytime spent on this pioneering project. Not to the quality of the Apps for Good Our time working on Apps for Good thismany school-based learning experiences learning resources. academic year ended in spectacular fashion,can stake the claim of pupils sacrificing with double delight at the Apps for Goodsocial times, but it was evident Apps for The wealth of resources and support UK awards in June. We were extremelyGood sparked something positive in our from the amazing Apps for Good team at grateful to receive the UK School of the Yearjunior pupils from the get go. each stage of the programme was fantastic. award, and one of our teams scooped the Although we have been teaching coding Our teaching staff were no longer the sage inaugural IoT award for their SafeStep ideato the youngest of our pupils for over a on the stage, but more the guide by the – a range of smart internet-enabled rugsdecade, we had struggled to find a real and side, as our young people embarked on that can sense if someone has fallen, andrelevant context to capture imaginations a range of pupil-led initiatives. The great can then automatically contact a loved oneand to ignite passions. flexibility within the programme ensures it for assistance. This recognition is a great We were intrigued to hear of the new is accessible for all – for example, a range of honour for our school.Apps for Good Internet of Things pilot coding platforms were used by our younglearning programme, and were delighted people, to suit a range of abilities – including We are now looking forward to buildingthat Apps for Good added us to be the list the BBC Micro:Bit block editor, Microsoft on the successes of this year and areof schools taking part in this pilot. Our S3 Touch Develop, and Visual Basic. excited with the new developments Apps(middle school) pupils have worked on the for Good are planning – including innovativeApps for Good programme for the last few The opportunity for our young people to assessment approaches. Apps for Goodyears, so we knew that our young people discuss their concepts with industry experts certainly do not stand still, and seekwere in for a treat. – easily organised via the Apps for Good continuous improvement and evolution of The Apps for Good recipe for effective portal – is a key strength of the process. their learning opportunities. We are thankfullearning was clear in the new IoT learning Our young people were enthused with the to have been part of their journey the lastresources: team working, communications, encouragement and advice received from few years and we have warned our kitchenproblem solving, as well as coding were staff to expect further lean times shortly,all key ingredients – but for us the creative when our new batch of S1 pupils have theirforum offered throughout the learning first taste of Apps for Good.experience was unrivalled. Our pupils were commissioned with thetask of conceiving, researching, developing,and producing a smart internet-enableddevice that would have a positive impact onsociety. They certainly rose to the occasionand this, coupled with the extent they werewilling to adopt and incorporate a socialdimension to their work, was fantastic. Frombaby mobiles with in-built thermometersthat would switch on a fan to cool down74 helloworld.cc

OPINIONCHRISTINE SWAN CAS MASTER TEACHERGET INTO COMPUTER SCIENCE TEACHING I didn’t get the chance to study computer science at school and certainly never thought my hobby would become my main occupation. was a teacher for 28 years, 18 of those teaching access programs stored on file servers, and heard about this thing called the internet via the National Educational I computer science, and have been a CAS Master Resources Information Service. Fast forward three decades, Teacher since 2012. I am now a visiting lecturer, the Raspberry Pi has brought back creativity, innovation, andauthor, presenter, trainer, external moderator, and proud the desire to experiment with technology. Digital makersmember of the Raspberry Pi Foundation. inspire to push the Pi to its limits just as we were doing from Do you love finding out how things work? Will not quit 1980 with the ‘Beeb’. A key difference is access to shareduntil you have solved a problem? Ever thought of teaching ideas, support, and communities.computer science? I suspect readers might answer yes tothe first two questions, but might be stunned into silence Are current computer science teaching skills any differentby the third one. to those pioneering days? I think not. Although I was I was always fascinated by technology and mechanical fairly certain that I wanted to be a teacher, I’ve switcheddevices for as far back as I can remember. I used to help the subjects that I teach from the one that I graduated in.my dad fix the car by passing tools, while standing on Technology evolves quite quickly, so it is very important thatthe bumper. Dad also had a passion for electronics, fixing practitioners keep their knowledge and skills up-to-date.radios and televisions as a hobby, to the annoyance ofmy mum, and delight of friends and neighbours in need. Teaching in practiceI quickly learned all resistor colour codes and how to testcomponents using a multimeter while I was still at primary There are a variety of different routes into teaching. As wellschool. Later, at university, I learned how to program in as the conventional degree and PGCE combo, graduatesBASIC with a smattering of FORTRAN while studying for can follow a School Centred Initial Teacher Traininga degree in biology at the University of London. I knew (SCITT) programme or, if you are already working in aI wanted to be a teacher, but if there were routes into school, can achieve QTS via the assessment only route.computer science education in the early 1980s, I was not However, if you are an enthusiastic geography teacheraware of them and, anyway, I wasn’t a computer science who’d like to teach computer science, there is lots ofgraduate, so that was that. support on the Computing At School (CAS) website, and you can become a Raspberry Pi Certified Educator viaBring on the Beebs the Picademy programme. Colleges and universities run Subject Knowledge Enhancement (SKE) and CPD coursesI qualified as a science teacher and started teaching in which allow non-computing graduates (like me), to cover alla secondary school. Year 7 were lucky enough to do key topics on GCSE and A level specifications. How do yousomething different on Friday afternoons, when myself know if you want to teach computer science? Get involvedand another chemistry teacher taught BASIC on BBC with extra-curricular clubs such as CoderDojo or CodeMicrocomputers. We did also have a RM380Z computer Club as a volunteer. The most important requirement isbut as an NQT, I was told: “Don’t touch!” enthusiasm and a willingness to never stop learning. I explored what the BBC was capable of and pushed it to Christine Swan is a CAS Master Teacher, visitingits limits. I wrote reports using them, managed our budget, lecturer in Computer Science education at Birminghamwrote letters, ran simulators of nuclear power plants, but alsocontrolled pneumatic systems and motors using interface City University, author, and presenter.boards. We had an Econet network to allow students to helloworld.cc 75

FEATURE GETTING STARTED AS A COMPUTING EDUCATOR James Robinson describes the steps that he went through in transitioning to teaching computing, and the key lessons he took from the process B ack in 2011, I began to make the STORY BY James Robinson became some of my greatest assets as I transition from teaching other introduced activities to more formal groups.subjects to becoming a computing Extra-curricular learning Many educators empower similar groups ofeducator. Computing was gaining traction students, giving them roles such as ‘digitalas a subject in UK schools, a shift in focus The first step was something that I realised leader’, with the ability to help set up kit orthat I found hugely exciting, and I could I’d already been doing for ages, and that support other learners.see the opportunities and appeal that was running extra-curricular sessions forcomputing brought with it. As a child, I students. Since I started teaching, I’d been KEY LESSON: Using informal, extra-had a quarter share in an Atari 65XE on running clubs at lunch and after school,which I began writing BASIC programs including Lego Club, Computing Club, and curricular settings to gain experience,– and here my interest for computing a few seasons of the robotics competition you’ll be better equipped to explorebegan. I continued to tinker throughout First Lego League. Working with my computing concepts in ways that connectmy school years, but as computing wasn’t students in an informal context was great with your learners. There are so many greatan option at school, I had no significant for them, but also great professional opportunities out there to start an extra-programming experience when I started development for me. I tested out projects, curricular club, all with fantastic support.my degree in Computer Science. I emerged trialling new ideas and activities outside Many of the educators that the Raspberry Pifrom university with a firm theoretical of the pressure of a formal lesson. These team train go out to start clubs as a first stepknowledge… but somehow still with fairly sessions were opportunities for us to make, in their computing journey.minimal confidence in programming. It fail, play with ideas, and learn together. Iwas with this background that I began learnt a lot about what works, improved Connecting with other educatorsinvestigating how I might bring computing my own knowledge and understanding ofto my secondary classroom. the programming skills needed, and gained Early in my career, I’d been along to a few a real understanding of what the students teacher meet-ups, run by an organisation n P hysical computing is a great concrete way to enjoy, what engages and motivates them. called Computing At School, who had the In addition, the students attending often aim of reintroducing computing back into introduce learners to new concepts and skills the UK education system. I don’t remember much of the content from these early sessions, but I do remember how great it was to connect with other educators and hear about issues they faced and share solutions with one another. So important, in fact, that I went on to support my local meet-up and eventually take on the responsibility of running it for a few years. Since then, I’ve sought opportunities to connect whenever possible through events, conferences, training programmes, and online. Establishing a network was important to me because it allowed me to share, learn from others, and kept me motivated. Even now, whenever I connect with one of these networks to get advice, share an idea or seek feedback, I always come away enriched.76 helloworld.cc

KEY LESSON: Teaching can be an isolating Lead by example and support. Each new lesson I taught, I learnt something; about computer science, experience at times – particularly subjects such As I’ve said, I had my first programming about my classes, about how my pedagogy as computing that often only have one teacher experience at about age seven, and from needed to develop – and every following in a school. Finding others to support you is that moment I’ve been passionate about lesson I tried to apply what I’d learnt. Most crucial – there are many networks you can join. technology and making things with it. Even of the time, I was barely ahead of the Take every opportunity to connect and share. before 2011, I would always share news students and remember a particular project stories, gadgets, and interesting projects I’d planned, in which we were going toLearn something new with my classes, squeezing computing make the game ‘Guess Who’ with the concepts in around my existing curriculum. Raspberry Pi camera. A couple of weeksAs a teacher, I’ve attended a wide I made things that I wanted to make and later, I realised we’d bitten off more thanrange of training events, and seen many demonstrated them to my students – tried we could chew and cut the project short,examples of both good and bad training. things, failed lots, and shared it all with but had learnt loads along the way aboutThere are now loads of courses out there them. I hope that some of my passion and file access, lists, and GUIs.and ways to learn; however, finding enthusiasm rubbed off on at least some ofsomething that’s worth giving up your my students. KEY LESSON: We can’t do everything attime for can be tricky. Early on, I haddecided that I wanted to use Python as On occasion I’ve heard other educators once. Computer science is a vast and newthe main language I was going to teach say, in front of their students, things subject for many of us. Start small, reflect,with, it was easily readable but also like “I’m no good at programming,” or iterate, and repeat.hugely versatile – the one problem was “This isn’t for me”. This upsets me asthat I’d never written a line of Python! you wouldn’t hear the same thing said Share everythingOnce again, I turned to my trusty network of literacy, history, or problem solvingfor recommendations, and found a great – especially when (as my five-year-old Finally, one of the last things I learnt incourse run by Dr Sue Sentence and daughter will insist) the simple addition of becoming a computing teacher was howAdam McNicol called ‘Python School’ the word ‘yet’ on the end can change this important it is to share. I started talking(pythonschool.net), which was a series negative message into something wholly about some of my ideas and resources atof two-hour sessions held at a local more positive. meet-ups and events. I found that I notschool. The sessions were great and gave only got a sense of pride in something thatme a solid grounding in using Python, KEY LESSON: Those of us privileged I’d made, but others could benefit from itand there was homework to ensure too. Best of all, other people suggestedwe continued on our own, and content enough to help shape our students’ how I could improve them. Just beforethat was adaptable and extendable. understanding need to positively embrace I left the classroom I became a ‘CASSometimes, half the battle of learning these challenging new skills. We ourselves Master Teacher’, which meant I plannedsomething new is finding the time – the need to become makers, programmers, and and led training for other teachers in thegreat thing about regular courses is being role models for our learners. We have to learn area. Every session I ran, I would helpable to schedule the time to learn each alongside them, be motivated by things that other educators but also learn somethingweek. Another training highlight of mine interest us, and model resilience to failure. myself. In my work for the Raspberry Piwas attending a Picademy run by the Foundation I get to meet a lot of educators,Raspberry Pi Foundation, which had me Baby steps some of whom have shared the view thatreturning to school so inspired and with they’re ‘just a teacher’, or that they havea head full of ideas. What both these All of this might sound quite daunting, nothing worth sharing. This of course iscourses had in common was their hands- what with all this leading and being nonsense – every educator out there hason nature, learning through doing, and inspiring, but it needn’t be. All it takes are lots of valuable knowledge, experience,making mistakes along the way. Picademy, small, iterative steps. The first computing advice, and resources to share. Whetherespecially, made me introduce a more lesson I taught after Picademy was you find opportunities to train yourstudent-led and engaging style of teaching literally an hour of talking about the peers, speak at events, get involved inwith my classes. one device I had, passing it round and discussions, open your resources to others, talking about how we might use it. The or even write for this very magazine, you KEY LESSON: As educators we have following lesson we connected all our PCs should be sharing. to it and interacted with it using written precious little time and headspace to learn commands. Next, we wrote our first KEY LESSON: Whatever point you’re at on new skills, so it’s important that we seek out Python code as a group, over a network, the best training available whether it’s online on a Raspberry Pi. We shared this success your computing journey, there’s always more or face to face. Get recommendations from with other teachers (including leadership), to discover; all you need to do is keep making, your network and make time to learn. and managed to get some funding for learning, and sharing. more kit, which allowed us to do more, demonstrate more, and get more funding helloworld.cc 77

FEATURE n Our students, delegates and teachersImages courtesy of Flo Capper Photography CELEBRATING WOMEN IN COMPUTER SCIENCE AND ENGINEERING International Women in Engineering Day 2017 was celebrated in style by King Edward VII School in Sheffield STORY BY David Kavanagh D isadvantaged female students from Organising the event did, and I asked her to help me organise South Yorkshire attended an exciting my event, aimed at addressing the lack ofday at King Edward VII School in Sheffield Our event was fully sponsored by ARM UK. opportunities for girls in computer science,to help celebrate International Women in Gaia Innovation were tasked with organising with a particular emphasis on disadvantagedEngineering Day 2017. The 80 students the event, contacting the schools involved, students. I already had ties with ARM, as Iwere joined by female computer scientists and all the visiting speakers and academics. I had taken students to their offices in Sheffieldand engineers from all over the country, met Leisha Marlow from Gaia Innovation at an for their Ada Lovelace Day celebrations, andfrom industry and academia. Open Day at Factory 2050 in Sheffield earlier subsequently organised Year 10 student work in the year. She explained what her company placements there. Six schools took part in our event: Trinity Academy from Doncaster; Rawmarsh Community School and Wickersley School and Sports College from Rotherham; and Meadowhead School, King Ecgbert School, and King Edward VII School from Sheffield.n Students programme the NeoBots to perform dance moves A warm welcome The day started with a warm welcome to all the students, accompanying staff and delegates. This was followed by some inspirational speakers, including Maha Khan, an engineering graduate and current Graduate Consultant at ARUP; and Andrea Catlow, Site Operations Director at Frontier Pitts. The students were invited to take part in four computer science and engineering- related activities: ‘Mission to Mars’ using78 helloworld.cc

n Students write their comments on our graffiti wallChickBots and various sensors to locate Inspirationwater and heat and to avoid obstacles;‘Rocket Launcher’ using BBC micro:bits and The idea for the event came fromK’NEX to build and set off a rocket; ‘Solar conversations I have had over many yearsRace’, where the students built and raced with female computer science students. Many of them were fantastically able and“ THE STUDENTS WERE INVITED TO TAKE PART IN FOUR COMPUTER SCIENCE AND ENGINEERING-RELATED ACTIVITIES n Programming ChickBots to find watersolar powered cars; and The University adept, but they had not gone on to choose Legacyof Sheffield brought their ever-engaging computing at GCSE or A level. This led toNeoBots for the girls to program. The very small numbers of female students The day itself was a big success. Initialfinal part of the day was a Careers Speed considering degrees in computing-related feedback from students, via our graffiti wallNetworking event, where groups of students subjects. It became clear that they were and subsequent Survey Monkey research,spent ten minutes with each inspirational being discouraged by a lack of opportunity to was overwhelmingly positive. The majorityspeaker, listening to their stories, and asking explore the subject without the boys ‘taking of girls commented that they had ‘had theirquestions on the careers and academic over’, and a lack of knowledge of the courses eyes opened to the many opportunitiescourses available to them. and careers available to them as computer available to them’ and that they had had ‘no scientists. There is much research that backs idea how much fun it was’. Feedback from An informal lunch in the school library up this hypothesis. the delegates was equally enthusiastic.followed, for all the delegates and visitors, One delegate commented that ‘the level ofwhere they had an opportunity to relax and n Solar-powered cars – students could change the gearing engagement was amazing’. Andrea Catlow,chat after a thoroughly busy and exciting day. and wheel size to make them faster who had driven all the way from Brighton that morning (and was driving back that afternoon), commented that during the Careers Speed Networking event, she was ‘thrilled to see so many students genuinely interested in her story and how her career had developed, and how they might follow in her footsteps’. Many thanks to all those involved who helped to run such an amazingly successful day. I am particularly delighted, as I was hoping to run it again next year – and on this evidence, I will definitely go ahead. David Kavanagh Curriculum Leader for Computing and IT, King Edward VII School, Sheffield ZX81. helloworld.cc 79

FEATUREPROGRAMMING:TAPPING INTO I.T. PROFESSIONALS Is there a place in the classroom for programming professionals and, if so, how we can engage them? STORY BY Richard Gray A hand shot up from the other side and in sufficient depth to feel confident Real-world lesson planning of the classroom, “Mr Gray, I need teaching effectively.some help!” At the start of the last academic year and, For the past 18 months, I’ve been I felt very strongly that I wanted to do in conjunction with the Year 6 teachers, weteaching Years 5 and 6 how to code. something to help those who felt somewhat planned four terms’ worth of lessons – oneWhether in small groups or whole classes, freaked out at the thought of programming, hour a week per class. We would work onI was in my element – but I’m an IT but I also wanted to ensure that what we building an educational computer gameprofessional, not a teacher. were teaching would have a grounding in for Year 3 students, but would go through I’d spent many years training for my the real world and, at the same time, give the full project life cycle – discovery, marketprofession and learning how to program. the pupils an insight into what we, as IT research, planning, design, build, testing,For many primary school teachers with professionals, actually do all day. evaluation, and presentation.already heavy workloads, it had always feltmore than a little unfair to me, having to ask I’m fortunate enough to work part-time, Pupils’ exposure to Scratch in earlierthem to learn about something so very new, and I had some ‘spare’ hours to put to good years was limited, so we spent the first use. I spoke to my local primary school and weeks familiarising ourselves with then The octopus chases the shark and shark chases the fish they were supportive. interface, creating simple programs to – a simple game concept used over a series of lessons. demonstrate basic concepts such as loops, sprite movement and mouse/keyboard input. We then moved on to look at variables and collision detection. As a whole class project (working in small groups of two and three), we developed a simple game concept over the course of a term – the player moves a shark character around the screen eating computer- controlled fish (point in a random direction and move, bouncing off the screen edges). They avoid being touched by the deadly octopus who follows the character and drains their energy. Add a high-score table and you’re done. I was able to teach best programming practices, discuss the importance of good variable names, show how to break a larger program down into smaller elements, run practical debugging sessions, and reinforce pupils’ understanding of event broadcasting, Boolean logic, looping, and control structures.80 helloworld.cc

I’ve written many games in Scratch, For the teachers, they have a second A TEACHER’Sand I’m comfortable fielding questions adult in the classroom to help deliver the PERSPECTIVEabout what is, and what is not (at their lesson and work 1:1 with small groups.level) possible, so when we started our There are opportunities for learning “As a primary school teacher, we have amain project (making their own games), alongside the children and to add to their relatively shallow knowledge of the foundationwe encouraged them to explore their own CPD portfolio. I would hope that they too subjects and so having someone who knew theinterests and ideas as to what made a would feel comfortable enough to ask subject well, knew what the misconceptions‘good’ game and then developed these into questions of their own to further extend could be, who knew where to take thesomething playable. their own programming knowledge. programme and how to extend the more able Lessons can be tailored to tie in with class children was the prime benefit for me. The research, development, build, topics and, at the end of the course, theretest, and evaluation processes we went is a whole set of re-usable lesson plans As well as the time in the classroom, to havethrough mirrored those in the real world and resources. someone who could supply resources (sampleand it felt ‘right’ to be taking the children programs) that were pitched at the ‘right’ levelthrough these same steps. As a published Looking to the future for my class, and respond to changing needseducational game developer (The Shattered and levels of understanding was somethingCrystal), I was able to talk to them about Whether there will be enough people I welcomed, as was having assistance withthe different roles involved in creating and with the interest, time, and motivation to planning and preparation.producing a game, and I felt it important to volunteer to make this a reality remainsemphasise that it wasn’t just programmers to be seen. Would ever-tightening school With the best will in the world, we don’twho were critical to success – level budgets stretch to accommodate buying have time to investigate all the foundationdesigners, graphic designers, musicians, in of this resource, in the same way that subjects in the depth we might like, and evenproject managers, advertisers, marketing PE coaches, French or music teachers using resources from the internet (many ofspecialists, and myriad other roles all can bolster teaching in their respective which are of questionable quality) I wouldcombine to create the finished product. subject areas? If, as we’re told, we’re still have needed to spend a great deal of preparation and planning time which, arguably,“ I WANTED TO DO SOMETHING TO HELP would be ‘better’ spent on subjects such as THOSE WHO FELT SOMEWHAT FREAKED maths or English. OUT AT THE THOUGHT OF PROGRAMMING Looking back, I was amazed at how well I hoped that, in some small way, my work heading towards a coding skills shortage, the class responded to having someone elsewith these classes allowed them a glimpse could the government provide funds for take their lessons – they loved that fact thatinto the future – into the real world – and small businesses to release programmers Mr Gray wasn’t a teacher, but a ‘proper’to see that what they had achieved in class for a couple of hours a week to support computer programmer. They were incrediblywas something to be proud of. teaching staff? engaged throughout the year and really enjoyed each session.So who benefits? Whatever the future, I would strongly recommend teachers reach out to parents When the class started to make their ownIn an ideal world, I would love to see IT and local businesses to see whether games, having someone who could work closelyprofessionals working alongside class opportunities to engage IT professionals with the groups was superb – everyone receivedteachers, bolstering confidence (in both might exist. Until I was given the chance a personalised level of support beyond thatstaff and students) and encouraging to stand up and teach, I didn’t realise how which I would have been able to give. I justopen-ended creative investigation and fulfilling and rewarding it would be. And wouldn’t have had the time or knowledge.questioning through making something fun the involvement of your IT professional– computer games. can vary from just being in the classroom If I had my way, I would have this help every answering questions to, like me, delivering year and would recommend it to colleagues The pupils see a fresh face in the whole lessons with the support of the in a heartbeat!”classroom, have opportunities to ask class teacher.in-depth programming questions, and Year 6 class teachercan work on open-ended projects I have loved seeing the children learningwhich personally interest them and are about programming, being motivated project life cycle of design, development,tailored to their individual needs and by working on projects that interest testing and deployment – all withpreferences. They receive the benefit of them personally, overcoming challenges, a real-world focus.professional programming guidance and persevering, asking questions, achievingreal-world input. a working game, and running through the Everyone achieved something that year. Everyone made a game. Everyone understood what they were doing and everyone exceeded our expectations – mine, their teacher’s and, quite possibly, their own. helloworld.cc 81

CONVERSATION BLUFFER’S GUIDE BLUFFER’S GUIDE TOPAIR PROGRAMMING PEDAGOGY There is far more to Pair Programming than simply asking your students to work in pairs. In thishelpful guide, Alan O’Donohoe, computing teacher, leader of exa.foundation and an advocate of Pair Programming, wants to convince you to try it in your own teaching, so he has provided you with a range of strategies and advice you can use to great effect in your own classroom to unleash the great learning potential within this approachWhy should I consider using Pair Programming? questions that I had not yet learned the answers to myself, and they increasingly relied on me to debug their coded solutions forFrom 2010 to 2015, I embarked upon my conversion from ICT them. At first, it inflated my ego and self-confidence to know thatteacher to Teacher of Computing. During this transition period, I my classes were heavily dependent upon my knowledge andexperimented with a range of teaching and learning strategies, experience, this resulted in a constantly high demand on me toincluding techniques like rubber duck debugging, Sabotage, and support them – but soon I found this tiring and stressful. Therepair programming. I developed a handful of teaching strategies were some students I could never remain a few steps ahead of.that I believe significantly improved the manner in which I hadbecome accustomed to teaching. These strategies didn’t just Through pair programming, my students developed greaterguarantee more successful outcomes for my students, I felt they independence – relying less on support from their teacher, theyalso liberated me from the most onerous and stressful activities, collaborated more among themselves using each other as alike debugging students’ code. resource, and their levels of engagement were far higher than This meant I could more objectively evaluate the learning n Pair programming has a large impact on supporting pupils learning how to programmetaking place and consider how I might plan the most effectiveteacher interventions. Of all the strategies that I tried, I foundthat pair programming had the largest impact on supportingpupils learning how to programme, design algorithms, and thinklike a computer. Many other teachers have also successfullyconverted to pair programming pedagogy. Richard, teacher: “I tried it yesterday... Wow! What adifference it made to a difficult class. With a couple of notableexceptions, the class were engaged, discussing, and most of allprogramming, differentiated problems according to the ability ofthe higher level student.”What about traditional teaching methods?When I first started teaching in the early 1990s, I adopted ateaching paradigm that firmly placed me as the ‘expert in theclassroom’. When I started teaching Computing I soon realisedthat this was unsustainable. My GCSE classes were asking me82 helloworld.cc

PAIR PROGRAMMING CHALLENGES: Won’t the teacher become redundant? 1. Create a program that will ask the user to enter two separate numbers, Not at all, the role of the teacher develops into a far more useful then print the output like this, ‘You entered two numbers n1 and n2.’, one. I know that developing paired programming within my where n1 is the first number, n2 is the second number. own pedagogy had a positive transformation on pupil learning outcomes. Previously, I fell into the trap of thinking that I needed 2. Create a program that will ask the user to enter two numbers, then add to have mastered all of the Computing curriculum and the entire them together and print the output like this, ‘You entered two numbers programming language before I could teach it effectively. I used n1 and n2. The sum of these two is n3’, where n3 is the sum of both. to believe that the only path to my students’ enlightenment was through me. However, in order for our students to grow and 3. Create a program that will ask the user for two numbers, then multiply develop, then part of that process must require the teacher to create them together and print the output like this, ‘The product of n1 and n2 conditions in which students can flourish without direct intervention is n3’. from the teacher. 4. Create a program that will ask the user for two numbers, then divide What is the best way to try pair programming? the largest number by the smallest and print the output like this, ‘When n1 is divided by n2, the answer is n3’ where n1 is the largest I’d recommend you start as soon as possible, which will allow you number, n2 is the smaller number and n3 is the answer. to develop the strategy in your own class. In terms of ability, pair like with like so that the stronger, more confident students are paired 5. Create a program that will ask the user to enter two numbers, then together and the weaker students are also paired. Explain that ask the user if they are to be added, multiplied, subtracted, or divided. each pair will only develop the code on one computer throughout. It will then perform the calculation for the user as above. Add some One partner drives (with the keyboard and mouse) and the other validation to your coded solution so that your program will only accept navigates (vocal instruction and feedback). Then every five minutes integers from the user input. or so, tell them to swap roles. Once you’ve started this with your classes, you’ll spot ways that you can improve and develop the useany other previous strategy I’d tried. I discovered there were of the strategy. You’ll be surprised how few demands a class makealso significantly fewer bugs to solve, partly because there were on you once pair programming has become established with aalways two pairs of eyes on the coded solution, so they stopped teaching group.asking me to debug their solutions. In the rest of this article I describe some of the ‘pair programming’ It’s worth stating that I didn’t experience the positive benefits strategies that I used, which I sorely wished I’d discovered earlierstraight away – far from it. I needed to persist, observe, and on, plus we’ll include some further reading. If you wish to harnessreflect on what was happening, I had to relinquish some the full potential of pair programming in your classroom, here aretraditional control in order to allow my students to develop in some guidelines to follow:confidence, and let go of some long held beliefs and habitsof mine which had become embedded. Clearly define and enforce roles (Driver & Navigator)n Pair like with like for the best results For paired programming to work effectively, it’s important to clearly define the expectations of each role. For a fixed interval of time, the ‘Driver’ uses the keyboard and mouse, while being guided by their ‘Navigator’. The navigator acts as both coach and mentor, guiding helloworld.cc 83

CONVERSATION BLUFFER’S GUIDEn Ask students to swap roles during challenges on file handling to some extent in the success criteria. Often the challenge would be an extension or development of a previousthe driver along the right path. While the responsibilities of driving programming challenge.can be more stressful and intensive than navigation, partners swaproles every five minutes to share the burden and opportunities. Plan challenges with graduated difficultyPartners either swap seats every five minutes, or simply pass thecontrols over to the navigator. Since the students are likely to have different backgrounds, experiences, and levels of competency in programming, I chose toAvoid misconceptions about pair programming design challenges and sub-challenges that initially required all pupils to develop a solution to a relatively simple problem. The first sub-Some teachers remain to be convinced about the learning potential challenge may be an extension of a recently introduced concept. Theseof pair programming. At first, it seems ludicrous requiring students sub-challenges would then increase in degree of challenge. Mostto share computers when there are enough for every student to pupils would be expected to develop a more challenging solution,work on their own in isolation. Some teachers worry that their and I would also describe a much more challenging extension that Istudents might only produce half as much code. Well, if you’re really expected only a small minority of the group could achieve within thelucky, your students might generate even less than half as much available time.code! If you’re not sure why this would be a good thing, read backover this paragraph again. Plan your seating carefullyShare challenges and sub-challenges The seating plans I used initially, paired pupils with each other according to their position in the register alphabetically. However, onceEach lesson would start with one large, shared challenge for the I had some acquired some assessment and progress data, for examplegroup that I designed to address particular learning objectives, from the MCQs we were using, I was then able to pair students withbut decomposed into smaller sub-challenges. For example, if I peers where there was a small achievement differential. The first timeidentified that students needed to develop their experiences of filehandling, I would design a task that required a solution that relied84 helloworld.cc

I tried this, I paired students from extreme ends of the achievementspectrum – but I found this to be counter-productive and led to otherproblems. It was only after trying this that I decided pairs matched byability was a much more successful strategy.Provide documentation and supporting resourcesIf there are particular resources that your class will find useful, sharelinks and references to these so that the navigator can refer to themwhen appropriate. You might develop a resource bank to support allchallenges that would include supporting documentation, links tosimilar solutions, and code snippets. If there were resourcing gaps, Ioften asked my students to search for resources and then add themto a shared document for everyone’s benefit.Teacher Interventions n Pairing students at opposite skill levels was not successfulDuring the pair programming sessions, I would typically visit each Some teachers worry that their studentspair, speak to both partners, and initially praise them on something might only produce half as much code. Ife.g. their use of comments, their efficient use of code. you’re really lucky your students mightThen I would also suggest one thing I would like them toimprove. This process allowed me to track the progress ofdifferent pairs, to spot any problems ahead, and to planany whole class interventions.Timed intervals generate even less than half as much!Typically students are instructed to work in each rolefor five minutes and then swap roles. I then planned Show & tellwhole class interventions every 15 minutes or so as required, toremind them about certain points, rules, to remind them about the There is terrific learning potential in sharing coded solutions withcharacteristics of great navigators, or to share some solutions and groups. After 20 or 30 minutes, I instruct the current driver to standapproaches I had observed. The stopwatch feature on my phone up and sit down with another navigator. Then each visiting driver hasallowed me to set an alarm at the end of each block. You could tell three minutes to review the code in front of them, suggest what worksstudents to create a Scratch project that alternates between ‘Driver well to that navigator and what they might consider to improve their(right) Navigator (left)’ and ‘Driver (left) Navigator (right)’ every five work. Then, when the visitors return to their original partners, theyminutes and plays a sound to remind partners to swap roles. have lots to tell each other about what they have seen and heard from the others. The next time you repeat this, make sure to send the otherFURTHER READING: partner to visit to keep it equitable. Espionage When there was an uneven number of students in the class, In J ames Franklin’s page on Pair Programming: introduced espionage. I identified a sensible student and asked themhelloworld.cc/2D16pHH to choose any pair they would prefer to work with. Then, in addition ton C STeaching Tips: helloworld.cc/2DkuMgq driver and navigator, I gave this group another role – ‘spy’. When it was their turn to be spy, they had to wander the room stealthily looking forn L aurie Williams’ page on Pair Programming: helloworld.cc/2D2a3jG ideas to steal from other pairs, and then report back to their partners what they found while spying on other pairs.n P air Programming in a box: helloworld.cc/2Fso8W0 Encourage and celebrate effective navigator behavioursn P air Programming Wiki: helloworld.cc/2mjRyg9n P air Programming video: helloworld.cc/2D4qpZi It’s unlikely that you’ll need to remind drivers what they aren e xa.foundation resources: helloworld.cc/2D0Hh3I supposed to be doing, however being an effective navigator requires great skill. During my intervention I focus on positive behaviours I see navigators display. We had a poster, that the class helped me create, that lists the key behaviours of an effective navigator that included: be positive and encouraging; use clear, helpful language; look ahead to spot hazards and obstacles; look for ideas elsewhere; make suggestions... helloworld.cc 85

REVIEWS APPSVISUAL PROGRAMMING APPS Teach coding with these visual programming languages W e don’t need to tell you how amazing Scratch is forteaching. Its success has inspiredthe development of many morevisual and block-based codingapps for a range of skill levels. Therange is so broad that you couldwork your way up from Scratchto making megabucks on indievideo games, using only visualprogramming languages. Here are some of the best of thesevisual languages and supplementsfor use in education.BLOCKLY IN FO FROM Google | PRICE Free | URL helloworld.cc/2tWI2lK T his app is a bit more for a PC or smart device that language. In fact, it is able to QUICK FACTS advanced than the others, students can use under certain translate code on the fly, so youas it requires you to actually build conditions. You could even create can watch how the blocks change n Create your ownyour own blocks. The plus side is a multiple-choice-style coding into the code in real time. This is an block-basedthat it translates easily to a range quiz. The other use case is to ease invaluable tool for translating block programmingof programming languages, such as students into more traditional code into written code, while still languagePHP, Java, and even Python. It can coding via building their own being a very powerful block-codingbe used to create your own version blocks and seeing how they tool in its own right. n Made by Googleof EduBlocks (see page 88) that interact; for example, building n Can output realteaches, or allows you to translate the necessary blocks to recreate Using Blockly does requireinto, other languages. previous Scratch programs. you to spend more time on code on the fly There are two use cases here. preparation, whereas somethingThe first would be to create a At the end of a project using like Edublocks is ready to go aftermore focussed visual coding app Blockly, you can easily output the a quick setup. If you have the time, blocks as code in your chosen the payoff can be amazing. n T his image and above: the same code viewed in Blockly and in Python86 helloworld.cc

QUICK FACTS SNAP! IN FO FROM UC Berkeleyn Originally a PRICE Free Scratch mod URL snap.berkeley.edun Create your own blocksn More advanced than Scratch O utgrowing Scratch is You can share and see examples repeat complicated blocks for common among creative in a very similar way to Scratch, seemingly simple tasks, and can and imaginative kids, but not all making it an easy step up for the even allow students to create brand of them are ready for a full-on students who need something more new functions they may not have programming language. Snap! is challenging. been able to use in Scratch. a great way to give learners more power, without taking away the Creating custom blocks is easy, Using Snap! is just as easy as familiar interface they are used to. allowing students to mix and match using Scratch – you can tell that One of the things that Snap! existing parts of different blocks it started as a mod for Scratch, offers is better Loop and If into their own unique blocks. They originally aimed at increasing statement functions, as well as the won’t need to use a text-based the number of functions available. ability to create your own blocks. It programming language to do this, It does more than that behind the was developed at UC Berkeley, and so no additional experience is scenes, but for the user it feels is available free as an online IDE. required. This is great for anyone like a more advanced version questioning why they have to of Scratch.n Snap! feels like an advanced version of Scratch, with lots more programming power helloworld.cc 87

REVIEWS APPS n B locks are written in Python code, so users can see both languages in actionEDUBLOCKSIN FO FROM All About Code | PRICE Free | URL helloworld.cc/2tW5C2d T he main purpose of functions. Python is a good basis is particularly useful when moving on QUICK FACTS EduBlocks is to act as a for a visual language, as its function from something like Scratch.bridge between Scratch-style names are fairly straightforward, n Transition fromblock coding and more traditional and well-written Python code can Examples and documentation Scratch to Pythonprogramming languages, in this case usually be broken down into blocks aren’t as prevalent as they are withPython. Blocks are written in Python anyway. This makes it easy to read Scratch, however it should be easy n Install on acode so you can see their real Python and work out how it functions, which to adapt existing simple Python Raspberry tutorials to work in EduBlocks. Pi, access There is a free Minecraft resource from anywhere available that provides a basic understanding of how EduBlocks n Control works, and should give you enough Minecraft Pi knowledge to be able to craft your own lesson plans. While EduBlocks does work in a browser, you’ll need to have it installed on a Raspberry Pi on the same network to access Minecraft Pi. Depending on your network, this may limit its uses in a school environment. Code can be stored in the cloud, so students can work on projects from home if they wish. At the end of a project, the blocks can be converted into pure code, demonstrating how the blocks relate to the syntax of a text-based programming language.88 helloworld.cc

n Users can write scripts for games in text-based or block-based code QUICK FACTS GAMEMAKER STUDIO n Used to create IN FO FROM YoYo Games | PRICE Free trial | URL helloworld.cc/2u1ezez successful indie games T his is a much more advanced There is a trial version and, edit them in almost exactly the same piece of technology, which while limited, it’s enough to give way. You can write scripts for events n Free trial version has been used to make some very students a taster of what they can and movement in text-based code, available successful and critically acclaimed achieve. It does require an account but there is also a block function that games, including Spelunky, Hyper to download, but you don’t need to has all the essentials you’ll need. n Works on Light Drifter, and Hotline Miami. It’s attach a payment card to the account multiple devices a proper game engine and the prices to install the basic trial. There are plenty of resources, reflect this (although you can apply even for the trial version, so it’s easyn T utorials and demos are for an educators’ discount). It works surprisingly like Scratch. to learn how it works. You can also available to help users get You can create sprite animations and download examples, see how they started with GameMaker were made, and apply that to your own work. Considering the games that have been made with it, it’s definitely a very powerful app, and can even be used to publish games for PCs and games consoles. Gamemaker Studio is much more suited to older students, and does require some teaching to get used to. It is a great way to explore being creative with real, practical code. Hello World RECOMMENDS SNAP! helloworld.cc 89

REVIEWS BOOKS ALGORITHMS TO LIVE BY How computer science can help you solve everyday real-life problems IN FO BY Brian Christian & Tom Griffiths | PUBLISHER William Collins | PRICE £9.99 | ISBN 978-0-00-754799-9 | URL algorithmstoliveby.com better title for this chapters all have things to say not only be easy, but sometimes about how we can apply the optimal and, if that doesn’t work, A book might have been techniques suggested by the then ‘try to change the game.’ chapter titles to problems in ‘Computer Science and Probabilistic our lives. The Conclusion not only sums Techniques to Live By’. There are up the main themes of the book, some explicit algorithms (72 pages When more memory but introduces Computational of endnotes and bibliography can be worse Kindness: when scheduling point you to more) in the Sorting interviews for the book, the authors chapter, where big-O notation is The Networking chapter has found interviewees more likely to introduced, but most of the book fascinating anecdotes about be available at, say, ‘next Tuesday is concerned with describing ways networks and the Internet, a between 1.00 and 2.00pm PST’ of approaching problems, e.g., very good introduction to packet than ‘at a convenient time this the Relaxation chapter suggests switching (not only the ‘so it coming week’, and suggest that relaxing some of the constraints on can survive a nuclear attack’ giving a constrained problem (‘Can your problem: you might not get the approach), wireless networking you be free at that time?’), rather ‘correct’ answer, but at least you’ll in Hawaii using ALOHAnet, than a wide-open one (‘When get an answer that you can build on. applications of one of the internet’s can you be free that week?’) core congestion algorithms to was kinder, since it reduced their Optimal Stopping shows how drug offender supervision, and computational load. to decide when to stop looking explanation of why more memory (for a better offer on your house, in network devices can sometimes So, the next time you and a or a parking place closer to work), be the worst thing you can have. group of friends are trying to work while Explore/Exploit examines out where to go for a meal, saying the tension between getting more A final chapter on Game Theory ‘Well, what about the new pizza information (exploring) or using brings selfishness and honesty place?’ isn’t being pushy, but saving the information you already have into the realm of algorithms, your friends a lot of computation. (exploit), and applies this to one- along with the advice to adopt armed bandits, medical trials, why strategies that don’t require Overall this is a fascinating book, babies explore, and why the elderly ‘anticipating, predicting, reading perhaps mistitled, but well worth reduce their social circle. into, or changing course because reading for its insights into the of the tactics of others’, which can application of techniques from our Caching, Scheduling, Bayes’ field into everyday life. Rule, Overfitting, and Randomness90 helloworld.cc

TEACHING COMPUTING ESSENTIAL READING:IN SECONDARY SCHOOLS:A PRACTICAL HANDBOOK Pattern languages – good solutions to common problems.IN FO BY William Lau | PUBLISHER David Fulton / Routledge PRICE £19.99 | ISBN 9781138238060 | URL routledge.com APPRENTICESHIP PATTERNS: GUIDANCE FOR THE ASPIRING SOFTWARE CRAFTSMAN W illiam Lau trained to teach He has a clearly through Teach First and is articulated vision BY Sophie Deen and her friendsnow a CAS Master Teacher and head for computing PUBLISHER O’Reillyof Computing at Central Foundation education, and for effective, high PRICE £23.99Boys’ School in London. He won one impact teaching. He is not afraid to ISBN 9780596518387of the 2017 Teaching Excellence take a critical stance on some of the URL chimera.labs.oreilly.comawards from Infosys Foundation beliefs common to many classrooms,USA, CSTA, and ACM. William’s replacing these with practical, well- A clever idea: take the notion of abook provides a practical guide to the thought through guidance on what pattern language, of good solutions tocraft of computing teaching, although does work, invariably backing this common problems, and apply it to the processmuch of the book would apply to up with evidence. Not all teachers of of becoming an agile software developer.teaching any subject in an effective, computing would necessarily agree The patterns here though don’t just work forand evidence-informed way. with all that William recommends, software engineering: most would also apply It’s impossible to read this book but all would benefit from thinking as to those developing their craft as a teacher.and not be impressed by the breadth critically as he evidently has about theand rigour of William’s reading. issues he raises. TEACHING AS A DESIGN SCIENCECOMPUTER SCIENCE TEACHER BY Diana Laurillard PUBLISHER RoutledgeIN FO BY Beverly Clarke | PUBLISHER BCS PRICE £28.99 PRICE £19.99 | ISBN 9781780173948 | URL shop.bcs.org ISBN 9780415803878 URL routledge.com B everly Clarke is an changing role of experienced secondary the teacher, the Laurillard argues persuasively thatteacher, and trainer of teachers technologies and teaching isn’t an art but a designthrough her work coordinating tools available in science, with an imperative to makeCAS’s SW regional centre at the the classroom, and the world a better place. Teachers thusUniversity of Plymouth. She has what career progression might look have an obligation to keep improvingdrawn deeply on this experience like. Beverly presents some engaging their practice, test what they do, buildto produce this accessible guide case studies of typical computing on the work of others, and share theto teaching computing. Whilst the departments, and a useful set of design of their work with their peers.target audience is those teaching, examples and templates. The bookor training to teach, computing reflects the current policy climate of DESIGN PATTERNS:in English secondary schools, English education, and particularly ELEMENTS OF REUSABLE OBJECT-ORIENTED SOFTWAREwe’re sure that much of the book computing education, well, andwould be of interest to teachers of Beverly provides ample pointers BY Erich Gamma, Richard Helm,computing in other countries, or to policies, reports, and resources. Ralph Johnson, John Vlissidesindeed in primary and elementary There’s limited use made here ofschools anywhere. academic research into computing, PUBLISHER Addison Wesley Beverly’s book takes a pragmatic although this too perhaps reflects the PRICE £24.30approach to the realities of broadly pragmatic stance of those ISBN 9780201633610computing education, discussing the currently teaching computing. URL books.google.co.uk A classic text for object-oriented programming, presenting a number of code patterns, each of which addresses a particular, commonly encountered, problem. The authors, the ‘Gang of Four’, show sample code for each pattern, give some of its known uses and show how it relates to the other patterns they discuss. helloworld.cc 91

FEATUREEVENTFUL INSPIRATION: PART 3 Our guide to running a successful tech-based event, packed with advice from people who are already running theirs A re you considering running a Running a safe event provide warnings, explain the dangers, and hackathon, techmeet or Jam? give sufficient training to anyone wishing toAre you keen to get like-minded people It is important to make sure that your event take part.together to encourage digital making, is safe to attend for everyone, payingcoding, and community? In issue 3 of Hello particular attention to the needs of people Don’t forget that your participants mayWorld, we took an in-depth look at the under 18, and vulnerable adults. It is your bring their own projects to work on oractivities you could run for your attendees. responsibility, as the event organiser, to demonstrate for other attendees. UseIn this issue, we consider health and to make sure you are familiar with the your risk assessment to develop a plan forsafety, safeguarding, and money. legislation governing your region, and that checking their equipment and ensuring that This series of articles is based on you adhere to it in all respects. their activities are safe.The Raspberry Pi Foundation’s guide torunning a community event. The Raspberry It is a good idea to point out the fire exits, START EVERY EVENT BY EXPLAININGJam Guidebook is aimed at Jam organisers, toilets, catering, and other facilities while WHERE THE FIRE EXITS ARE, ANDbut the advice it offers will be helpful to you are welcoming people to the event. If WHERE PEOPLE SHOULD ASSEMBLEanyone setting out to run a tech-based you’re not giving an opening talk, ask your IN THE EVENT OF A FIRE ALARM. TALKcommunity event. Ben Nuttall, Community check-in volunteers to point these out as TO YOUR VOLUNTEERS AND DISCUSSManager at the Raspberry Pi Foundation, people arrive. HOW YOU WOULD HELP A WHEELCHAIRcompiled the guidebook. He collected USER EVACUATE. SOME BUILDINGS HAVEadvice from existing Jam organisers Your venue may ask you to complete A WHEELCHAIR REFUGE AREA WITH Athroughout the UK, on everything from a risk assessment. Some venues provide COMMUNICATION PANEL: MAKE SURE YOUfinding a venue to managing your finances, examples and templates to help you with KNOW WHERE IT IS.and from planning your activities to this task.managing social media. Packed full of ANDREW OAKLEYgreat, first-hand advice, the guidebook is If you are planning activities that involvedesigned to help you to run the best event increased risk to participants, such as COTSWOLD JAMyou possibly can. soldering, you will need to think about safety precautions. You should plan toWHAT IS ARASPBERRY JAM? Raspberry Jams are independently organised community events where people get together to share knowledge, learn new things, and meet other Raspberry Pi enthusiasts. Jams provide opportunities for people to get involved in digital making, develop their abilities, get together, have fun, and socialise. They are usually free or very cheap to attend.92 helloworld.cc

Risk assessment OUR VENUE, A UNIVERSITY, REQUIRED I HOLD A MONTHLY JAM AT THE RASPBERRY US TO PERFORM A RISK ASSESSMENT PI OFFICES IN CAMBRIDGE, WHERE WE HAVEUnless your venue or local laws insist on AND HAVE PUBLIC LIABILITY INSURANCE. A PERFECTLY SUITABLE SPACE TO RUN ANit, your risk assessment does not need to I HAD EXPERIENCE WITH RISK EVENT. I DISCUSSED IT WITH OUR OFFICEbe a formal document. Aim to put together ASSESSMENTS FROM WORK, SO THAT MANAGER AND OPERATIONS DIRECTOR,a common-sense approach to assessing WAS STRAIGHTFORWARD, BUT ANYONE WHO HELPED ME CALCULATE THEsituations, ensuring that your activities are WHO DOESN’T HAVE THAT EXPERIENCE MAXIMUM CAPACITY OF THE SPACE, ANDnot putting people in danger, and making CAN FIND PLENTY OF EXAMPLES ONLINE. GO OVER ANY PRECAUTIONS OR RISKS WEsensible decisions to minimise risk. ALTERNATIVELY, ASK SOMEONE AT YOUR SHOULD CONSIDER. THEY WERE REALLY VENUE TO HELP YOU FILL IT OUT: IT HELPFUL AND MADE IT SO MUCH EASIER The Resource Centre website SHOULD ONLY TAKE TWENTY MINUTES. TO PLAN MY FIRST EVENT.(helloworld.cc/2tWmEwB) is a great YOU JUST NEED TO THINK OF THE TOP TENplace to pick up information on running ‘WHAT IFS’ AND GIVE SENSIBLE SOLUTIONS. BEN NUTTALLcommunity events. The advice is specific WE BOUGHT PUBLIC LIABILITY INSURANCE RASPBERRY JAM @ PI TOWERSto the UK so, if you are organising an event THROUGH EVENTS-INSURANCE.CO.UK.elsewhere in the world, make sure you are REMEMBER TO BUY IT ONLY FOR THE DAYS Safeguardingfamiliar with local rules and requirements. OF YOUR EVENTS, NOT ALL YEAR ROUND!You’ll find plenty of resources to help with You must consider the safety of under-18scompiling risk assessments, including ANDREW OAKLEY and vulnerable adults at your event. If yourtemplates and advice, such as: event is taking place outside the UK, make COTSWOLD JAM sure you are familiar with local laws and ‘Risk assessment is about achieving a regulations. Make it clear that any adultsbalance between a reasonable level of risk, WE WERE ASKED TO DO A RISK at your event must:and being able to get on with organising ASSESSMENT FOR THE INSTITUTE OFyour activities. Remember, no activity is ASTRONOMY WHEN WE WANTED TO START n Never be left alone with young peoplecompletely free from risk, and doing a INTRODUCING SOLDERING WORKSHOPS. or vulnerable adultsrisk assessment is not about making your WE NEEDED TO THINK CAREFULLY ABOUTactivities risk-free.’ ALL THE POTENTIAL RISKS AND WORK OUT n T ake care not to have physical contact HOW WE MITIGATE THEM. IN THE CASE with young people or vulnerable adults Community events should be creative, OF SOLDERING, WE NEEDED A BUCKET OF attending the eventfun, and safe places for adults and children WATER FOR BURNS AND A FIRST AIDER ONto learn, and to meet other makers and HAND, JUST IN CASE. n Not take or share photos of otherscoders. As the event organiser, you should without appropriate permissiontake reasonable precautions to ensure that MICHAEL HORNEall attendees and staff are kept safe. You Your venue may have an existingshould ensure that children attending your CAMBRIDGE RASPBERRY JAM safeguarding policy. Ask to see it, andevent are not left unsupervised, and that follow any guidelines it provides.parents stay with their children. ALTHOUGH MOST OF OUR VOLUNTEERS ARE DBS-CLEARED THROUGH OTHER VOLUNTARY WORK, WE MADE A CONSCIOUS DECISION THAT WE WANTED PARENTS TO REMAIN WITH THEIR CHILDREN. THE RESPONSIBLE ADULT DOES NOT NEED THEIR OWN TICKET, BUT REQUIRING PARENTS OR GUARDIANS TO ACCOMPANY THEIR CHILDREN REMOVES THE NEED FOR DBS PAPERWORK, AND MEANS THAT EVERY CHILD HAS A FAMILIAR AUTHORITY FIGURE ON HAND. WE ALSO FIND THAT CHILDREN ARE MORE FOCUSED IN THE WORKSHOPS WHEN THEIR PARENTS ARE AROUND. ANDREW OAKLEY COTSWOLD JAM helloworld.cc 93

FEATUREFINANCIAL MANAGEMENT CASE STUDIES Financial managementOnline Application Loyal customer It is your responsibility, as the event organiser, to make sure you are familiar withA bank account is something we have Between the two of us, we looked at our any regulations governing the managementbeen looking into for a while. We looked own personal banks to see what options of funds for community groups in youraround the major banks and shortlisted were available. We decided that, seeing as region, and that you adhere to them in allit down to two. These banks both offer I do most of the paperwork, we should go respects. The advice in this section hasfree community bank accounts that are with my bank. They required lots of forms been put together with reference to UK-basically business bank accounts, free of identification and other paperwork, as based events.of charge for not-for-profit community well as a personal meeting with a banker.organisations. We ended up choosing It took them a while to sort everything out, You may find yourself holding funds afterthe bank whose application process but we’re much happier now that the money your event, so make sure you keep a carefulcould be completed online. The process goes directly into that account. It helps keep record of income and outgoings. This isinvolved filling out a long web-based us organised! particularly important if you are holdingapplication form, covering everything event funds in a personal bank account. Usefrom the purpose of your organisation and MICHAEL HORNE a spreadsheet to identify how much moneyuploading a formal rules and regulations belongs to the event, and make sure youdocument, to your tax status, and so on. CAMBRIDGE RASPBERRY JAM don’t end up spending your own money.For any section we weren’t sure about, The Resource Centre website offers advicewe simply gave them a call and queried Handing over on taking care of finances on behalf of ait. The entire process took about a month, community group (helloworld.cc/2sJc0Ks).with the result being a full business The venue I used for the Manchester Jam wasbank account with debit cards and a a community space which held other tech If your event ends up generating achequebook, and the option to require meetups. Since we used the whole venue for lot of revenue, think about keeping theeverything to be countersigned. This is a whole day, I offered to donate all the ticket event money separate from your privatecertainly a time-consuming process if your money to them, to put towards their running accounts. If your event is based at a school,event isn’t an official organisation, but costs. Any extra donations or sponsorship we university, library, or community space,being able to manage the event’s money got, I put towards buying pizza at the event, you could ask them to hold the money forfrom a central location is something that and any surplus I saved, keeping track of you, and make payments and purchaseswill pay off in the long term, especially how much we had. When it built up to about on your behalf. Alternatively, you couldif there are ever any questions asked £200, I decided to buy some Raspberry set up a community bank account. Someabout where donations and funds have Pis for the Jam. When I moved away from banks offer special accounts for smallbeen spent. Manchester, I agreed to hand over the event voluntary and community organisations, organisation to one of my volunteers, and I which provide free banking, as long as yourANDREW MULHOLLAND left him with the remaining balance. account is in credit.NORTHERN IRELAND RASPBERRY JAM BEN NUTTALL Make sure you can easily transfer ownership of the account, money, and any MANCHESTER RASPBERRY JAM equipment you own to someone new if you decide to hand over the running of your94 helloworld.cc

event. Using bank accounts with multiple Local technology firms are likely to want to FUNDRAISINGsignatories, and keeping careful records encourage the teaching of digital skills in CASE STUDIESof the ownership of equipment, will help the local area, and you may find that theyto make a handover more straightforward. are willing to sponsor your event as part RaffleIf you cannot find anyone to take over the of their corporate social responsibility andrunning of your event, we suggest that you community outreach initiatives. In order to avoid charging for tickets, wepass on any assets to another, similar event always hold a raffle and raise between £60in your area. The best way to approach a company for and £200, and everyone’s happy whether sponsorship is to specify an aspect of the they win or not. You can use Twitter to ask for swag from the community, to give away“ IF YOUR JAM RUNS REGULARLY, IT as prizes. It’s so nice to be able to run PROVIDES BOTH AN INCENTIVE AND community events which are free to attend. AN OPPORTUNITY TO RAISE FUNDS GRACE OWOLADE-COOMBESFundraising event to be supported by their funds. You can’t expect them to cover all your costs, but SOUTH LONDON RASPBERRY JAMIf your Jam runs regularly, it provides both an if you have something in mind that they canincentive and an opportunity to raise funds. contribute to, this will help. Good examples We hand out free raffle tickets while weIf you take in more than you need, you can include buying pizza for the event, or buying shake the donation tin. Then we pull winningkeep the remainder as a float for the Jam. a set of Raspberry Pis for workshops. tickets from a box and they win a prize we’veYou can use this to cover future costs, or had donated, like a HAT or something.save it to buy equipment for the Jam. Be grateful for any donations or sponsorship you receive, and be sure to ANDREW OAKLEY If you find that your Jam would thank the donors privately and publicly. Abenefit from buying some equipment, ‘thank you’ tweet from your event’s account COTSWOLD JAMand your leftover ticket money isn’t will be well-received, and companiesenough to cover what you need, you will appreciate the publicity. Encourage SD suppliesmight want to consider doing some attendees to retweet, and to add their ownfundraising. A simple option is to ask thanks to your message. We have some SD cards which we loan outfor donations – using a ‘donation’ ticket for the afternoon, and other cards which wetype, or even having a donation tin As well as local companies, you could sell at a small profit. If you can find a cheapat the event. Alternatively, you could approach Raspberry Pi retailers to ask source of decent blank SD cards, then it’s arun a crowdfunding campaign to raise whether they would sponsor an event. If good way to raise funds while also solving aawareness of your group’s community you can give them space to promote or sell big problem.activities, and ask for donations to provide their products, they may find sponsorship tomore opportunities to local kids. be a very worthwhile gesture. Note that if ANDREW OAKLEY you are planning to allow companies to sell COTSWOLD JAM You could even organise an old-fashioned products at the event, you should check thisfundraiser, like a sponsored walk or a with your venue first. Crowdfundingcake sale! If you can get all your membersinvolved, they can help to promote the If you ask a company for sponsorship Initially, my son Femi ran a highly successfulcommunity message. and they say no, be polite and move on. crowdfunding campaign using Indiegogo, by You may approach a company that has producing a one-minute film about what heSponsorship sponsored other events, and find that they wanted to do and the equipment he would refuse when you ask. Don’t take offence, as need. We set the target at £500 over a two-If you are aiming to raise funds for your this could simply mean that they have spent week period. We got that in four days, andevent, why not contact companies and their sponsorship budget for the year. went on to raise £1,270 which has lastedorganisations to ask for sponsorship? us for 18 months. We went to all the Jams we could, and Femi did talks at places like DOWNLOAD Download your copy of the Raspberry Jam CamJam and PyCon. We’ve had donations of Guidebook from: helloworld.cc/2p7ZX98 kit from Raspberry Pi retailers. It’s really important not to overdo the amount you aim to collect. The key thing is to meet people in person, build up a relationship, and always send thanks via Twitter and blog posts. You really shouldn’t automatically expect companies to donate supplies to you, but be really grateful when they do. GRACE OWOLADE-COOMBES SOUTH LONDON RASPBERRY JAM helloworld.cc 95

CONVERSATION YOUR LETTERSYOUR Article discussionLETTERS Dear Hello World, Our letters page is a place for you to join our conversation. While I’m an academic instead of a teacher, I have If you’ve got a comment, a question or an announcement comments on the latest issue of Hello World. I think the to share, contact us on Twitter via @helloWorld_Edu or letter section should include discussions of previous articles, using the #HelloWorld hashtag. Alternatively, email us with not only questions from teachers. ‘Teacher Letter’ in the subject line ([email protected]). In the FAQ section of issue 3, the first FAQ, “How doVector Grid components in Scratch I introduce my students to coding on a mobile phone?”, suggests ScratchJr as a possibility. I’m nearly certain itDear Hello World, only runs on tablets and not on phones. Pocket CodeI am an Irish member of the CAS Community (where I have (catrobat.org) is a free app that runs on Android phones,shared resources) and I have begun an online discussion. (and an iPhone version is under development), that is a very powerful, yet easy-to-use, programming tool whose On 10 June, the research team at Scratch MIT added interface works well on phones. What is particularly excitingnew vector grid components into Scratch. To see about it is how easy it is to use the phone’s sensors such asexamples; go to scratch.mit.edu and type ‘vector grids’ tilt, loudness, compass direction, etc. in the search box. As a result anyone, (children, students,teachers, any adult), can now use Scratch in ways not Another question is “I need to teach programming, butpreviously possible, especially in school. This MIT decision I’m not allowed to install anything on the school’s network.followed a short period of discussion between myself What do I do?” The answer is a very good one and mentions(Seamus O’Neill, a retired Irish teacher) and Natalie the developer tools of the browsers. Chrome’s developerRusk, Dir. of Learning Resources and Research MIT tools provide a complete IDE with local file storage and more.(Boston). Scratch is now much better fit-for-purpose as See helloworld.cc/2AP2YxP.a methodology for constructivist learning, and a tool for Ken Kahnteaching Computational Thinking (CT). The grids are theMagic Mix, to make coding easier to ‘get on top of’ for Thanks for getting in touch, Ken!teachers, and to free up valuable teaching time. HELLO WORLD SURVEY I have been following the ScratchMaths.org project,which received several million pounds’ funding from EEF in Over 1400 Hello World readers recently gave us valuable2014. My desire is to make teachers’ work easier and more feedback on how the magazine had performed over the pastrewarding. For me, since retirement, Scratch Maths R&D year. 48% of responders were primary or secondary school(and all subject areas) is an enjoyable pastime (backed up teachers, 65% came from the United Kingdom, and 28%by my volunteering as a Code Club mentor and Teacher were female and 72% male, respectively.Tutoring at all levels.) When asked how much of the magazine was being read, Follow up Conference: On 20 June, before schools closed 71% said: “at least half the content or more”. 65% also saidfor Summer, I ran the first ever Irish SCRATCH Conference they use content from Hello World “several times a year orfor teachers (primary, secondary, and further education more” in their teaching practice, which is great to hear. It’sand adult ed.)ages 8-18 years and upwards. The one-day unsurprising then that ‘lesson plans’ and ‘practical examplesconference consisted of 3 workshops (each with its own for other educators’ are the types of articles that they foundsix-page laminated book). Feedback was excellent and the most useful.100% of the attendance of 60+ were very pleased with thenew component of Scratch. The top three topics they feel most confident to teachSeamus O’Neill are: visual programming languages such as Scratch, computational thinking, and generalist programmingIf you’re interested in learning more, you can reach concepts. In future issues, readers asked to seeout to Seamus via the website readysteadycode.ie  more practical examples for computing project ideasor via CAS Community. and lesson plans. 78% voted to double the amount of issues of Hello World, from three to six, and a reassuring 91% said they’d be okay with relevant advertising being introduced to the magazine.   Thanks to everyone who gave their input!96 helloworld.cc

OPINIONMILES BERRY PRINCIPAL LECTURERTEACHERS’ KNOWLEDGE The three overlapping areas of knowledge explained t’s undoubtedly true that the quality of any are online interactive tutorials (to a point), as well as many MOOCs, including those from the Raspberry Pi Foundation. I education system is dependent on the quality of its teachers, and that the only way to get Technologyexcellent computer science teaching in every school isto get an excellent teacher of computer science in every Whilst many teachers do have a good level of technology skillsschool. But what should an excellent teacher of computer relevant for their broader professional role, I’m not sure thescience know? And what sorts of initial teacher training, or same is true when it comes to the specifics of programmingsubsequent professional development, is likely to produce and digital making. Even coding in Scratch seems a big stepexcellent teachers of computer science? up from creating presentations, and text-based coding, Back in 2006, Mischra and Koehler, building on earlier robotics, or data science make even bigger demands onwork by Shulman, developed the ‘TPACK’ framework: I teachers’ technical skills. Classroom confidence does seem tothink this provides one helpful way of attempting to address depend, at least in part, on being a master of the tools of onesthese questions. Put simply, TPACK recognises that there trade and, for the computer science teacher or digital makingare three overlapping areas of knowledge which teachers educator, these tools are typically quite complex, flexible,need: technological knowledge, pedagogical knowledge, and and powerful. Papert’s great insight, that learning happenscontent knowledge. Mishra and Koehler go into more detail in through making, applies to teachers as much as to their pupils:considering the interactions and overlaps between these three mastering the tools of our trade comes through using themareas, but let’s just think about the three areas in turn here. productively, creatively and (often) collaboratively: sign up for the next Picademy to see this in action.Content PedagogyI’m at risk of stating the obvious, but in order to teachcomputer science well, a teacher has to know some How we teach computing is interesting territory, and I’mcomputer science. Whilst we might argue that the role not sure that we can take this for granted. Most subjects inof the teacher is now much more ‘guide on the side’ than school have a long-established body of pedagogic practice:‘sage on the stage’, there seems to be fairly robust evidence we teach, very often, how we were taught. This doesn’tthat pupils learn most when their teacher does know what work for computer science: it’s such a different subject fromthey’re talking about. In developing the ‘Barefoot Computing’ ICT that we can’t assume what worked there works here,CPD for primary teachers, we started from the premise nor can those of us with a degree in CS simply take thethat teachers already knew how to teach and, by and large, practice from higher education and apply it in school. Forknew how to use technology, but most in primary schools me, this is what makes the subject so exciting: that teachersdidn’t know much, or any, computer science. Similarly the are by and large, figuring out for themselves what works:QuickStart guides I wrote for CAS/BCS were focussed generously sharing their insights with their peers throughquite tightly on giving teachers the subject knowledge they CAS hubs or CSTA chapters, as well as experimenting withneeded to teach primary and lower-secondary computing. innovative approaches and writing up their findings, as in theThere are many excellent resources out there for teachers BCS Certificate scheme.who want to learn computer science: books are great, as All of this, of course, takes time. Great as Barefoot, REFERENCES Picademy, the BCS Certificate and all the other initiatives are, none will work if teachers don’t have the time to participate Mishra, P. and Koehler, M.J., 2006. Technological pedagogical in these, integrate these different forms of knowledge, and content knowledge: A framework for teacher knowledge. try what they’ve been taught out for themselves. Teachers college record, 108(6), p.1017. Miles is principal lecturer in computing education at the Shulman, L. S. (1986). Those who understand: Knowledge University of Roehampton. He is a member of the CAS and growth in teaching. Educational Researcher, 15(2), 4–14 CSTA boards and the Raspberry Pi Foundation. helloworld.cc 97

“HELLO, WORLD!” Everything you need to know about the new computing and digital making magazine for educatorsQ WHAT IS HELLO WORLD? Q WHO MAKES A Hello World magazine is a new magazine for HELLO WORLD? computing and digital making educators. Writtenby educators, for educators, the magazine is designed as A The magazine is a joint collaboration betweena platform to help you find inspiration, share experiences, its publisher, Raspberry Pi, and Computing Atand learn from each other. School (part of BCS, The Chartered Institute for IT). Hello World is sponsored by BT. Q WHY DID WE MAKE IT? A There’s growing momentum behind the idea of putting computing and digital making at the heart of modern education, and we feel there’s a need to do more to connect with and support educators inside and outside the classroom. Q WHEN IS IT AVAILABLE? A Your new 100-page magazine will be available three times per year in time for each new term in January, April, and September. Would you like it to be available more frequently? Let us know! IT’S FREE! Hello World is free now and forever as a Creative Commons PDF download. You can download every issue from helloworld.cc. Visit the site to see if you’re entitled to a free print edition, too.98 helloworld.cc

WANT TO GET INVOLVED?There are numerous ways for you to get involved with the magazine. Here are just a handful of ideas to get you started:Give us feedback Tell us your storyHelp us make your magazine better – Have you had a recent success (or failure) youyour feedback is greatly appreciated. think the wider community would benefit from hearing? We’d like to share it.Ask us a question Write for the magazineDo you have a question for a FAQ section or abugbear you’d like to share? We’ll feature your Do you have an interesting article idea?thoughts and ideas. We’d love to hear from you.GET IN TOUCH Want to talk? You can reach us at: [email protected] US ONLINE SUBSCRIBEwww.helloworld.cc IN PRINT @HelloWorld_Edu TODAY! fb.com/HelloWorldEduMag PAGES 28-29 helloworld.cc 99

helloworld.cc100 (helloworld.cc)


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook