100 Ideas for Secondary Teachers: Outstanding Computing Lessons EXTRACT

Page 1


100 Ideas for Secondary Teachers: Outstanding Computing Lessons


Other titles in the 100 Ideas for Secondary Teachers series: 100 Ideas for Secondary Teachers: Outstanding Lessons by Ross Morrison McGill 100 Ideas for Secondary Teachers: Managing Behaviour by Johnnie Young 100 Ideas for Secondary Teachers: Outstanding Mathematics Lessons by Mike Ollerton 100 Ideas for Secondary Teachers: Outstanding English Lessons by Angella Cooze and Mary Myatt 100 Ideas for Secondary Teachers: Assessment for Learning by David Spendlove 100 Ideas for Secondary Teachers: Teaching Drama by Johnnie Young 100 Ideas for Secondary Teachers: Outstanding Science Lessons by Ian McDaid 100 Ideas for Secondary Teachers: Revision by John Mitchell 100 Ideas for Secondary Teachers: Outstanding Geography Lessons by David Rogers 100 Ideas for Secondary Teachers: Outstanding History Lessons by Emily Thomas 100 Ideas for Secondary Teachers: Engaging Learners by Jon Tait 100 Ideas for Secondary Teachers: Interventions by Laura O’Leary 100 Ideas for Secondary Teachers: Supporting Students with Numeracy Difficulties by Patricia Babtie and Sue Dillon 100 Ideas for Secondary Teachers: Outstanding MFL Lessons by Dannielle Warren 100 Ideas for Secondary Teachers: Stretch and Challenge by Paul Wright 100 Ideas for Secondary Teachers: Outstanding RE Lessons by Andy Lewis 100 Ideas for Secondary Teachers: Engaging Parents by Janet Goodall and Kathryn Weston


100 Ideas for Secondary Teachers: Outstanding Computing Lessons Simon Johnson


BLOOMSBURY EDUCATION Bloomsbury Publishing Plc 50 Bedford Square, London, WC1B 3DP, UK 29 Earlsfort Terrace, Dublin 2, Ireland BLOOMSBURY, BLOOMSBURY EDUCATION and the Diana logo are trademarks of Bloomsbury Publishing Plc First published in Great Britain 2021 Text copyright © Simon Johnson, 2021 Simon Johnson has asserted his right under the Copyright, Designs and Patents Act, 1988, to be identified as Author of this work Bloomsbury Publishing Plc does not have any control over, or responsibility for, any third-party websites referred to or in this book. All internet addresses given in this book were correct at the time of going to press. The author and publisher regret any inconvenience caused if addresses have changed or sites have ceased to exist, but can accept no responsibility for any such changes All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage or retrieval system, without prior permission in writing from the publishers A catalogue record for this book is available from the British Library ISBN: PB: 978-1-4729-8440-1; ePDF: 978-1-4729-8442-5; ePub: 978-1-4729-8441-8 Typeset by Newgen KnowledgeWorks Pvt. Ltd., Chennai, India All papers used by Bloomsbury Publishing Plc are natural, recyclable products from wood grown in well managed forests and other sources. The manufacturing processes conform to the environmental regulations of the country of origin To find out more about our authors and books visit www.bloomsbury.com and sign up for our newsletters


Contents Acknowledgements viii Introduction ix How to use this book xi Part 1: Programming strategies 1 Paired programming 2 Rubber duck debugging 3 Code golf 4 Game design 5 PRIMM 6 Parsons problems 7 Use-modify-create 8 Hour of Code 9 Code bug 10 Code combat 11 Teaching with robots

1 2 3 4 6 7 8 9 10 11 12 13

Part 2: Computing strategies 12 Take your screwdrivers to work 13 DART your students 14 Contextualise learning 15 Go unplugged 16 Socratic debate 17 Peer instruction 18 Game-based learning 19 Using QR codes 20 Escape rooms 21 Blogs and wikis 22 Flipped learning 23 Guided discovery

15 16 17 18 19 20 21 22 23 24 26 27 28

Part 3: ICT and digital literacy 24 Fake news 25 Copy cat 26 Mario KartTM spreadsheets 27 Fakebook 28 Database detectives 29 Did you meme it?

29 30 31 32 33 34 35 v


30 31 32 33

vi

Videography Infographics Dragons’ Den Wayback Machine

36 37 38 39

Part 4: Computing activities 34 What a waste! 35 Role reversal 36 Storage Top Trumps® 37 Little Man Computer 38 Features of a CPU (a lesson using DART) 39 Internet of things 40 The great input/output QR hunt 41 Moral Machine

41 42 43 44 46 47 48 49 50

Part 5: Computational thinking 42 Making the tea algorithm 43 Teaching with magic 44 Crazy characters 45 Puzzle me 46 Human robot 47 A-maze-ing algorithms 48 20 questions 49 Breaking the code 50 Origami algorithms 51 Guess the object

51 52 53 54 55 56 57 58 59 60 61

Part 6: Unplugged activities 52 Image compression 53 Bubble sort dance algorithm 54 World Wide Web unplugged 55 Intelligent piece of paper (AI) 56 Envelope variables 57 Card sort 58 Binary representation of images (unplugged) 59 How computers work 60 Memory 61 Network topologies

63 64 65 66 68 69 70

Part 7: Data representation 62 Binary addition 63 Binary numbers 64 Binary representation of images 65 Binary representation of sound

77 78 79 80 81

72 73 74 76


66 67 68

Binary bingo It’s all about hex ASCII ‘secret’ agent

Part 8: Exam preparation 69 Padlet 70 Round-robin revision 71 Revision podcasts 72 PEE (point, evidence, explain) 73 PechaKucha 74 Sketch-noting 75 Command word bingo 76 BUG hunt 77 Tweet IT 78 Revision speed dating 79 Match IT

82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

Part 9: Programming activities 80 Magic 8-ball® 81 Shakespearean insult generator 82 Chatting robot 83 Just dance 84 Adventures in text 85 Mad Libs® 86 Sorting Hat 87 Turtle power (a lesson using PRIMM) 88 Guess my number 89 Mind-reading algorithm 90 Cat and mouse 91 Reaction timer

97 98 99 100 101 102 104 105 106 107 108 109 110

Part 10: Computing and STEAM 92 Art attack 93 Lights, camera, action 94 Making music 95 Coding probability 96 Physical computing 97 Turtle snowflakes 98 Coding the weather 99 Rubbish robots 100 Colour splash

111 112 113 114 116 118 119 120 122 123

vii


IDEA 1

Paired programming ‘Sir, is it my turn to drive yet?’ For many, the idea of students working in pairs at a computer, especially if access to a computer is limited, is fairly common. However, even if you have the luxury of students being able to work on their own at a computer, you may still wish to consider students working in pairs, particularly when learning how to code.

Teaching tip Switch roles regularly to ensure that all the students get a fair share of being both driver and navigator. I find that setting a timer/alarm for five-minute intervals helps to manage the students’ time effectively and keeps them engaged!

Paired programming, as the name suggests, sees students working in pairs, with one taking the role of the driver (inputting the code into the computer) and the other assuming the role of navigator (reading out instructions and checking each line of code as it is typed in). Pairing students up makes sense for a number of reasons, even more so when learning how to code! Paired programming has been shown to improve overall confidence, produce fewer errors and increase engagement compared with learning to code individually. In fact, it is a practice that is widely used in industry by professional programmers. A word of caution! While at first it may seem beneficial to pair up higher-achieving students with those of lower ability, I find that this can have negative effects, as often one student may feel that they are being held back or another may take over completely. Experience shows that pairing students of similar ability seems to produce the best outcomes.

2


IDEA 6

Parsons problems ‘Help students to learn how to code by removing some of the barriers!’ When students move from block-based languages to textbased languages, they often get frustrated with syntax errors. One method that helps to reduce this frustration is ‘Parsons problems’.

Teaching tip You don’t need a computer to introduce Parsons problems. I find that eliminating computers altogether can further reduce confusion and frustration! I suggest starting by printing and laminating some code blocks or lines of code for students to sort.

Parsons problems are programming puzzles where a working solution to a problem has been broken up into blocks of code and jumbled up. Students are given the mixed-up code and challenged to reassemble the code in the correct order. Some Parsons problems, often referred to as two-dimensional Parsons problems, also require the code blocks to be indented correctly. Parsons problems can also contain extra lines of code, called distractors, which are not needed for the code to work. Although primarily used with text-based languages, Parsons problems can be used with block-based languages too! The idea is to allow students to focus on the core concepts, such as flow of control, conditionals and loops, without the frustration of syntax errors. Example of a Parsons problem with distractors:

Parsons problem Solution timmy = turtle.Turtle() import turtle window = turtle.Screen() window = turtle.Screen() timmy.forward(100) timmy = turtle.Turtle() timmy.right(90) for loopCounter in range(4): timmy.turn(90)   timmy.forward(100) For loopCounter in range(4)   timmy.right(90) for loopCounter in range(4): import turtle

8


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.