Professional Documents
Culture Documents
10 TIPS TO SUPPORT
INDEPENDENT LEARNERS
Keep your independent students engaged
and motivated with our expert advice
BACK TO CODE
BASIC
Using BASIC and GOTO to teach
CLUB
FOR
TEENS
the foundations of programming
IN SCRATCH
9- to 13-year-olds
APPROACHING
ASSESSMENT
Our international panel of experts discusses innovative approaches
OPEN-SOURCE
and technologies for assessing programming skills
RESOURCES
EMBRACING PLAY Computing has benefited
from open-source.
How play could make you a better educator Can education too?
LEARNING THROUGH HACKING WILL A COMPUTER TAKE YOUR JOB? CS UNPLUGGED MATHEMATICAL
PLUS
1
MUSINGS YOUTUBE CLASSROOM RASPBERRY PI & CODERDOJO MERGE WHAT DOES A PROGRAMMER DO?
(helloworld.cc)
GETTING GIRLS CODING APPS FOR GOOD AWARDS 2017 ASSIGNING VARIABLES SCHOOL LEADERS MATTER
CELEBRATING
EDITORIAL
SUBSCRIBERS SUBSCRIBE
IN PRINT Managing Editor
FOR FREE
Russell Barnes
russell@helloworld.cc
HELLO, WORLD!
TURN TO PAGE
32 Contributing Editor
Miles Berry
miles@helloworld.cc
W
elcome to issue three of Raspberry Oliver Quinlan explores assessment for learning
Sub Editor
Pi and BCS/Computing At Schools in computing. As Nicholas Tollervey remarks in
Rachel Churcher
magazine for digital making and CS his feature on life as a developer, Tests express
educators worldwide. how I expect my code to run, and well-tested DESIGN
For those of us in the northern hemisphere, code is better because writing tests makes you
Critical Media
were at the start of a new school year, with reflect on how your code should behave. Is
criticalmedia.co.uk
much enthusiasm and excitement about new something similar true for teaching?
Head of Design
courses, classes and clubs. The attention of Marc Scott provides some insights into the
Dougal Matthews
many English secondary teachers is likely to be connections between open-source software and
Designers
on the new Non-Examination Assessment that open educational resources. Hello World itself
Lee Allen, Mike Kay, and
now forms part of GCSE Computer Science is an open educational resource our content is Daiva Bumelyte
exa.foundations Alan ODonohoe provides an all published under a Creative Commons licence,
Illustrator:
excellent bluffers guide here. and wed love to share your news, views and Sam Alder
Were exploring more aspects of assessment lesson plans! Were launching a letters page in
Cover photography:
in this issues cover feature, with expert insights this issue, and would be very glad to receive
Brian OHalloran/Raspberry Pi
into how projects and questions can help contributions from any readers just drop us Foundation
students and teachers alike understand where a line at contact@helloworld.cc.
they are and where theyre heading. Elsewhere CONTRIBUTORS
in this edition, Chris Roffey discusses the Miles Berry Lucy Hattersley, Phil King, John Stout,
Bebras computational thinking challenge and Contributing Editor and Mark Wainwright
She is the creator of the Hello Ruby runs Exa.Foundation, a non-profit real-life geek girl, Cat is enthusiastic
books, bringing computational thinking organisation that promotes and supports about getting teachers and children
activities to 4- to 10-year-olds. computing and digital making. interested in coding and computing.
helloworld.cc 3
CONTENTS
COVER
FEATURE 20 80
GUIDE TO NEA
Bluffers Guide to Non-Examination
Assessments for GCSE CS
ASSESSMENT IN CS COMPETITIONS
Innovative approaches to testing and learning Motivating your class 62
06 NEWS
Whats new in CS education?
25 PARSONS PROBLEMS
A tool for learning
40 LEADERSHIP TOOLKIT
Seeking support from your school
and assessment leadership team
ONLINE VIDEO
14 Learning for the
YouTube generation
26 AUTOGRADING
Autograders for Scratch
42 ONLINE TRAINING
New courses from
and Snap! The Raspberry Pi Foundation
#INSIGHTS
16 The future is automated
28 DIGITAL BADGES
Online credentialing
44 LANGUAGE BARRIER
Teaching Python to EAL students
APPROACHES TO ASSESSMENT
20 Ideas for assessment in CS
34 PLAYFUL PROGRAMMING
Embracing creative coding
46 OPEN-SOURCE RESOURCES
The open education revolution
NEA LOWDOWN
21 An introduction to NEAs
36 BAREFOOT COMPUTING
Resources for teachers
59 RSA AND PRIME NUMBERS
Encryption techniques
ASSESSING PROGRAMMING
22 Judging the quality
of code
38 CS UNPLUGGED
New teaching materials
60
VARIABLES AND VALUES
Sharing and copying
24 MULTIPLE CHOICE
Writing robust questions
39 PHYSICAL COMPUTING
Getting excited about coding
62 COMPETITIVE LEARNING
Competitions for your students
4 helloworld.cc
34
CONVERSATION
10 TIPS
78 Teaching independent learners
BLUFFERS GUIDE
80 Your guide to the new NEA
FAQ
84 Your questions answered
PLAYFUL PROGRAMMING
Hello Ruby and Reggio Emilia LETTERS
94 Join the conversation
44 76 LEARNING
TUTORIALS & LESSON PLANS
SCRATCH PONG
PYTHON AND EAL WHITE HATS 48 Assess the abilities of your new Year 7
Does language matter? Hacking as a learning experience students with this simple activity
SCRATCH CLOCK
50 Learn about algorithms, and code your
own stopwatch
GAME DESIGN
64 SHOW YOUR WORKING
76
HACKERS IN THE CLASSROOM 52 Youre the client, and your students
Using exercise books in CS Cybersecurity and ethics
are the game designers in this cross-
curricular project
66 CAREER INSIGHT
What does a software engineer do?
88
BOOK REVIEWS
What were reading this term
SERVER-FREE SQL
56 Introducing SQLite3, a database-
BEAVERING AWAY EVENT GUIDE
68 Bebras and computational thinking 90 Part two of our guide to running
building Python library
70 TEACHING GOTO
Programming foundations MANY LANGUAGES?
98 Fluency and range in
BASIC LESSONS programming languages
71 Revisiting the BBC Micro
HANDS-ON MICRO:BIT
72 Hands-off teaching
73 SCRATCHJR
Programming with Year 1
SMELLY CODE
74 How sweet is your Scratch code?
helloworld.cc 5
NEWS FEATURE
he Apps for Good 2017 annual It was both exciting and daunting,
T
ENTER APPS FOR awards ceremony has taken place
at the Barbican Centre in London. The
said Kirsty and Savannah from Booksy
(helloworld.cc/2fpmk7C). After weeks of
GOOD 2018 event rewarded the hard work of young talking through, designing, and researching
tech entrepreneurs around the world, their app, they had the chance to present it
and students took the opportunity to to an audience of industry experts. Booksy,
Apps for Good is an educational movement
pitch their ideas to industry experts an app for simple and social note taking for
powering a generation to change their world
and partner tech companies. GCSE revision books, won the prestigious
with technology. Students aged 8-18 work
Information Category award.
together in teams to find real-life issues they
care about, and learn how to solve them using Solving problems with technology Now in its sixth year, Apps For Good
technology. Since the launch in 2010, its courses Finalists were selected from the 25,000 celebrates todays young tech entrepreneurs.
have been delivered to over 100,000 students students who created a technology The event, at the end of the school year, is a
in more than 1,500 schools across the UK product tackling the problem or issue they culmination of all the ideas, learning and hard
and internationally. care about. The prizes at stake, such as work that students and teachers have put into
Give your students the opportunity to be lucrative work experience opportunities the completion of the Apps for Good course.
award winners in 2018 by delivering the free Apps and mentoring from industry leaders, Prizes recognising the achievements of the
for Good course. For information on becoming an mean that the weeks leading up outstanding teachers who deliver the course,
educator, go to helloworld.cc/2vLaADm. to the awards can be tense for the as well as the dedication of the schools which
selected finalists. take part, are also presented on the day.
6 helloworld.cc
Pitching to the experts
All the finalist teams spent the morning
at accelerator sessions, perfecting their
presentations with the support of partner
tech companies. There was a buzz of
excitement as the teams arrived at the
Barbican ready to pitch to the panel of
experts. The team behind the Home Help
app (helloworld.cc/2ulBSzQ) summed
up the sentiment among the students:
We were really happy to get shortlisted
but a bit nervous. After working with our
accelerator, we were well prepared for
the presentation.
As everyone prepared to showcase
their ideas to the judges, the impressive
prototypes created by the Internet of
Things course finalists were a real talking
point among students, teachers and Apps
n Team Micro:gate, Maliha, Talia, Eden, and Macey (helloworld.cc/2ulqLCW), from Thornleigh Salesian
for Good team members. 2017 saw the IoT College, present their product, which aims to easily create GCSE science practical equipment
ASPECTS OF THE APPS FOR GOOD COURSE opportunities available to graduates of the
course. As the winners in each category
were announced, everyone could see how
course piloted in ten schools, and the ideas with a very difficult choice, as the products their hard work and determination had
on display at the awards were intriguing offered solutions to a wide variety of brought them this far. Teachers, students
and eye-opening. problems in very innovative ways. and guests left the awards inspired and
After presenting their ideas to the Everyones hard work culminated excited to continue working on their
dragons and their fellow finalists (which in the award ceremony, which was technology ideas.
many students found the most nerve-
wracking part of the day!) it was time
n The team from Holy Trinity CofE Primary School, David, Zamyrah, Hayden, Samiyah, Caleb and Kamira, bring
to head to the marketplace. their app Read:it (helloworld.cc/2uGjYDm), which helps children to read on their own, to the marketplace
Ideas showcase
The buzz of the marketplace was the most
fun part of the day and students say its
what they look forward to most. They have
the chance to showcase their ideas to
industry leaders, experts and professionals.
Everyone is excited, and students ideas are
brought to life with illustrated displays. The
marketplace is an impressive demonstration
of all the different aspects of the Apps for
Good course. The display of creativity and
teamwork behind the ideas proves how
much the teams achieve on top of the
technical aspects of the course.
As well as inspiring the guests at the
marketplace with their ideas, the students
other aim was to win votes in the prestigious
Peoples Choice Award. Guests were faced
helloworld.cc 7
NEWS FEATURE
ode Club is expanding to cover 11-13 age group, and to collect feedback on existing projects. A particular favourite among
C older students, aged 11 to 13 how Code Clubs new projects would work students was Rock Band, a project where
years. From September, the popular coding with an older age range. students compose songs from the current
clubs will be officially supported for 9- to We asked them to try out some projects, charts using new instruments. Games such as
13-year-olds globally. and they told us whether they were too hard Beat The Goalie also proved popular. This
There are currently almost 6000 Code or too easy, says Sarah Sheerman-Chase, became a competition amongst the students
Clubs in the UK, and already more than 600 Participation Manager for Code Club UK. to see who could make their game most
of them are in secondary schools, says Maria We spoke to a teacher who has been difficult, Stewart tells us.
Quevedo, Director of Code Club UK. running a Code Club for 11- to 13-year- Following feedback from the trial
olds. Natalie Stewart, Subject Leader for programme, Code Club has released new
Student feedback Computing and ICT, and STEM Coordinator resources based on Sonic Pi, an open-source
Code Club chose 50 of those schools to run at Hadley Learning Community, told us: programming environment that can be used
a pilot programme during the summer term. The students were more than excited at the on any computer to make music using code.
The programme was used to understand how prospect of more challenging projects. Until New resources include building drum loops,
Code Clubs are currently working with the now, they have been enjoying Code Clubs creating special effects, and a live DJ project.
n Older Code Club children can mentor, and look after, younger recruits
8 helloworld.cc
START A CODE CLUB
Anybody can set up or volunteer at a
Code Club. As a Code Club leader, youll
play an essential part in helping children
gain useful skills; not just in coding, but
in problem-solving, planning, design,
and collaboration.
You dont need to be a programmer, and
you can learn along with the students. All
you need is a venue, computers with web
browsers, and children aged 9-13. Visit the
Code Club website for more advice on how
to get started: helloworld.cc/2vBdlXz
n Code Clubs free resources can be thought-provoking for older students
We think they will be very popular Mentoring younger students says Quevedo. For example, Code Club could
with teenagers, says Sheerman-Chase. The Code Club resources were invaluable be a good thing to do on induction day, and
Code Club is also planning to launch new said Stewart. Eventually, the students were we know of schools where the older students
projects in the Autumn term for more running the Code Club and supporting each support the younger ones at Code Clubs.
advanced students. other, especially new recruits. It is this change
Support and resources
Teachers of 9- to 13-year-olds can access all
helloworld.cc 9
NEWS FEATURE
CS4FN MAGAZINE
A new free magazine for primary schools
he CAS London team behind history, science, music, and art. The pilot
T Computer Science for Fun has issue explains how the Romans invented
created a new free magazine for primary- pixels, so they could have mosaic floors
aged pupils called A bit of cs4fn. The anywhere in the empire. Another feature
pilot issue of the magazine combines explains how Victorian Countess and
articles with games and puzzles. mathematician Ada Lovelace foresaw the
A bit of cs4fn is designed to help key ideas behind the digital age.
girls and boys to become computational We also investigate whether an
thinkers for fun, says Paul Curzon, invisibility cloak could ever become a
Professor of Computer Science at Queen reality, says Curzon; and the magazine
Mary University of London. explores what machine learning is all
The magazine mixes computing with about to explain how our brains work.
topics from other subjects, supporting Sign up for free copies of A bit of cs4fn
n The pilot issue of A bit of cs4fn. Image credit: A bit of cs4nf numeracy and literacy while drawing on at abitofcs4fn.org.
10 helloworld.cc
ROYAL SOCIETY COMPUTING
EDUCATION REPORT 2017
Teachers can download the 2017 report from October
he Royal Society is due to launch A well-taught curriculum should cover Teachers need more support and
T its new report into the provision these three strands, said Do Quy, so that investment, said Do Quy.
of computing in UK schools. young people are equipped with the skills to The 2014 reform moved the curriculum
The report is influenced by thrive in our digital world. away from an ICT approach, to one
evidence gathered from individuals
and organisations who are interested
in computing. Teachers will be able
to download the report in October A COMPUTING CURRICULUM NEEDS TO
FOCUS ON THREE AREAS: IT, DIGITAL
from the Royal Society website,
at helloworld.cc/2hFn755. LITERACY, AND COMPUTER SCIENCE
The new report follows the Royal
Societys seminal 2012 report, Shut
down or restart? (helloworld.cc/2vibUdX). Recruitment of computing teachers also focused on computational thinking skills.
The old national curriculum in ICT has needs to be addressed. Only 68 percent While there is widespread enthusiasm
been discontinued said David Do Quy, of the recruitment target is reported for the new subject, it has not yet reached
Computing Project Leader at The Royal to have been met, which is lower than the same level of uptake at A level as the
Society. In its place, we have a computing in any of the sciences. The report will old ICT qualification. Do Quy notes that
curriculum with three areas: IT, digital outline actions to address the shortage more work needs to be done to grow
literacy, and computer science. of computing teachers. the subject, especially for girls.
helloworld.cc 11
NEWS FEATURE
RASPBERRY PI MERGES
WITH CODERDOJO
Teaming up to deliver more for young makers and coders
12 helloworld.cc
WHAT IS
CODERDOJO?
Aimed at young people between the
ages of 7 and 17, CoderDojos are free,
community-led programming clubs for
anyone curious about coding. Whether
thats building websites and apps, or
just figuring out how technology works,
Dojos have always offered freedom from
hardware and software restrictions any
The merger will allow CoderDojo to reach why Raspberry Pi will be bringing all
tool is fine, as long as youre coding.
even more young, enthusiastic makers and of the capabilities and expertise of The
The CoderDojo mission is to give
coders. Well hear more about these plans Raspberry Pi Foundation to support the
every young person an opportunity to
soon, but Rosa did reveal that part of the growth of the CoderDojo movement
learn and create with technology, as
strategy review includes mapping the path around the world. spokesperson Rosa Langhammer puts it.
to 5,000 Dojos [worldwide] by 2020. The CoderDojo Foundation team is Key to the movement are the
But, the first priority, Philip tells us, is really excited, says Rosa, and is looking volunteer Champions who set up the
to make it as easy as possible to set up and forward to working with a wider team Dojos. If you or your organisation would
like to set up a Dojo, the CoderDojo
Foundation will help you get started.
helloworld.cc 13
OPINION
I
remember writing my first computer program (helloworld.cc/2hktjzb), a YouTube channel full to the brim
on a BBC Micro as if it was yesterday. It was with content for teachers at every stage of their computing
of course during a maths lesson in which I had journey. Videos include tips and tricks on how to teach
already completed the set work, so I was allowed to use the particular concepts at different key stages, learning how
computer! Logo was my favourite typing commands to to plan a scheme of work, and even how to engage under-
make pretty geometric pictures on a monitor was exciting. represented groups.
The BBC Micro has a lot to answer for. It inspired a Some CAS TV videos also explore creativity and innovation
generation of computer enthusiasts and professionals like me, with leading developers. Genevieve Smith-Nunes looks at
and led to the development of the Raspberry Pi Computer how dance can represent data (youtu.be/uIj7DMCHdkA),
and other small form factor programmable devices. But and Andrew Fitzgibbon introduces computer vision and
what was really revolutionary about the BBC Micro was machine learning (youtu.be/AqEqTQeQ2DI). Many of the
its accompanying television series, called The Computer videos are delivered by practising teachers in both primary
Programme, where you could learn to use it alongside the and secondary schools, including Phil Bagge and Rebecca
host, Chris Searle. Franks, as well as leading teacher trainers like Miles Berry,
Before this TV programme, the most common way to Jane Waite and Alan ODonohoe. It is quickly becoming the
learn about computers and how to program them was one-stop shop for a short burst of professional development.
through magazines and books, or even the trusty computer Learning with online video has become so popular that
manual. The availability of video tuition really helped me, whole courses have been developed for video delivery, for
and now 30 or so years later we have video-based platforms
that provide content on every aspect of computing, computer n Access bite-sized CPD from leading teacher trainers on the CAS TV YouTube channel
science and technology. They can help us both develop our
subject knowledge as computer science specialists, and
support our students through all the stages of their learning.
14 helloworld.cc
n Practical lessons from Geek Gurl Diaries
Skills-based videos are a great way to supplement student
and teacher development, especially in programming. When
Im trying to work out how to write a function in an unfamiliar
language, Im often drawn to find the answer through online
video. I learnt lots about Python thanks to Trevor Paynes
video tutorials. They start off with the basics of computer
programming and expand to cover broader and deeper
topics (helloworld.cc/2w2pceq).
Embracing video
While teaching in a state secondary school in Dagenham,
example on the Open Universitys FutureLearn platform, I noticed two things: most of the students who had chosen
or Harvard and MITs edX. In the last few years, this MOOC my subject were boys, and they would often search for
(massive open online course) structure has moved towards supplementary material not on Google, but on YouTube.
developing educators as well as teaching students. The I decided that I would start to create online video content that
Teaching Computing course (helloworld.cc/2f55FWX) from demonstrated my passion for computer science and digital
The National STEM Learning Centre and the University making, as well as what I was learning or teaching at the
of East Anglia is available free of charge, and can be time. My channel, Geek Gurl Diaries (helloworld.cc/2ugI7Ad),
was a real labour of love outside the classroom.
Recently, Ive taken a break from producing
Learning with online video has become content to work on Crash Course Computer
so popular that whole courses have Science, and learn from the professionals how to
make great educational videos. However,
been developed for video delivery I will continue to create content for my channel,
and I encourage you as a computing education
worked on at your own pace. This year The Raspberry Pi practitioner to do the same. Youll help your students even
Foundation launched a number of courses on FutureLearn more than you already do, and without realising it youll also
(helloworld.cc/2uye60k), including Teaching programming help many more learners around the world.
in primary schools, Teaching physical computing When I think back to how I learned about computer
with Raspberry Pi and Python, and Object-oriented science, I know that video played a key role. When I think
programming in Python (more details on page 42). The about my continued learning in this field, I know that
MOOC model also includes plenty of social interaction, I turn to video first to find what I am looking for. When
with the FutureLearn platform promoting lots of discussion it comes to teaching, I make videos for others to learn
points and opportunities for comments. from. Lets embrace online video even though Im sure
we will never be able to compete with the original title:
Content for students The Computer Programme.
One of the best features of online video is that it can be
played over and over, slowed down or paused. There Carrie Anne Philbin is Director of Education at
were days when I wished I could replay my teachers The Raspberry Pi Foundation, a Computing At School
explanations, especially when I was revising! Online board member, author and YouTuber.
videos can also be used to help supplement the teaching
of difficult concepts for students. n Find free high-quality educational videos for everyone on the Crash Course YouTube channel
Sometimes understanding how the ALU works, and
then being able to explain it to someone else, or even
answer an exam question on it, can be difficult. Thankfully,
the team behind the successful YouTube channel Crash
Course has created an entire series on computer science
(helloworld.cc/2ugM0ox), supported by PBS Digital
Studios. The videos break down concepts into ten-minute
chunks of explanation, with animations to show what
is happening. Another great channel is Computerphile
(helloworld.cc/2hkMtVP), which boasts videos all about
computers and computer stuff, and is really fun to watch.
Resources like this make great homework or revision
exercises, and give students that extra support.
helloworld.cc 15
RESEARCH
#INSIGHTS
ASSESSMENT FOR LEARNING
Diagnose your students learning needs by asking the right questions
ention assessment in schools themselves. When this is executed well, Assessment revolution
M and most people think of tests. students are given feedback as they This work led to many developments in
Memories of creaky exam halls and learn and have the opportunity to act schools, with the government in the UK
regulation stationery may come first, on this feedback immediately. Its about taking up assessment for learning, teachers
but there are several developments in the teacher not just delivering and then being trained to regularly assess students
assessment that can change how we assessing later, but regularly checking for learning within lessons, and students being
think about discovering what students understanding and adapting their teaching. provided with feedback to act on as they
have learned. Its also about the learners getting regular learn. More recently this approach has
Back in the late nineties, Black and insight into how they are learning and, been supported by Hatties meta-analysis
Wiliam challenged educators views on crucially, having an opportunity to act on of influences on achievement in schools,
assessment with their seminal work Inside the feedback they get and ensure that they which puts feedback at the very top in
the Black Box, which popularised the are making progress. The assessment is terms of the size of the measured effect.
idea of assessment for learning. They designed to serve the students learning, Truly effective formative assessment is
suggested an approach which brought and not to certify that they have achieved not just about finding out whether students
assessment into the learning activities a set standard. have got it yet. Its about understanding
GETTING
GIRLS CODING
he challenges around gender and
T computing are well documented,
with women under-represented in
technology jobs and in classes studying
for computing qualifications. Lots of
people are trying different approaches
to addressing this problem. Dr Claire
Image: CoderDojo Dn Laoghaire
16 helloworld.cc
how they are thinking about a topic, what questions themselves are put together. If Centre for Evaluation and Monitoring to
misconceptions or naive understandings a question has a correct answer and three bring this approach to computer science.
they have, and how your teaching or their laughably implausible answers, then it Project Quantum is a two-year project
activities can be adjusted to address this. wont be a useful tool. However, if each exploring the potential for crowdsourcing
Given the abstract nature of computing, the answer represents a different level of diagnostic questions for the computing
potential for misconceptions is very high. understanding, or a common misconception, curriculum, and using them for formative
then the answer the student gives is useful assessment. They have been encouraging
Diagnostic questions even if it is the wrong one. Imagine being teachers to add questions to the platform,
Ed tech company Diagnostic Questions is told after an assessment not just who and use the questions that have built up
seeking to address this with their online in a class had got the right answers, but already, with their students to help them
assessment platform. Diagnostic Questions why those who got it wrong did so, and better understand their learning. This
assessments look familiar at first: multiple potentially what misconception you need project brings the potential of a relatively
choice questions with four answers. to address for each group of students. new approach to assessment to computer
Multiple choice questions have been given For the last 18 months, Diagnostic science teachers, and a chance to better
a bad reputation by some educators, but Questions has been working with understand how students make sense
their quality all comes down to how the Computing At School and the Durham of difficult topics.
Girls-only coding than girls. It could also reinforce the idea or involving lots of jargon, were much less
Quigley looked at data from 36 CoderDojos that girls do not usually code. There was successful in attracting girls. The effect of
in Scotland. These informal programming some evidence from a Dojo that organised descriptions that are attractive to girls was
events had tested several initiatives to a sequence of girls-only sessions that this much stronger than the effect of the off-
encourage more girls to get involved in their longer experience gives girls a chance to putting descriptions, so its important to
activities. Some tried girls-only introductory develop attitudes which move past these avoid things like jargon, but also to actively
sessions as a way to create an environment stereotypes. The dataset for this was small, describe activities in a way that makes
that girls might find more attractive to but 40 percent of girls from this initiative went girls want to get involved.
get involved in. on to attend mixed CoderDojo activities. These findings are closely linked to
The girls-only events did attract girls cultural contexts, so the effects in other
to attend and have a go at programming, Descriptive challenge parts of the world are likely to be different.
providing an important introduction to The work on descriptions showed that how However, they offer both an interesting set
the activity. However, this did not translate an activity is presented may have a large of recommendations for trying to attract more
into more girls graduating from these effect on the proportion of girls. Descriptions girls to informal computing activities, and a
introductory sessions to attend the mixed emphasising creativity, familiarity, and reminder that it is always worth collecting and
sessions. Quigley suggests that this may with specific descriptions of what young looking at data to see whether the initiatives
be because an introductory session is not people would do attracted more girls. Those educators implement are working as intended.
enough to overcome the cultural trope that emphasising competition, teamworking, You can read the full report here:
boys are more suited to technical subjects the need to publicly showcase your work, helloworld.cc/2uZ124z
helloworld.cc 17
RESEARCH
set them a programming problem and and they are likely to be successful. Repeat helloworld.cc/2tZXFsy
then tick off whether they have used a this several times, with a clever algorithm
n D
iagnostic Questions:
Loop or an If statement, showing that they to keep track, present them with the right
diagnosticquestions.com
have understood those things. However, combinations, and you can come up with
real-life programming is often more about a scale. These rankings have been shown n P
roject Quantum:
the elegance of the design of a solution. to be very reliable even more so if you helloworld.cc/2jAJXL3
What if the most accomplished student involve several people as judges.
n N
o more marking:
doesnt use the things you have on your This method has been shown to work
www.nomoremarking.com
checklist? This is a particular problem when well even for judging things for which we
18 helloworld.cc
WILL A COMPUTER
TAKE YOUR JOB?
s self-driving cars and blockchain- New technologies are moving in intelligence. In the UK, think tank
A based smart contracts become a surprising directions, though. Increasingly Nesta has been making the case for
reality, what will be the impact of artificial clever sensors and nimble robotics, the importance of creativity in education
intelligence on our working lives? coupled with artificial intelligence, are to prepare young people for the future
Oxford academics Frey and Osborne set moving into non-routine manual tasks this paper depicts.
out to quantify this complex situation in their in manufacturing. Routine cognitive Its not yet clear what the full
seminal paper The Future of Employment. tasks such as searching documents implications of this work are for educators,
They found that although there has often and assessing fraud are already being but it is clear that the future holds huge
been concern from workers about the impact
of technology, historically, across the labour
market as a whole, people have adapted. In
the nineteenth century, mechanisation led to
WE FACE A HUGE TEST OF OUR CREATIVITY
AS INDIVIDUALS, AND AS A SOCIETY
deskilling as the tasks of artisans were moved
to factories. However, increased productivity
brought the development of new jobs, and automated, with even surprisingly complex challenges for the young people they
workers adapted to the new skills required. tasks such as the work of junior solicitors work with. Sticking to the tried and tested
In the twentieth century, many manufacturing already being replaced by computation. is unlikely to be the safe bet it used to
jobs were automated by increasingly capable The researchers then used this be, something made very clear by the
technology, but the boom in cognitive understanding of technological capabilities challenges to junior positions in the
work involving information created new and types of task to assess which of traditionally high-status legal profession.
opportunities for workers. People have been todays jobs are most susceptible to being As automation continues to expand into
very good at adapting, learning new skills, replaced by automation. the non-routine tasks in the job market,
and finding new opportunities. we face a huge test of our creativity as
Person or machine? individuals, and as a society, to make
New technologies How many jobs are at risk from these new sure we can cope with the changes
The past alone cant predict the future, so Frey technologies? The answer, in the USA at that are coming.
and Osborne studied the latest developments least, is quite a shock. 47 percent of jobs
in artificial intelligence, machine learning, and were classified as being at risk, including
mobile robotics to find out what these new most of the transport industry, office, and THE FUTURE OF
technologies are suited to. They categorised administration roles, and the majority of EMPLOYMENT: HOW
jobs on a scale of manual (physical tasks) manufacturing and production roles. SUSCEPTIBLE ARE JOBS
to cognitive (thinking tasks), and routine The next question to answer is what
TO COMPUTERISATION?
to non-routine. In the past, it was routine wont be automated? The bottlenecks
manual jobs that became automated, and for technological development identified BY Carl Benedikt Frey and Michael Osborne
new opportunities have been created in non- in the study are sensing, manipulation, URL helloworld.cc/2vtmNMG
routine manual and cognitive tasks. creative intelligence, and social
helloworld.cc 19
FEATURE
APPROACHES TO
ASSESSMENT
Assessment is a thorny topic for many teachers. Here, an international panel of experts
discusses innovative approaches and technologies for assessing programming skills
20 helloworld.cc
NEA FOR GCSE
What are exam boards looking for in the non-exam assessment
Rob Leeman
Rob is a product
manager for ICT and
Computer Science
at CIE, and managed
the redevelopment of
(NEA)? Rob Leeman lifts the lid on the practical element of
Computer Science at A level and GCSE for OCR.
Computer Science GCSE, and how it is assessed
W
e cant explore how programming
is assessed without first looking at
This of course can be supported by using
cheat sheets and the Resource Bank (see
USEFUL LINKS
the assessment objectives (AOs). The AOs box). The project should be approached in
Ofqual AO document: helloworld.cc/2uC7wWU
for GCSE Computer Science were designed an iterative development cycle, and OCR
to allow both practical and theoretical suggests the use of their Process for Success. Resource Bank blog: helloworld.cc/2vIM6r7
assessment of the subject, and all exam This is a simple system development life cycle
questions and NEA tasks are mapped process, best applied to each component and design portion is where a candidates
against these objectives. You can find the within the task as a whole. Not all candidates ability to demonstrate their knowledge and
official Ofqual AOs on their website (see are expected to complete all component understanding of the decomposition and
box). AO3 is concerned with candidates parts, so this is essentially differentiation abstraction is assessed. A good project will
demonstrating their ability to analyse by outcome, as stronger candidates will be well designed and will also consider
problems in computational terms, and (most complete most or all of the component tasks. robustness, functional design, data types,
importantly for the NEA) to design, program, This allows all candidates to access the full input sanitisation, and testing, and should
evaluate and refine solutions. range of marks. include graceful degradation.
One thing to impress upon candidates Even with the best plan in the world, a good
What makes a good project? is the need for thorough planning. Many project falls over if the implementation is not
Preparation is key. Candidates should be candidates rush the analysis and design adequately evidenced. Candidates should be
able confidently to apply the techniques phase, and dive straight into development, drilled in how to evidence their development
in the specification to solve computational but there are lots of marks available in the work and regularly capture evidence of their
problems in their chosen language. The analysis and design section. These should code, fully explaining what is occurring and
tasks are mapped against the techniques, so not be ignored, as a good design makes the how it links to the designs. This element does
knowledge of their application is essential. implementation much easier. This analysis not need to be verbose, but must demonstrate
the candidates understanding.
NEA or no NEA?
While the NEA seems to cause much anxiety
among Computer Science teachers, it remains
an important tool in assessing a candidates
ability to apply their knowledge in a practical
fashion to a problem that could not be
approached in a formal exam setting. This
method of assessment, while fraught with
regulatory problems and issues of malpractice,
is still the closest we can get to how computer
science is applied in the real world. It is a
fantastic experience for candidates as well as
preparing them for A level and further study.
The NEA may be daunting, but the alternative
is equally problematic. Hopefully after the
first series we will see the true value of it, and
n OCRs Process for Success
appreciate it as part of GCSE assessment.
helloworld.cc 21
FEATURE
COMPREHENSIVE
David J. Malan
David is Gordon McKay
Professor of the
Practice of Computer
PROGRAMMING
Science at the Harvard
John A. Paulson School
of Engineering and Applied Sciences.
He is the instructor for CS50.
ASSESSMENT
Doug Lloyd
Doug is Senior Preceptor
in Computer Science at
the Harvard University
Determining whether a program works neednt Division of Continuing
Education. He is the
be the only goal of assessment course manager for CS50.
etermining whether a students At CS50, we grade the answers to all code, and to put them into a mindset of
D code is correct is an important those questions on the axes of scope, style, continuous improvement. We rarely give
consideration. Indeed, whether one uses and design, respectively; in addition to out a perfect score in design at any point
an autograder, or benchmarks student correctness. It is design, however, that well through the school year, as there is almost
code through a series of manual unit tests, discuss further here. always some area where improvement
its fairly easy to determine whether a can be made. We ourselves are in a
student has considered the solutions to What to look for mindset of continuous improvement, and
your test cases in their solution. While If correctness asks the question Does it we feel that if we can find opportunities
correctness is important, there remain work? then design asks the question How to better design our own staff solutions
other questions to consider. does it work? Our goal in assessing design to our problem sets (and year after year,
For example: is to get students thinking critically about we almost always do), then our students
the decisions they are making in their should be able to as well.
n D
id the student at least attempt to
solve the program at hand, even if
they struggled along the way with
syntax, such that their code might not
compile? Particularly among those
less comfortable, rewarding effort
reminds students that its normal and
OK to struggle.
n I s
it actually possible to read the
students code? Poor indentation
(unless programming in Python!) and
no commenting might not matter to
the processor, but to an instructor it
can cause quite the headache!
n H
ow efficient is the students
code? If the program is correct, but
takes 15 minutes to run, is it all
that useful?
n CS50 staff grading student work at a grading party
22 helloworld.cc
Image credit: CS50, cs50.harvard.edu.
Trade-offs
n Students get help from CS50 staff members during office hours
n W
as the code broken into seen multiple different solutions to the same students code, either using a test harness
functions or subroutines problem, and is familiar with common errors. or via manual execution of the code.
where appropriate? That said, the qualitative feedback received (Does it work?)
helloworld.cc 23
FEATURE
MULTIPLE CHOICE
Cynthia Selby
Cynthia is Senior Lecturer and
PGCE Computer Science Tutor,
University of Southampton, and
Can you really use multiple-choice questions Member of the CAS Project
Quantum Content Group.
to assess programming and computational thinking?
o teachers ask questions just for assessment in the context of medicine for
D fun? Or do they ask questions to many years. However, teachers tend to use
find out what their students know and them more formatively: to identify what needs
do not know? Multiple-choice questions to be taught or reviewed, and to help students
(MCQs) offer the advantage of being improve. The box on the left lists some top
quick to mark, and have the potential for tips for MCQ writing.
gamification. How can MCQs can be used
to assess programming concepts and Distractors and challenges
computational thinking? The importance of good distractors should
not be underestimated. Trying to predict what
n This question demonstrates assessment of tracing and predicting
Question design a student does not know can be challenging.
All MCQs should be based on sensible design When choosing the alternative incorrect
criteria. You can find lots of advice, based responses to an MCQ, consider the types of
on very good research, about designing misconceptions you have identified among
MCQs. They have been used for summative your students. For example, if a student uses
a box analogy for a variable, they may believe
24 helloworld.cc
PARSONS PROBLEMS
Mark Guzdial
Mark is a professor in
the School of Interactive
FOR ASSESSMENT
Computing at Georgia
Institute of Technology,
USA.
helloworld.cc 25
FEATURE
AUTOGRADING
Michael Ball
Michael is a Software Engineer
FOR SNAP!
at Gradescope, an online
grading platform, as well as
a researcher and developer
working at UC Berkeley with
The Beauty and Joy of Computing. Recently, he
Mark your students projects with Lambda, an autograder earned an MSc in Computer Science Education
from UC Berkeley, where he developed the
for Snap! Michael Ball explains how it works autograder for Snap!
T
eaching computer science has long
relied on autograders, programs
to an expected value. More complex tests
can input the properties of a sprite, such as
USING AUTOGRADERS
that can execute students programs and its pen colour or position, or the structure of
Q: Should autograders replace manual review?
provide feedback and scores, all with the script itself. For example, when working
minimal work from the instructor. However, on a draw square program, we can assert A: Probably not, especially with new
block-based languages such as Snap! that a student uses a repeat block with programmers. You can often use them
and Scratch have been largely left out an input of 4, to guide them towards together to get fast (but generic) feedback,
from the development of these programs a specific solution. along with more personalised feedback
something we discovered when, two As with all traditional autograders, it is that might take a little longer to return
years ago, we endeavoured to bring our worth mentioning that our approach is not to students.
course, The Beauty and Joy of Computing, perfect. It is impossible to account for all
to the online world via edx.org. To scale for solution types that students may create, Q: Are there any projects where the autograder
thousands of students, we experimented and we must be careful not to stifle each doesnt work well?
with Lambda, an autograder for Snap! students own progress. We have tried to A: The more free-form the assignment, the
Lambda consists of two components: an develop our autograders to check whether more challenging developing an autograder
augmented Snap! environment that runs students have attempted a solution, rather will be. In particular, assessing creativity
the autograding programs, and a web than whether they have a perfectly correct is incredibly challenging. Sometimes its
server with a database of questions. solution. For exercises such as sorting a list better to leave out the autograder, because
or generating Fibonacci numbers, it is clear fast but inaccurate feedback can be
How an autograder works when a solution is correct, and this is where confusing to students.
The autograder augments Snap! with the autograder is most useful.
scripts (written in JavaScript) that allow The second component of Lambda is
authors to execute students code in the a website that contains exercises that Writing autograders
background and run a series of tests to teachers can assign to students. The website Today, Lambda represents a beta version of
generate feedback. The most common are allows students to access and retrieve their autograding, but teachers who are interested
input/output tests that call a reporter block submission history for a particular exercise, can get started at lambda.cs10.org, where
with some inputs and compare the results enabling students to experiment freely. you can play with example exercises.
We plan to use the However, if you are interested in connecting
collective submission autograders to your own course or writing
history to improve your own test cases, please get in touch by
the feedback given writing to contact@bjc.berkeley.edu.
in future exercises. Finally, through this autograding
Teachers can choose work, we have been developing some
to integrate the Snap! projects that will allow anyone to
autograders into experiment with writing tests for Snap!
their own courses, blocks directly within Snap! This project
so that students can can be a starting point for writing more
automatically receive complicated autograders or practising test-
grades in their schools driven development. Anyone is free to use
n The test results for a simple noughts and crosses game: this shows one passing and one incorrect test normal grade book. the project at bjc.link/testing-in-snap.
26 helloworld.cc
ASSESSING SCRATCH
Jess Moreno-Len
Jess is a former
secondary school
teacher. He leads
Analysing your students Scratch projects can be difficult Programamos, a Spanish
and time-consuming. Why not automate the evaluation non-profit organisation,
while working on his doctoral thesis at
of computational thinking skills? Universidad Rey Juan Carlos, Madrid.
helloworld.cc 27
FEATURE
ONLINE
CREDENTIALING
FOR DIGITAL
MAKING Dr Doug Belshaw
Doug is a former teacher
and school senior leader
who has worked in
universities and with
Learning new programming techniques and approaches can be the non-profit Mozilla
tough. Open Badges provide a way to scaffold learners attention, Foundation. He is now a consultant working
witha range of organisations around the world.
and provide a tangible record of success
hat do Naace, the BBC, and criteria by which they were issued, and can do a poor job of preparing people
W CoderDojo have in common? links to evidence justifying the award. for the diversity and complexity of the
Other than being supporters of young Organisations as large as City & Guilds, modern world. We need ways of capturing
people getting to grips with coding, they Microsoft, and Salesforce are getting on students skills and behaviours, as well as
are also issuing new digital credentials board with Open Badges, while theyre scaffolding the valuable knowledge that
called Open Badges. These badges can be also being issued by volunteers running grounds true learning.
issued by anyone for anything - in these after-school clubs. Millions of badges Chunky credentials such as GCSEs, A
examples, theyre issued for teacher CPD, have been issued in the last few years levels, and degrees make it difficult to peer
learning how to program the micro:bit, to hundreds of thousands of individuals inside and figure out what an individual
and levelling up via increasingly-complex around the world. knows and can do in practice. In addition,
projects, respectively. Why are badges so useful? Well, these credentials are often analogue
Open Badges arent mere stickers, employers and educators are finding it artefacts in an increasingly digital world.
though. Theyre digital images full of increasingly frustrating that credentials We need a solution that works as fast as
metadata: information such as the gained via high-stakes examinations our digital world changes.
n Thanks to Code Kingdoms (helloworld.cc/2uhp4sO) and CoderDojo (helloworld.cc/2tNlanT) for permission to print their digital badge images
28 helloworld.cc
Image courtesy of Bryan Mathers. Used under a Creative Commons Attribution-NonCommercial licence.
n Open Badges allow us to paint a much more holistic
picture of learners knowledge, skills, and behaviours
helloworld.cc 29
FEATURE
LINKS
TAKE A LINEAR, SEQUENTIAL APPROACH,
OR MIX THINGS UP TO MAKE LEARNING
Open Badge Academy: helloworld.cc/2vqztkl
30 helloworld.cc
CASE STUDY
CODERDOJO
oderDojos are informal after-school Part of a community
C club environments centred around Statistics from our 2016 Annual Survey have
encouraging and inspiring self-directed shown that 47 percent of Dojos globally are
learning and peer-to-peer learning in using a method of reward and recognition.
young people, by giving them the tools and Dojos are currently using methods such as
supports they need to learn and collaborate. end of term certificates, presenting coloured
Rewarding and acknowledging young USB belts for certain levels of achievement, or
people for their participation and learning at the use of either digital or physical badges to
CoderDojo is a core part of our ethos. assist with recognising the achievements of
young people, while keeping them motivated
Digital recognition and engaged.
We noticed that young people were learning Awarding ninjas (youth attendees) badges
a whole host of new skills at their Dojos, for their achievements in a Dojo allows them
and in many cases these skills were not to build a digital portfolio, showcasing not
being recognised or rewarded. To address only their abilities, but the new skills that
helloworld.cc 31
SUBSCRIBE
Sign up today for a year - prices start at FREE!
BOOK
WORTH
15
Sent to all UK-
based subscribers
Subscribe Today
et three
G
term-time issues
ave them delivered
H
directly to your door
ello World is not
H
available in stores!
32 helloworld.cc
HOW TO SUBSCRIBE
V
isit us online: Call our subscriptions hotline:
helloworld.cc/sub1year +44(0)1202 586848
SUBSCRIPTION FORM
YES, Id like to subscribe to Hello World magazine!
This subscription is: For me A gift for someone
HW#3
YOUR DETAILS Mr Mrs Miss Ms GIFT RECIPIENTS DETAILS ONLY Mr Mrs Miss Ms
First name ........................................ Surname .................................................. First name ........................................ Surname ..................................................
.................................................................................................................................... ....................................................................................................................................
Are you a UK-based educator? Yes No Is the recipient a UK-based educator? Yes No
If youre giving Hello World as a gift, please complete both your own details (left) and the recipients (right).
Your Hello World subscription will start from issue #3, unless you specify the issue number here: ..............................................................
RETURN THIS FORM TO: Hello World Subscriptions, Select Publisher Services Ltd, PO Box 6337, Bournemouth BH1 9EH. Well be in touch!
Please tick this box if you DO NOT want to subscribe to the Raspberry Pi Foundation Education newsletter (no spam).
helloworld.cc 33
FEATURE
STORY BY LindaLiukas
nspiration for becoming a better For me, computing was magical, wrote a whimsical note in an early artificial
I technology educator can be charming and imaginative - but the intelligence paper on how we should
found in unlikely places. What if Roald materials teaching it were often dull teach computers like children, teaching
Dahl had been a programmer? And what and uninspiring. them to learn to learn. I realised creativity
does a tiny Italian town have to do with was something that was built into
programming pedagogy? Programming as make-believe computing education, but that somehow
When I first started writing storybooks Most of my childhood was spent in a very we had lost it.
about programming, I knew almost nothing immersive world of make-believe. My Whenever I asked educators about play
about pedagogy. I enjoyed programming, siblings and I built small villages in the and programming, they would direct me to
but I mixed Piaget with Papert and didnt woods for Moomins, and created galactic apps that gamified learning. Programming
differentiate between computational thinking maps around Star Wars heroes. On the education was experienced through
and constructivism. I just had a strong sense asphalt in our front yard we sailed in a challenges, collecting points, or winning
of the kind of world Id like to create. self-made raft and imagined a mysterious competitions. But the type of programming
sea around us. I really enjoyed was full of other types
This is the way I relate to programming, of play: finding and giving support,
n C
reativity and collaboration When I decided to learn programming HAS TO DO WHAT WE WANT IT TO DO.
Even though the instructions a programmer back in 2009, using narrative as a learning THE HUNDRED LANGUAGES OF CHILDREN:
gives to a computer need to be exact, in tool was a natural fit. I was learning a THE REGGIO EMILIA EXPERIENCE
the right sequence, and carefully named, programming language called Ruby, and IN TRANSFORMATION
programming is also highly creative. Try every time I ran into a word or concept
with a friend to instruct each other on I didnt understand (like what is object-
how to brush your teeth, and see how oriented programming or garbage
many different ways there are to give collection) I would try to explain the
the commands! concept as a six-year-old girl called Ruby
would explain it. This project eventually
n Debugging and persistence turned into a series of books explaining
Learning to program is all about learning and celebrating computing from the tiniest
to overcome mistakes. Even the best Booleans to immense algorithms.
programmers forget a semicolon from
Luckily, on my journey to writing about
time to time, and need to go back and find
computing in early childhood, I quickly
the mistake.
stumbled upon the work of Seymour
Papert and Alan Kay. Even Alan Turing
34 helloworld.cc
n Building a computer out of paper and getting to know the components
inside it. Download this free exercise athelloruby.com/play
The hundred languages of children a dolphin doctor need?, What is the Computational thinking concepts are more
In an Italian town called Reggio Emilia I worlds most dangerous animal?, or What fascinating when we notice their presence all
finally found the framework of thinking I if my paper computer could print candy? around us. Inspired by Reggio, Ive practiced
needed to create Rubys world. Reggio Throughout the process of exploring and making computer science concrete, specific,
Emilia is an educational approach for experimenting they learn about abstraction, and understandable to the child. A computer
preschool and primary education, named collaboration, and media literacy, and can take a thousand forms.
after the town where it began. From they develop a plethora of powerful ideas I wish to see programming become one
tool in a big box of self-expression along
with crayons, blocks of wood, prisms,
to learn alongside paper, ruler, pens and single concept to teach. Reggio also suggests www.helloruby.com
movement. One of the hundred languages. that we shouldnt use words as shortcuts to
n T
he Hundred Languages of Children:
The second thing I fell in love with in knowledge. Computer science is riddled with
helloworld.cc/2tiQVXk
Reggio Emilia was the open-ended nature of abstract words like functions, Booleans and
projects that can take all sorts of twists and decomposition. But what does a loop feel like? n U
nderstanding the Reggio Approach:
turns. Many of my own favourite exercises And can we find conditionals in the everyday Early Years Education in Practice:
start with kids posing questions that interest surroundings of kids, such as the way they helloworld.cc/2syy79u
them like What kind of a computer would choose clothes for a rainy or sunny day?
helloworld.cc 35
FEATURE
BAREFOOT CLASSROOMS
Five ways Barefoot is helping educators
ast issue we reported that the services. So far, Barefoots resources have could work with it and feel that they were
L Barefoot Computing Project had been really well received throughout all our beginning to deliver something.
reached one million primary school children schools. Its an easy resource to implement
in the UK. We asked four leading education we havent had any difficulty at all You dont need any technology to use it
figures whats driving this success. in our schools. Barefoot provides resources that make
Joy Christie, acting Deputy Head it easy for teachers to get started on a
Its easy for teachers to follow Teacher at Inverbrothock Primary School journey to teach computational thinking.
Barefoot is very intuitive and attractive, in Arbroath, Scotland, agrees that Barefoot The resources have been designed
offers Katy Potts, Islington Councils is easy to use. The instructions and all specifically to be accessible to teachers who
computing and e-safety lead for childrens the lesson plans go step by step. Anybody are otherwise unfamiliar with computing
and technology.
Irene Bell is Head of STEM at Stranmillis
University College in Northern Ireland.
The fact that she has a huge amount of
experience in computing might suggest that
she would lean towards some of Barefoots
more complex resources, but she advocates
the projects hugely accessible unplugged
activities, which dont require the use of
any technology.
If youre not confident in any of the
coding languages, then this is an activity
that will be directly relevant to what youre
teaching in the classroom. Irene, who trains
new teachers, adds: You wont have to step
arefoot offers free training and resources
nB
to primary school teachers in the UK out of your comfort zone.
36 helloworld.cc
To demonstrate her thinking, Irene picks
out Barefoots Tut, Clap or Jive activity, which
encourages pupils to simply use their bodies
to begin their computational thinking journeys.
FURTHER
INFORMATION
To register for free resources and book a free
arefoot resources introduce computational
nB teacher workshop, visit barefootcas.org.uk
thinking skills to primary school pupils
helloworld.cc 37
FEATURE
CS UNPLUGGED
The CS Unplugged project is releasing completely revamped resources aimed at teachers.
Tim Bell introduces the new format
STORY BY Tim Bell
he CS Unplugged project
T (csunplugged.org) has become
widely used in schools for teaching
computer science concepts without having
to use a computer. We have found that it is
popular because it uses familiar materials,
and removes the barrier of having to
learn programming before students can
engage with deep concepts ranging
from binary representation of data to classroom use. The new material is now unplugged activities. The Plugging it
parallel algorithms. being released, and the changes include: in challenges for students range from
The material was originally developed very simple programs to advanced
25 years ago to support outreach to n P
resenting material as lesson plans challenges, so teachers can choose a
schools, but now that computer science for teachers level to suit their students. All challenges
has become a mainstream subject in many include a working solution, currently
countries, there has been a demand to n E
xplicitly
linking the activities to primarily in Scratch, but with Python and
provide it in a format more suitable for computational thinking concepts other languages to be added. The addition
of a programming follow-up is based on
n P
roviding Plugging it in follow-up research that shows the value of integrating
programming challenges to enable unplugged and computer-based learning.
students to connect the ideas to The material is all available under
digital devices a Creative Commons Attribution-
ShareAlike licence, which means that
n A
more flexible way to print customised teachers are free to copy and edit it. The
worksheets (for example, choosing the source for the new version is available on
level of difficulty, such as the range of GitHub. It is built on new software that
numbers used) supports presenting the material online and
in print, and enables others to contribute.
n C
urriculum integration suggestions, with The project is supported by funding
learning outcomes and follow-up projects from Microsoft Philanthropies and Google
touching on areas as diverse as art, Inc, and some of the content has been
music, literacy, and biology supported by a grant from the New Zealand
Ministry of Education.
Plugging it in CS Unplugged can be found
The lessons have been adjusted based atcsunplugged.org. Youll find links to both
on feedback from classroom teachers, the new material (which is being gradually
n One of the integrated activities asks students to create a bead and feature new activities based on recent added over the next few months) and the
necklace, bracelet, or bag-tag that represents the students name in
binary. Image fromcsunplugged.org curriculum changes, as well as classic classic version of the site.
38 helloworld.cc
OPINION
GETTING PHYSICAL
The Nerdy Teacher, Nicholas Provenzano, explains how getting physical
with computing can inject excitement into the classroom
helloworld.cc 39
FEATURE
chools have made significant strides Slow progress high achievers as there are not enough
S in developing computer science as Curriculum development works in different confident teachers; the senior leadership
a subject. The number of students taking ways in primary and secondary schools. think they were right not to prioritise it
GCSE computer science has grown, and In primary, step-by-step development is in the first place; and Computer Science
primary teachers are reporting significant possible. Teachers can try a few things, remains a minority option.
increases in their confidence to teach building up the subject as their confidence Perhaps this is a caricature of the
computing. However, introducing a new grows. Secondary schools are different. reality in secondary schools, but there is
subject is challenging. We have some The need for schools to timetable teachers, enough feedback from teachers to raise
way to go before computer science is students and rooms within a highly concerns, and we know that support from
established as a subject in the way that, structured school curriculum makes a the schools senior leadership is essential
for example, history or geography are. gradual development impossible the if a subject is to flourish. So how do we
The feedback from computer science school either offers GCSE Computer convince school leaders that computing
teachers getting to grips with the curriculum Science, or it doesnt. is important, and worth the necessary
is that a supportive school leadership team I was talking about computing with investment of time and scarce resources?
can make a significant difference. Where an old colleague, who is now the head
school leaders provide support, the subject teacher of a large London secondary What school leaders think
flourishes; where they do not, computing school. Putting it bluntly, he said, with While researching the CAS Leadership
teachers face an uphill struggle. It was for all the accountability there is now, why Toolkit, I spoke to a number of secondary
this reason that CAS, with support from a should I take the risk of running a new school leaders and their representatives
Microsoft YouthSpark grant, developed a GCSE with staff who arent confident they about the challenges they face and how
toolkit for school leaders. can get good results? Feedback from they have addressed them. What struck
CAS Regional Centres also suggests that me most was that the head teachers
a vicious circle is developing in some who were most supportive were those
secondary schools the senior leadership who got it they understood the value
decides not to prioritise computing; of computing for the life chances of the
computing teachers are not released young people in their schools. They
for training; GCSE is offered only to stressed the importance of a clear vision
n The Leadership Toolkit contains a series of leaflets designed to help teachers and
school leaders to provide excellent computer science education
40 helloworld.cc
for computing and how it fits into the creative people. They thrive on solving
schools wider aspirations for all its problems, and will find creative solutions
students. Derek Peaple, Headteacher to the challenges.
at Park House School, was clear that While setting a vision and providing
placing and protecting computing at visible support are clearly important,
the heart of the curriculum is essential the introduction of computing represents
to developing the next generation a significant change with implications
of creative, innovative, and digitally for staffing, CPD and resourcing. These
confident young people. implications need to be managed, and
This suggests that, notwithstanding are linked to the school leaders strategic
the pressures, most school leaders are role. As Dr Richard Marshall, Principal of
driven by a desire to do whats best for Royal Greenwich UTC, has said: In their
the students in their schools. They are strategic role, school leadership teams
proud to go beyond the merely regulatory need to ensure that the change is properly
requirements. We shouldnt be surprised implemented, monitored and evaluated.
at this: no head teacher wants an epitaph
that reads She did everything that the Using the Leadership Toolkit
DfE and Ofsted required. Articulating The Leadership Toolkit is deliberately
a compelling vision and purpose for short all the school leaders we spoke to
computing is a necessary first step for stressed how busy they were. It has been
gathering senior leadership support, and sent to all secondary schools in hard copy.
here we have one serious disadvantage Weve designed the toolkit as a set of
computing is new. While virtually all leaflets again, this is deliberate. We know
secondary heads could explain why well- that theres always the risk that busy school
helloworld.cc 41
FEATURE
ONLINE TRAINING:
THE STORY SO FAR
Six months ago, The Raspberry Pi Foundation launched its online training courses.
Lauren Hyams looks at what theyve learnt from the experience
STORY BY Lauren Hyams
OBJECT-ORIENTED
PROGRAMMING IN PYTHON:
CREATE YOUR OWN ADVENTURE GAME
Learn object-oriented programming principles
by creating your own text-based adventure game
in Python. The course is aimed at educators who
have a bit of programming experience, but have
never programmed in the object-oriented style.
The course is hands-on, giving you a chance
to apply your new knowledge by completing a
range of programming tasks.
42 helloworld.cc
EDUCATOR IN FOCUS
MARTIN CADDY
Headteacher,
Stokeinteignhead Primary School
As the Headteacher of a small village primary
school, I cover the time when the class
teachers have planning sessions away from the
classroom. Since the introduction of the 2014
Image: Melissa Huch / Digital Harbor Foundation
launch two free online CPD training courses expand the conversation to include hundreds The primary programming course contained
a lot of subject knowledge I already had. This
on the FutureLearn platform, available of educators all over the globe. Hearing
course was really great for developing my
anywhere in the world. Since the launch, educators thoughts on how it felt to make
pedagogy, as it introduced and encouraged
more than 11000 educators have joined something and what they learnt from it has
concepts such as tinkering and testing, as
our Teaching Programming in Primary been amazing from beekeeping and building
well as developing planning and evaluation
Schools course, and more than 18000 have flat-pack furniture, to various triumphs and
processes with learners. Many of the ideas
joined Teaching Physical Computing with disasters in the kitchen!
from this course are quickly transferable
to the classroom.
THE TWO COURSES ARE SCAFFOLDED I found that both courses were full of
practical, hands-on activities, which really
helloworld.cc 43
FEATURE
TEACHING PROGRAMMING
TO EAL STUDENTS
How can we support computer science students who dont speak English as their first language?
STORY BY Cat Lamin
44 helloworld.cc
n It is important that we allow children to
become excited about coding, no matter
My gut instinct is that the latter method
what their first language happens to be would be a more effective way to support
the learning of Python for a non-native
English speaker. However, it is important to
be aware that some students may be able
to effectively use abstraction to understand
the code without learning or understanding
the language. They might prefer to learn
the code and then retrospectively learn the
English language.
helloworld.cc 45
FEATURE
OER Global Logo by Jonathas Mello is licensed under a Creative Commons Attribution Unported 3.0 Licence
n the 1980s Richard Stallman, At the time, many companies were web servers, supercomputers, and
I
a young hacker at MIT, grew producing closed software that was embedded computers. It powers Googles
frustrated with the way that software impossible to decode, and was often Chromebook, the Raspberry Pi, and many
was being produced and licensed. licensed so that altering it in any way peoples desktop computers as well. Linux
would be illegal. Stallman founded the now contains around 15 million lines of
Free Software Foundation, and began code, with less than two percent of that
46 helloworld.cc
n Open-sourcing software and educational resources can make them more robust and easier to use
Get involved
There are many ways to distribute your
The open education resources which they are shared, meaning that they work to learners and educators. You could
movement can be republished, edited, and used free simply upload your work to any cloud
If this model works so well in the field of of charge all without having to ask for the storage provider and share the links on
software development, couldnt it also authors permission. social media. You could convert yourslide
work in the field of education? Educators The OER movement started at the turn of show to a video, add a voice over, and
the world over produce lesson plans, slide the millennium, as first MIT, and then other upload it to YouTube. There are also some
shows, worksheets, websites, video tutorials, educational institutions around the world, sites that cater specifically for OER. For
diagrams, and even whole courses to help began to place their courses online, for free. instance, the Open University operates
their students learn. Too often the fruits As the number of institutions offering free OpenLearn Create, and ISKME operates a
of their labour lie dormant in their desk or open courseware increased, UNESCO platform called OER Commons.
drawers, or stored away safely on USB flash organised the first Global OER Forum in Then there are more specialised
drives, waiting for the next academic cycle 2002, where the term OER was adopted. sites, such as Computing At School,
that allow hosting of
OER. The Raspberry Pi
helloworld.cc 47
LESSON PLAN
AGE RANGE
11 years
LESSON TYPE
SCRATCH PONG
Laura Sachs creative task assesses how well your new Year 7 students
Programming understand basic programming concepts as they join you from junior school
REQUIREMENTS
t the start of the school those who have not used Scratch What happens to the ball?
Scratch A year, students arrive from a chance to familiarise themselves Can you add something to make
junior schools far and wide to with the environment and the the ball keep moving (i.e. move
join secondary school computing programming concepts. forever)? (figure 2)
classes. Some will have covered The following instructions can be
the primary computing curriculum provided to students, who can use
extensively whilst others will the coloured text to help them figure
have barely scratched the surface. out which blocks they need. The
Use this project as a basis for additional images could be provided
assessing your students current to those students who are unfamiliar
skill levels, and to work out the with Scratch.
gaps in their knowledge.
1. Creating the Ball Figure 2
FURTHER READING
The original Pong game: helloworld.cc/2vMTamE
Video of the original gameplay: helloworld.cc/2vaQPVH
Figure 4
48 helloworld.cc
ASSESSMENT
THE CHALLENGE
You can allow students to try out each others games, and also incorporate
a peer assessment task, as long as you are careful to model the kinds of Create a Pong game in Scratch using
responses you wish to see. A page full of I loved it responses isnt much movement, variables, and logic
use to anyone!
W
hat do you think <name> could improve about their program? Apply these concepts to create an
original game
W
as there anything in <name>s program you could have used in yours?
H
ow do you think <name> programmed their <x> sprite to do <y>? Peer assessment
some numbers will produce much (figure 6). their score should increase by one.
better results than others. n If one players score becomes
Challenge: Is there a better way of equal to a certain level, the game
Figure 6
making your ball bounce off the walls? should display a winner message
and reset the scores back to 0 for
3. Creating the paddles a new game.
Draw a new sprite to represent
the paddle.
Drag blocks into the work area
to make the paddle work:
n S
et the start position of the
paddle
n W
hen the up key is pressed,
helloworld.cc 49
LESSON PLAN
AGE RANGE
7-10 years
LESSON TYPE
CLOCKWORK CODING
Explore repetition and variables by coding your own stopwatch and clock in Scratch
Visual / block- STORY BY Jon Chippindall
based coding
ne of the joys of learning tools, which they can go on to use process, consider where repetition
REQUIREMENTS O to code is realising that in other subjects such as science plays a role, and write the algorithm
we can become creators of the and maths. to help with their coding. Pupils
Computer technology we might normally The activity is in three stages. then code a stopwatch in Scratch
running Scratch reach for in an app such as a First, students create a human before finally adapting this code
2.0 for stopwatch or clock. In this lesson model of a stopwatch, giving them to drive the hands of a clock face.
each group students program their own timing time to decompose the counting To extend the challenge, pupils
can create further clock faces and
Mini
enable the display to be toggled
whiteboards
and pens for
THE CHALLENGE between them.
unplugged
elements
C
an students write the algorithm for a stopwatch,
and identify how repetition plays a role?
C
an students translate their algorithm into code using
repetition commands and variables?
C
an students adapt their code to drive the hands on
a clock face?
OPTIONAL
C
an pupils switch between different clock faces,
including a digital clock? n Figure 1: How pupils stopwatch code might look notice
the variables needed were seconds, minutes and hours
50 helloworld.cc
FURTHER READING ALTERNATIVE ACTIVITY IDEAS
This idea comes from a Barefoot Computing resource. This lesson can be adapted for different
Example program: helloworld.cc/2vaA0tR age groups:
This lesson focuses on algorithms, repetition and variables. The following 5-6 years Using ScratchJr
Barefoot Computing resources may be helpful (sign-up required): Students could create a program in a simple language, such as
ScratchJr, with links to time and repetition. For example, a program
Barefoot Computing on Algorithms: helloworld.cc/2uBwuHt in which their sprite says something or changes appearance
every ten seconds.
Barefoot Computing on Repetition: helloworld.cc/2w37t5H
Barefoot Computing on Variables: helloworld.cc/2v0IcfC 11-13 years More challenging programming
Can students create a digital clock? One way this could be achieved
is by using sprites for each digit of the clock face, with multiple
Human stopwatch pointing to the right with the sprite
costumes. The variable values can then be used to switch these
Whenever possible, encouraging centre at the base - this will make costumes (see the example program in the Further Reading box).
students to first act out the system the geometry far easier!)
they are trying to create can be Using the variable values to drive
Physical Computing
incredibly powerful in helping them our clock hands is now simply a
Can students program a micro:bit or CodeBug to show a stopwatch
to break down the steps in the matter of geometry. Figure 2 shows
on their displays?
process, and start thinking about the code for the second hand. Why
Can students try making a physical clock driven by motors or
how they might translate this into are we multiplying by six? Can
servos connected to a Crumble controller? Challenge the students
code. Start by putting students in pupils work out the code for the to move the hands accurately bearing in mind that most servos
groups of three (seconds, minutes, remaining hands? can only move through 180 degrees.
hours), with a mini whiteboard and
pen each, and get them to become
a human stopwatch (perhaps not ASSESSMENT
the most accurate one!). Lead a
discussion as a class to determine
the algorithm for the stopwatch. What is your algorithm for the stopwatch? Why?
Where is repetition present? When n Figure 2: Why are we multiplying seconds by six to give
helloworld.cc 51
LESSON PLAN
AGE RANGE
7 - 10 years INTRODUCING
GAME DESIGN
LESSON TYPE
Block-based
programming
REQUIREMENTS
Inspire students as young as eight to design and program their own games
Scratch 2.0
with collaborative and resilient working
Google Docs
STORY BY Nikki Cossey
52 helloworld.cc
THE CHALLENGE
Follow the game design process: The game requirements are that their
game should:
W
hat are the requirements?
Have clear instructions on how to play
C
ome up with an idea and do some research
Be about a historical event that took
D
esign the interface
place in London
W
rite the pseudocode algorithms for your game
Not be too easy!
C
reate the game in Scratch - first artwork, then code
Have a colourful, appealing interface
T est, test, test
End appropriately, by winning or losing
R
epeat steps 4, 5 and 6 until its perfect!
Have sounds
4 students. The creative industries feasible. The game requirements OPTIONAL REQUIREMENTS:
are usually project-based and are in the header, so they are
collaborative, and I aim to replicate constantly reminded of the Have another level
this with my game design unit. success criteria.
The first step in the game design
process is the requirements, which Teaching computer Keep track of score
are essentially the success criteria science concepts
and extension tasks. I pretend A project this collaborative and Have a timer
to be their client and tell them open-ended could be difficult for
that this is what their game must a teacher to manage. However,
have. Students find this role play the game requirements impose concepts of sequence, repetition,
motivating. They imagine they are some limitations on the students and selection, and how to control
working in the games industry and ideas, and close monitoring of the a character using the arrow keys.
having to satisfy a client. Working planning stage ensures that their Most know how to create a
collaboratively on a Google Doc, games are achievable. I also only scroller game, since it is simply
students decide on an idea, do let them create one of three types moving from left to right, and they
research, design the interface and of games: platformer, scroller or have created animations in Scratch
write pseudocode algorithms. The maze. They know how to make where a character has moved
Google Doc is shared with me, a maze game as they made one along the stage. A brief class
and I track their progress, provide in Year 3 when they learnt about discussion and demonstration will
feedback verbally or as comments, Ancient Greece and Theseus and remind them of the blocks of code
and ensure their game idea is the Minotaur. They learnt the required to create these games.
They should only need teacher
ASSESSMENT assistance if their character jumps
(if they choose a platformer
game), or if they complete
H
ow did planning help you when creating your game? the core game and move onto
the extension tasks.
W
here did you use sequence, selection, and repetition in your game?
Step four of my game design
W
hat problems did you encounter? How did you overcome them? process is writing algorithms. I show
them how to write pseudocode,
helloworld.cc 53
LESSON PLAN
emphasising that they must use An example of a groups algorithm: n Switch backdrop to Win
basic English, a bulleted or numbered
list, and specify the Scratch blocks Algorithm for title screen: n W
hen on win screen put a trophy
needed. They write the pseudocode n When green flag clicked in the middle
algorithms for each of their
interfaces. Some will need reminders n P
lay button will appear. It is a sprite n H
ave a sprite that has a button
that algorithms are instructions that says start again and on the
for the computer not the player! n Bridge is now in the background other side have a button that says
One group member can consult the quit game
Scratch menus to identify the names n W
hen play button/sprite is clicked
nS
cratch code for of the blocks they require while the change to backdrop 2 and hide n T
he trophy will have fireworks
making a sprite jump
and collect coins
others write the algorithms. play button. around it.
54 helloworld.cc
or Jump block. Students curiosity
or ambition is often a cue for
ALTERNATIVE ACTIVITY IDEAS
me to provide tips or advice to
reinforce existing knowledge, Explore and make
or teach them something new, Adapt this project to challenge other age groups.
which they can implement in their
game straight away. This results Unplugged
in deeper learning and more long-
Students design a game using a storyboard template.
term retention, as it is a form of
enquiry-based learning.
7-10 years - Programming
Finishing the game Students use variables to keep track of score and lives.
The student creating the game Students design games using advanced computer science concepts:
n Scratch code for moving a sprite screen has the most coding to make sure the game requirements are more complex.
do, so their project becomes Students make their game then use Makey Makey to create a controller.
When their algorithms are the main project when the
sufficiently precise, and their others in the group finish their 11-13 years Text-based Programming
planning is satisfactory, students interfaces. Backdrops, sprites Students use a programming language such as Python to create
sign up to a class I created using and code from group members a simple game.
my Scratch educator account. shared projects are put into
One student creates the title the backpack and transferred
screen, one creates the game to the main project. Students and similar to help sheets. It
screen, another makes the win take it in turns to assemble the also ensures that you remain a
screen and another makes the lose main project while the others facilitator by guiding students
screen. They design the necessary advise paired programming to code and debug their own
sprites and backdrops then of sorts. If students need more games resiliently.
start coding. help with coding, they can follow Groups will finish at different
times. While other groups catch
up, there are extension tasks
FURTHER READING
must show and the play button
should disappear. They are able
to select blocks independently
to manage events in their game,
A completed game from one
and control how a player wins of my student teams:
and loses.
helloworld.cc/2h5FT5k
The computer science
concepts I reinforce with my Commonly required code
Year 4s are sequence, selection, for games in my studio:
and repetition, and I introduce
procedures where they define a helloworld.cc/2vbxBz6
custom block to create a Reset n A game based on the Great Plague
helloworld.cc 55
GUIDE PART 1
atabases underpin our electronic Getting started When working with databases, the term cursor
D lives. A significant number of IT Make a new Python file and give it a name doesnt refer to a pointer on the screen it is
systems, including websites, games that describes what it is going to do, which actually an acronym (CURrent Set Of Records).
consoles and mobile phone applications, is to create a new database and make a The cursor can perform many operations in a
rely on databases to function. When user table. Create Database or Create database, including holding the data that is to
learning about databases, many students User Table would be suitable. Open the be added to the database, or storing the data
and educators face the challenge of setting file, import the sqlite3 library, and make returned from running queries. You will use the
up their own databases when they dont a connection to the database: cursor in several ways in this tutorial.
have an SQL server to connect to. A
solution to this problem is to use SQLite, import sqlite3
which is free and open-source. It creates with sqlite3.connect("users. Creating a table
a local database, stored in your document db") as db: The next step is to make our first table,
folders rather than on a server. cursor = db.cursor() which is designed to store basic information
SQLite is used by developers. It is about users.
useful if you are developing an application If the database users.db doesnt already
that uses a database, but dont want exist, the program will create it. If it does, import sqlite3
the application to have to connect to an this line will make a connection to the with sqlite3.connect("users.
SQL server. database that you can refer to later by db") as db:
There are various ways to work with using the variable name db. A cursor is a cursor = db.cursor()
SQLite, but Python (from versions 2.5 database object that is used to manipulate cursor.execute('''
onwards) features a standard SQLite library. data. There are commands associated CREATE TABLE IF NOT EXISTS user(
In this tutorial I will show you how to set up with a cursor such as cursor. userID INTEGER PRIMARY KEY,
a database that will store users details. We execute(), which will run a query, and username VARCHAR(20) NOT NULL,
will then write some code that will allow cursor.fetchall() which collects the firstname VARCHAR(20) NOT NULL,
users to create their own accounts. results of the query for you to use. surname VARCHAR(20) NOT NULL,
password VARCHAR(20) NOT NULL);
''')
56 helloworld.cc
FURTHER READING
Full SQLite tutorial:
helloworld.cc/2uhjYKV
helloworld.cc 57
You may want to change the code above
to give the user the option to exit the system
- they might decide not to create the account
because theyre annoyed that their favourite
username has been taken.
With this step we have constructed a
different type of query. The query find
user needs to take in the data stored in the
variable username. The problem is that we
cant enter the variable names, as it would
read them as strings, not as the values being
stored in the variable. You may be used to
replacing variable values in a string with % and
n SQLite output from the password validation check
declaring them later, but this method leaves
us open to the potential of an SQL injection
attack. Instead we use ? where we need to input("Please enter a username: reenter your password: ")
insert a variable. ") while password !=password1:
On the next line, where the cursor executes with sqlite3. print("Your passwords
the query, we can tell the database what to connect("Quiz.db") as db: didn't match, please try
use instead of the question marks: cursor. cursor = again")
execute(findUser,[(username)]) db.cursor() password =
Next, we need to check whether the query findUser = ("SELECT * input("Please enter your
has returned a value. To do this we use the If FROM user WHERE username = ?") password: ")
statement if results. If it has, we know cursor. password1 =
the username has already been taken. If it execute(findUser,[(username)]) input("Please re-enter your
returns nothing, we know were ready to if cursor.fetchall(): password: ")
proceed with the account creation process. print("Username insertData = '''INSERT
Now we want to ask the user to enter their Taken, please try again") INTO user(username,firstname,
details, do some more validation to check that else: surname,password)
theyve entered the password correctly, and found = 1 VALUES(?,?,?,?)'''
finally to execute a query to insert the values firstName = input("Enter cursor.execute(insertData,
into the database. your first name: ") [(username),(firstName),
surname = input("Enter your (surname),(password)])
def newUser(): surname: ") db.commit()
found = 0 password = input("Please
while found ==0: enter your password: ") To call this function you need to write
username = password1 = input("Please a line of code outside the function:
newUser(). Test your code by adding a
new user to your database, as well as trying
to add a user that already exists.
You have connected to a database
and successfully added data. Can you
create another function that logs a user
into your system by checking that their
username and password match the records
in your database?
58 helloworld.cc
OPINION
MATHEMATICAL MUSINGS
Mark Thornber introduces RSA encryption and the mathematics of prime numbers
odern encryption methods are based on the Government agencies from all major nations employ
helloworld.cc 59
OPINION
ASSIGNMENT:
SHARING OR COPYING?
We think of variables as name/value associations, abstracting from address/bit pattern
associations, but what exactly are values and what happens when we assign them?
o begin with, lets recall that, for most Suppose that variable identifiers are aliases for
formal parameters) and the heap (for compound data DECLARE a INITIALLY 0
structures like arrays and records). DECLARE b INITIALLY a
SET a TO 1
60 helloworld.cc
OPINION
3 3 4
2 d 2 d 2
c 1 c 1 c 1
stack heap
(i) (ii) (iii)
DECLARE c DECLARE d SET c[2] TO 4
INITIALLY [1,2,3] INITIALLY c
Array variable to variable assignment with address sharing. After assigning a structure type
from a source variable to a target variable, changing via the source changes the target
Assigning array variables: sharing As before, cs value is a heap address (i). But now, ds value
Lets assume that the value of an array variable is the is the heap address of a copy of the array addressed by c (ii).
address of the first element of the array. Suppose, first of Thus, changing an array element via c doesnt affect d (iii).
all, that assignment between array variables copies the Few contemporary languages, apart from C, support
array address. Figure 2 shows the effects of: copying assignment of structures.
Ancient languages, like FORTRAN and Pascal,
DECLARE c INITIALLY [1,2,3] distinguished sub-program parameter passing by value, i.e.
DECLARE d INITIALLY c copying, from passing by reference, i.e. sharing, but these
SET c[2] TO 4 are misnomers. In all programming languages, assignment,
of which parameter passing is one form, is implemented
After the first declaration, cs value is the arrays address as bit pattern copying. The key question is what the bit
in the heap (i). Initialising d from c copies that address, so patterns represent, which in turn depends on the language
c and d appear to share the array (ii). Thus, changing an and the implementation.
element of the array via c will be picked up if the array is
accessed via d (iii). Greg Michaelson is interested in the design,
This is the approach taken by Java and, in effect, Python. implementation and analysis of programming languages,
especially for multiprocessors. He has taught programming
Assigning array variables: copying for nearly 40 years.
Suppose instead that, for an array assignment, the whole
array is copied. Figure 3 shows the effects of the previous
program fragment.
3 3
1 1
3 3 4
2 d 2 d 2
c 1 c 1 c 1
stack heap
(i) (ii) (iii)
DECLARE c DECLARE d SET c[2] TO 4
INITIALLY [1,2,3] INITIALLY c
Array variable to variable assignment with copying. After assigning a structure type from a
source variable to a target variable, changing via the source doesnt change the target
helloworld.cc 61
FEATURE
COMPETITIVE LEARNING
Programming perseverance produces prizes: when your learning objectives include to win a grand!
STORY BY Neil Rickus
62 helloworld.cc
BEBRAS
URL: BEBRAS.UK
AGES: 6-18
helloworld.cc 63
OPINION
his is not an attempt to convince you to switch All pages are numbered and we give clear
finished this article. Some readers will work in schools n All drawings to be done in pencil
with standardised policies regarding the presentation n All self-marking to be done in black ink
of student work. Some schools demand that students n All peer-marking to be done in green ink
use ring binders or exercise books. Four years ago, I n All teacher marking to be done in red ink
joined a school which transitioned from students using n All sheets to be stuck in flat, without folding
ring binders to using exercise books. I was hesitant at n All work to have a date and title underlined
64 helloworld.cc
n Students have commented on how helpful their books are when completing NEA and controlled assessments
Reference books
Students have commented on how helpful their books REFERENCES
are when completing NEA and controlled assessments, Roediger III, Henry L. (2013). Applying Cognitive
and they certainly look back over them during revision Psychology to Education: Translational Educational Science.
lessons. In many cases, it is much quicker to flick through Psychological Science in the Public Interest. 14(1) 1-3
their book to look up some key syntax than it is to
search through hundreds of programs that they have
written over the years. In the computing industry, many learning (Roediger, 2013). Often these low-stakes tests
programmers use a notebook. As 80 percent of GCSE take the form of multiple choice questions. Many of these
Computer Science is assessed through hand-written questions can be sourced from the quantum project at
helloworld.cc/2vkqgN0.
While I am not arguing that this is the only effective
students can use the method of workflow, it has certainly worked well
books as revision guides for our department and for our students. If you are
interested in reading more about computing pedagogy,
throughout the year you may be interested to read some of my blog posts
at www.mrlaulearning.com, or a more extensive and
theory exams, it makes sense to use exercise books to comprehensive guide in my book Teaching Computing in
organise students thoughts and to assess students Secondary Schools, which is available for pre-order from
handwritten work throughout the course. Routledge or Amazon.
The use of exercise books also feeds into classroom
pedagogy. It allows teachers to start every lesson at
William Lau is the Assistant Headteacher and Head of
a desk away from computers with some form of low-
Computing at Greenwich Free School. He is a CAS Master
stakes testing. Studies show that frequent, low-stakes,
Teacher, author of Teaching Computing in Secondary Schools,
distributed and interleaved testing is beneficial for
and winner of the Infosys Foundation USA/ACM/CSTA Award
for Teaching Excellence in Computer Science.
n Clear presentation guidelines make work in the books easy to follow
helloworld.cc 65
FEATURE
am a professional For example, working with NHS England, Spencer, and we could update the site
I software developer. I was asked to write code to automatically with a single command. Everything was
Im also called a software engineer, create spreadsheets from complicated scripted in Python, with automated tests to
programmer and hacker (and ninja, source data. What the client really wanted check certain conditions were met during
superhero and rock star, but Ill come was an indication of patient waiting times. the deployment of the website, and Python
to that silliness later). They had disguised the fundamental would abort if problems were encountered.
While I write code for a living, it is only problem (I want to see current and historic By automating such activities, the
one aspect of my job. My skill as a developer waiting time information) as the need for knowledge essential for the smooth running
comes from using my creativity, experience more spreadsheets. We created a web- of the company is expressed as code.
and domain expertise to solve problems. based dashboard to display the data, and an Contrast this with the manual alternative:
API so anyone could consume the data. The someone with the nerve-wracking and
Its not all about the code moral: solve the right problem which may time-consuming job of deploying everything
Often the most appropriate response doesnt not be the problem you are given. themselves. Often this was a single person
involve writing code. A large part of my time I also automate my work. I want to spend and, if they went on holiday or left the
is spent probing, questioning and playing most of my effort on difficult problems, business, such valuable knowledge was lost.
devils advocate for people who believe they so I turn the repetitive stuff into software. Most of the code I write consists of tests
have a technical problem, when in fact they For example, last year I helped create for the code that actually does something
need to address something else. the Christmas food website for Marks & useful. Tests express how I expect my
66 helloworld.cc
n T eachers need to challenge the stereotype of (who ensure a good user experience),
the socially isolated, young, male coding genius
designers (who make the application
look good), business analysts (who
represent the business) and scrum-
masters (who facilitate the smooth
running of the project).
Rejecting stereotypes
Contrast all of the above with a
stereotypical software developer: He is a
man in his early twenties. He lacks social
skills, holds infinite technical details in his
head and sits on his own in a windowless
room pounding out code for hours on end.
He says incomprehensible things like,
code to run, and well-tested code is better I ensure my code is properly commented Ive created a neural network to bypass
because writing tests makes you reflect on in plain English so my colleagues (and my the firewall and reverse the polarity of the
how your code should behave. But tests are future self) understand what it does when mainframes memory banks. Often, he is
no guarantee that the code is bug-free! I may they come across it on the internet. I name the focal point of some important activity
have missed a potential bug and failed to things such as variables, classes, and since hes the only one with the skill to
write a test to reveal it. functions in a way that makes it clear what pull it off.
Tests are most useful as a way to deal they represent. Comments explain intentions A side effect of such nonsense can be
with change: if I inadvertently make a rather than implementation. Its important found in the job market. HR managers,
breaking update I add feature X, but this to know why something was written to playing to the stereotype, advertise for
has an unforeseen negative impact on see how it adds value to the wider system. JavaScript Ninjas, Ruby Rock stars or
feature Y then the tests for Y will fail. Comments are also a good place to explain if Python Superheroes.
Collaborative working
I rarely work alone. Often I will pair-program
with another developer, where we take it in WRITING CODE ISNT THE FOCUS
SOLVING FUNDAMENTAL
turns to write code (with the other watching,
commenting and challenging their partner). PROBLEMS TO HELP PEOPLE IS
Its an exercise in knowledge sharing and
mentorship, and a way for experienced
colleagues to work with new developers the code in question was created in response This is toxic stuff, and education is a
to help transfer knowledge about design to a subtle or hidden requirement. key factor in challenging the damaging
decisions, conventions used in the code, I also try to make my code as simple as stereotype of the lone, young, male coding
and other business-related knowledge. possible. As British computing pioneer Sir genius with a Messiah complex. Writing
My colleagues and I constantly look for Tony Hoare explains, There are two ways software is collaborative and cooperative,
solutions on the internet. This is why open- of constructing a software design: one and involves input from a wide variety of
source software is such a powerful idea: way is to make it so simple that there are people. Diversity is a strength. Writing
we have access to code, we can see how obviously no deficiencies, and the other way code isnt the focus solving fundamental
it works and we can learn from others. Its is to make it so complicated that there are problems to help people is.
essential to develop the confidence to say no obvious deficiencies. The first method is If you are a teacher, I have a challenge:
Im not sure how to do this lets see how far more difficult. ask yourself how many of your lessons
others have solved a similar problem. Simple code is easier to understand, focus on group-based problem solving.
Knowing what to look for, assessing easier to think about, and easier to If coding means individual students
the responses from search engines, change. The opposite of simple code progressing through a set of worksheets
and evaluating how they apply to your is called spaghetti code (and makes or an online course, try to replace it with
problem these are important skills that developers curse!). collaborative group learning.
require practice. Memorising things in Finally, my role is one of many involved Youre the experts in pedagogy, and
a programming context is a Sisyphean in software development. I work with Id love to hear about ways in which you
task and a complete waste of time: testers (who break things), platform promote a community of collaborative
programming languages and libraries specialists (who make our digital problem solvers in your own lessons.
are constantly changing! infrastructure work), UX specialists Best of luck!
helloworld.cc 67
FEATURE
BEBRAS IS BEAVERING
AWAY FURIOUSLY!
Chris Roffey explains how to enter your students into the annual Bebras Challenge
for computational thinking, and how to use their new teaching resources
STORY BY Chris Roffey
ounded in Lithuania in 2004 by worked into accessible tasks, which often successful, so this year the university
F Professor Valentina Dagien, the involve beavers (Bebras is Lithuanian for expanded the event, running it over two
annual Bebras Challenge aims to enthuse beaver)! Last November more than 1.6 weekends instead of one, with twice the
school students from around the world in million students from over 40 countries number of students invited.
the fields of computer science, problem took part. Bebras is absolutely free for schools and
solving and computational thinking. UK Bebras is a relative newcomer to students. If we were to charge, schools
Classic problems, of a kind that computer this community, but it has been growing might only enter their top sets, and this
scientists regularly have to solve, are re- rapidly. In 2013 we ran a pilot with 21,000 would undermine one of our main aims
students. In 2014 the Raspberry Pi alerting talented students to an important
Foundation and ARM generously sponsored skill they may possess. We want schools to
UK BEBRAS us, enabling us to offer this opportunity to enter, if at all possible, all of their students.
all students in the UK free of charge. In the A student who has, for example, a specific
AGE GROUPS same year, Oxford University became the learning difficulty, but is a great problem-
National Organising Body for UK Bebras. solver, might be discovered and celebrated,
Kits 6-8 In October last year, Google took over and exciting new opportunities opened up
the sponsorship, asking us to produce an for him or her.
Castors 8 - 10
ambitious plan for expansion, and then Traditionally, when the UK has wanted
Juniors 10 - 12
funded us to follow it. to find talented problem-solvers, we put a
Intermediates 12 - 14 In 2015, Oxford University ran a finals difficult crossword in a national newspaper.
Seniors 14 - 16 weekend for the 10-18 age groups, hosted The Bebras Challenge is a far sharper tool,
Elite 16 - 18 by Hertford College and the Computer and is already unearthing some amazingly
Science Department. This was immensely talented students. At the finals in Oxford
68 helloworld.cc
Why enter your students? OKIWILLBETHERE! ANSWER:
helloworld.cc 69
FEATURE
output: Shall
What is a GOTO?
I say it again?
A GOTO allows you to jump to another
line in your code that you have labelled
TRY IT OUT
Yes (or a line number if your language supports
Some modern languages (notably Python
input: answer these). This works like a flowchart: you
and Java) do not use GOTO. BASIC 256 is an
are drawing an arrow to the box you want open-source project designed for education.
to go to next. It is conceptually simpler It has some useful features, such as
than a loop, which requires us to analyse embedded text-to-speech, easy graphics,
the problem at a higher level before music, and loading images. Download for
is the aswer implementing the loop. It also means that Windows, Mac or Linux at basic256.org.
"yes"? we can code directly from a flow chart,
rather than reverse engineering a flow
chart to contain the loops we need.
No Before there were loops in code, we
used GOTO to repeat sections. Before there
were statement blocks, we used GOTO to
Stop skip or run sections of code. Today, when
we use our modern programming tools,
they get translated back into jumps in
n Figure 2: the same program as a flowchart
note the identical structure machine code.
70 helloworld.cc
OPINION
BACK TO BASIC
Richmond Mathewson explains why he is teaching BBC BASIC
with BBC Microcomputers in 2017
ver the last few years I have run summer courses barrier and no distractions. This forces a lets do some
helloworld.cc 71
FEATURE
72 helloworld.cc
FEATURE
am sure many of you, like me, have After a couple of sessions of tinker
I been using Scratch with seven-
to eleven-year-olds for many years.
time, I started teaching the pupils about
the different blocks and how they work
FURTHER
The same team that brought us Scratch together, using AirPlay to link my iPad to INFORMATION
has also produced an iPad app called the classroom screen. Starting with the blue
ScratchJr, which is designed to teach five- motion blocks and the green flag, I asked
to seven-year-olds to code. Its available the pupils to predict what movements the
for Android tablets and Chromebooks, too. sprite would make. Very quickly the class
was ready for their first challenge: to make
Teaching with ScratchJr the cat dance using any of the blue motion
I currently teach computing to two Year 1 blocks. Towards the end of the lesson I The ScratchJr app is free on iTunes, Google
classes for half an hour every week, and selected a few to play on the whiteboard. Play and Chrome OS. I used shared tablets,
the ScratchJr app has given us a perfect so it was important that each pupil returned
introduction to coding. Luckily, I have enough Structured activities to the same device for every lesson, in
iPads that each child can have their own, but During the next eight lessons, I gave the order to access their locally stored projects.
I am sure pupils could easily work in pairs. classes structured coding activities to Projects can be named by tapping the yellow
I started by giving the pupils tinker time follow, which involved using blocks from tag in the top right-hand corner of the app.
simply letting them play with the app while all the different categories. This helped Within that screen, users can also share
I observed what they could do. Very quickly, the pupils to really grasp how the different their projects using email or AirDrop.
I could see the pupils working out that blocks work together to make more and
they could make the sprites move or act by
connecting the program blocks together.
n Can you tell the story of the three little pigs, make a virtual fish tank,
THEY COULD MAKE THE SPRITES
MOVE OR ACT BY CONNECTING
or even code a cat to play basketball? You can with ScratchJr!
helloworld.cc 73
FEATURE
SMELLY CODE
Do we pass on best practice when we teach block-based programming to primary school pupils?
STORY BY Jane Waite
hen we teach literacy in primary researcher looked at more than a million Variables, broadcast messages,
W school, we use high-quality texts programs, while another checked 250,000 backgrounds, and costumes need renaming
to model the features we would like our (see box for links). One of the research too. Just calling a variable a, or variable
pupils to learn. In poetry, we demonstrate teams concluded that some of the things makes our code harder to read and change.
alliteration and onomatopoeia through the we want children to learn and make Children (and professional programmers)
work of popular childrens poets. progress in for programming were lacking work on a program over several weeks, or
When teaching programming, do we from the code sampled. take an old program as the basis to start
do the same? Do we know who the good Dont worry the researchers did not writing a new one, so this matters a lot.
programmers are in the Scratch community? check all this code by hand! They have
Are we even sure what good quality programs that do their checking for them. Superfluous stuff
programs look like? There is also the fabulous Dr. Scratch that Another bad smell is caused by redundant
you can use to analyse your own code. stuff: code blocks, variables, sprites, and
What is smelly code? messages left lying around, which dont do
Smelly code is code that displays some Names matter anything. If children added a casual full stop
feature that indicates an underlying problem One example of a bad smell is a sprite or a random word into a sentence, we might
with the program. The program may do that has not been renamed, and still uses question it. Sometimes we do pull code
some things correctly, but good code its default name. Why is this important? apart as we are debugging, and leave code
should be high quality and readable, too! Renaming a sprite might make our code fragments at the side as we work out what
Unreadable or convoluted code is much easier to read, and indicates that we are the problem is, but when we save and share
more likely to contain subtle bugs, hiding in thinking about what our program is doing. our code, we should tidy it up.
those whiffy places. So, if the Scratch Cat is the narrator for The researchers found other bad smells
Several researchers have investigated an animation, rename it Narrator. If the too, such as the same code being used
programs from the Scratch community, Elephant asks questions in a quiz, call it for different sprites, and within the same
and concluded that most are smelly! One Quiz Master. sprite. Some repeated code for a single
sprite can be implemented more elegantly,
for example by using a loop. We can reduce
repeated code by using clones, or by
controlling the program using a main thread
of commands, and synchronising activity
through broadcasts and other techniques.
One of the smelliest aspects found by
both researchers was very long scripts.
Long scripts can be very hard to understand
and debug, and often imply a lack of
decomposition and design.
74 helloworld.cc
XXXXXXXX
nX
FURTHER READING
Dr. Scratch:
drscratch.org
ScratchMaths:
helloworld.cc/2tYsNfC
Scratch research:
helloworld.cc/2sOnlw2
helloworld.cc/2tUFes7
helloworld.cc/2tZfxah
n Predict what this seaside script will draw. Code written helloworld.cc/2uHZU4T
by Jane Waite, inspired by the fantastic ScratchMaths
sized chunks. Learning to spot potential thinking carefully about why and how we In your scheme of work, does the example
custom blocks and work with them is a are looping. Someone reading the code can code you use reset sprites to a start position?
very important habit, which gets children see clearly how the loop will end. Do you explicitly teach resetting variables to
ready to learn more about procedures and Do you naturally model code using a start value? Are there targeted tasks and
functions in text-based languages. forever commands, rather than repeat guided exploration activities in your planning
until, or repeat x times? Does evolving which reveal the importance of initialisation?
Forever or until? rather than designing our programs Whatever form of scaffolding you use to
Another feature missing from the code was contribute to lots of forevers and not many teach programming, is initialisation covered?
conditional repeats, or conditional loops. untils? The use of forever loops is seen by
These commands allow us to control how a many experts as a bad habit. So what, and what next?
repeat ends based on another aspect of the Does bad-smelling code matter? There is
program: for example, repeating an action Get ready before you go plenty of research that says it does. If you
until the space bar is clicked, or repeating Something else that is often missing from give novice programmers smelly code, they
something four times. Conditional repeats scripts is resetting stuff: setting variables will either have a poorer understanding of
are important, as they show that we are to a start value, resetting sprites to a start what the code does, or they find it more
position, clearing up any shapes we have difficult to modify the code, depending on
drawn with the pen, etc. This is sometimes the type of whiff!
called initialisation, and it is an important I dont have all the answers, but there is
idea. If you do not include initialisation in emerging research in this area. I think that as
your Scratch code, and you run it twice a teaching community, we are ready to talk
in the same sitting, the values and states about what makes good-quality block-based
from end of your last run will become your programs, and to look at what kinds of habits
subsequent start points. This can be very we are exemplifying in our teaching.
confusing, and you cant be sure what your How about investing in your CPD?
program will do. Ask your local CAS Regional Centre or
Creating programs that always do the CAS Master Teacher about a Primary
same thing, whenever you run them, is Programming course, attend a CAS hub
a very good habit. In fact, some code meeting, study for the BCS Certificate in
needs initialising to work at all. Learning Computer Science Teaching(primary or
about initialisation is an important part secondary), and find out more so you can
of preparing children for the transition to help your pupils to write lovely, sweet-
n Sniff out the smells. Initialise, tidy, reorder, and
use a repeat. Code snippet written by Jane Waite. text-based programming. smelling code.
helloworld.cc 75
FEATURE
CYBERSECURITY:
LEARNING THROUGH HACKING
Hacking can provide students with the context to understand how computers work,
and teach them to write better code
STORY BY David Hill
m guessing that most peoples so it could receive shortwave stations. From This hacking mindset makes you a
I knowledge of hacking comes from this, it was a short jump to hacking my better computer scientist. A malevolent
movies and TV. As a result, when people ZX81 games to slow down the pace of the hacker only has to find one weakness in
talk about hacking, it often has negative 3D monsters. a computer system. If you want to protect
connotations. At its heart, hacking is about a computer system, or the information
understanding how something works. Yes, What does hacking teach us? in it, then you need to try and think of all
hacking can be misused, but we teach How can hacking help us to learn? the ways in which the system could be
students many things that could also On a basic level, hacking provides an compromised. When you are writing a
be misused. We dont think twice about understanding of a range of cybersecurity program, you need to understand how
teaching young people to write, drive, or issues, and leaves the hacker better able each command works, and how each part
understand science just think of all the to protect themselves. In addition, being of the program interacts with all the other
dangerous things you could create with able to hack something requires certain parts. Is there a way someone could make
that knowledge! skills problem-solving, logical thinking, the program do something it shouldnt?
I am a hacker myself, and for that I blame perseverance, and creativity skills that Developing these skills helps a student to
my dad. I wanted to know how a radio are going to benefit students learning move from mimicry to mastery.
works, so he gave me an old AM radio and and development in many areas, not just
we took it apart. He talked me through computing. You need to understand the Is hacking legal?
all the parts inside, and at some point we rules on which the thing you are hacking Hacking can be illegal. Simply put, under
talked about shortwave. I liked the idea of runs. By mastering the rules, you can the Computer Misuse Act, it is illegal to
listening to broadcasts from around the find ways to exploit them, allowing you gain unauthorised access to a computer
world, so we took a trip to Tandy, bought to push the boundaries of what you system, or the material stored there. It is
what we needed, and hacked the AM radio can create. the unauthorised part that is important,
and this needs to be made clear before
we start taking students on a journey into
cybersecurity. There is a time and place for
hacking, ethically and legally whether this
is the police investigating a suspect, or a
business trying to recover information from
their own computer system.
Before running any sessions with our
students, to make sure that all our moral
compasses are pointing in the right
direction, we give them some scenarios to
think about. Are there any circumstances
under which it would be OK to hack a
computer system? Are they technically
possible? These scenarios can relate to real-
world events, such as the controversy about
bypassing an iPhone lock screen. How
n A Raspberry Pi offers a safe (and legal) way do the police usually get past a suspects
for students to explore cybersecurity issues
password? Answer: they ask them for it.
76 helloworld.cc
USEFUL
WINDOWS TOOLS
Linux can handle most things on its own.
However, if you want to use a Windows
computer to hack your Raspberry Pis, this
freeware will be useful:
Refusal to reveal the password could lead to desktop computer or laptop. These are usually details. When the students have logged
a five-year jail term if the data on the phone running Linux, but with some extra tools in, they find that the account has been
involves national security! installed you could use Windows machines. restricted (weve changed the root login and
The Raspberry Pi gives students the If the students are accessing the Pis file permissions), but they have access to an
opportunity to explore some aspects over WiFi, the first thing they should do image file. When they work out how to copy
of cybersecurity in a safe and legal is look for the network and try to connect. files between computers, this will give them
environment. There is very little damage This can lead to a discussion about SSIDs some encrypted text that conceals a web
that can be done, that cant be rectified by and encryption. The aim here is to think address. Its not very well encrypted it just
re-imaging the SD card. Just remember to about what makes a secure password, as uses a simple Caesar cipher.
tell the students before starting the exercise the password we use is one of the top five This takes them back to the web browser,
that you are giving them permission to most common passwords. Not sure what where they find a couple more challenges.
access the material on the Raspberry Pis. the most common ones are? A quick Google The password is handled through server-
helloworld.cc 77
CONVERSATION 10 TIPS
10
TIPS
SUPPORTING
INDEPENDENT LEARNERS
Ideas for keeping your independent students motivated and engaged
STORY BY Rik Cross
Manage
3 expectations
Giving learners the freedom to decide
on their own project ideas can result in
incredibly complicated project plans, often
before learners are ready to tackle a large
project. Rather than encouraging learners
to choose something else to work on,
help them to distil their ideas discard
78 helloworld.cc
8 Test regularly
Debugging is made much more
straightforward when a project is tested
regularly. Testing each new project feature
means that learners are more likely to
pinpoint any problems with that feature.
Encourage learners to follow a short,
iterative development cycle, testing each
step as they go. Learners may even find
that their projects work in unexpected ways
if they allow others to test their work.
Model failure
9 Being ambitious and taking risks
will inevitably result in times when things
Create a
the more difficult or unnecessary aspects
of the project and allow them to focus on
6 collaborative
dont go to plan. Digital making can often
follow an unpredictable path, and learners
something much more manageable. This environment will benefit hugely from being exposed to
will reduce frustration and help ensure that Working independently doesnt mean that this process. When supporting learners, try
their project is seen through to the end. learners have to work alone, and there not to gloss over mistakes that you make
are many ways in which your learners can yourself, or times when you arent able to fix
support and learn from each other. Learners a problem first time. Instead, be transparent
Develop
4 organisation
may have a problem that another member
of the group has experienced, meaning
about the process, modelling the resilience
needed to work through these setbacks.
Encourage your learners to take that they are well-placed to offer support.
responsibility for as much of the digital Projects can be shared with others, either
making process as possible. How will within a group or more widely through
10 Celebrate success
they manage their time? What are online communities. Sharing projects At the end of this process,
their priorities? Will they need time to with others allows them to be seen by an learners will have created something unique
undertake some research before starting authentic audience, which can be incredibly that they will rightly be proud of, and want
work on their project? How and when will motivating. This audience can also offer to show off to others. Make time at the
they review their progress? It may even valuable feedback, and often learners will end of a project for learners to share their
help to agree on a process as a group, pay more attention to detail, and are more creations, and if possible to be reflective
so that learners have a framework for willing to fix bugs, if they know their work and share their experience with their peers
organising themselves. will be seen by others. even if their project isnt finished. This
is a great time to be positive and share
successes, but it could also be valuable
Provide resources Embrace
5 Working with independent
7 debugging
to allow learners to talk about challenges
they faced, and how they tackled them.
learners means that your role as educator One of the most difficult things about Your learners will be exposed to a range of
becomes that of facilitator. You are no longer fostering independence is supporting interesting ideas that may provide a basis
the expert to whom learners immediately learners when they hit a problem. Debugging for their next digital making project!
turn when they have a question. Be explicit is often where the most valuable learning
about the places that learners can go to takes place, as it provides an opportunity to
find answers to their questions: links to deepen understanding and test assumptions.
documentation, other example projects, Its important that learners take control of
online support forums. This works well debugging their own projects, so that they Rik Cross
when youre asked a question to which you can support themselves later on in their Rik Cross is a former
dont know the answer yourself, as youre digital making journey. Ask questions to point secondary teacher,
then able to model how youd go about learners in the right direction. Encourage responsible for developing the Raspberry Pi
trying to find the answer. It also serves to them to take a step back and think logically curriculum. Rik enjoys learning new skills and
make the point that the educator isnt an through a problem, decode error messages, is currently learning to brew beer.
oracle who knows everything! and seek peer support.
helloworld.cc 79
CONVERSATION BLUFFERS GUIDE
BLUFFERS GUIDE TO
NEA TASKS
The new Computer Science GCSEs in England and Wales all have an assessed component
requiring students to spend 20 hours on a practical programming project.
Alan ODonohoe, leader of exa.foundation, looks at the implications for teachers
PLEASE NOTE: However, the NEA tasks are not released until 1 September, and
students completed work must be marked and sent for moderation
The author neither works for, nor represents, any examination bodies.
by 31 March. [ ! ]
As such, the information in this guide is intended only as practical Schools can choose when to schedule the NEA sessions within
advice for a wide audience, not as an official guide to one GCSE NEA. that window, but NEAs can only be attempted during the terminal
Since examination bodies vary in their rules for the NEA, teachers year of assessment, i.e. the same year as the exam. There is no
should familiarise themselves with the specific rules governing their requirement for schools to log every lesson allocated for the NEAs,
choice of qualification. but it would be sensible to do so. Teachers should plan ahead to
consider what to do with students who complete their projects in
KEY: less than the allocated time. If a student gives up after just three
hours, this could cause problems for the remaining 17 hours.
It would be wise to start the NEA as soon in the Autumn Term
[!]
Indicates areas with a significant degree of differ- as possible, and complete it as late as possible. This would allow
ence between different exam awarding bodies. Please teachers the flexibility to plan for refresher lessons during the 20
check the details for the body that you are using. hours, and allow for other unplanned circumstances such as teacher
or student absence.
80 helloworld.cc
n Teachers are free to run after-school programming sessions as long as they are not teaching to the NEA task
Splitting the 20 hours up over an extended period would also go
a long way towards keeping students motivation levels high. Their
attention is likely to be sharper in the non-NEA sessions where Should teachers stop teaching programming as of 1 September?
teachers provide refresher programming lessons, since the students No. However, it would be best to ensure that students have
could then apply this to their NEA solutions. been properly prepared before then, as teaching to the tasks is
strictly prohibited. If the NEA sessions are scheduled to be spread
How can teachers best prepare their students out across the autumn and spring terms, this would allow more
for this beforehand? opportunities for refresher lessons.
Throughout Year 10, plan for lots of practice with lots of stepped
paired-programming challenges designed to slowly build confidence Can teachers offer after-school programming sessions?
and competence. While its tempting for teachers to focus purely There is absolutely no problem with this as long as teachers provide
on teaching systems theory in Year 10, doing so would seriously general support and advice with the programming requirements,
disadvantage students with the NEAs. Some teachers choose to split and do not teach to the NEA. After 1 September, students are
their timetabled lessons 50/50 between systems and programming; prevented from bringing in any electronic, written or printed
I chose a 20/80 split, with more time allocated for the programming resources from this additional support to their NEA sessions.
element. In Year 11, a refresher course at the beginning of the
autumn term will put students back onto a firm footing before What if teachers spot something after the NEAs are live that
starting the NEAs. they omitted from their teaching?
It would be wise to introduce students to the restrictions imposed Again, as long as any teaching post 1 September does not include
by the NEA as early as possible in Year 10, so that its less of a support or solutions to the live NEAs, there is absolutely no problem
shock for them when they start the NEA. This would allow any with this. For example, if after the NEAs are published the teacher
Resource Banks to be developed throughout Year 10. feels that their students need to use a particular data structure that
they have not taught, the teacher could plan a general lesson on
n Students should be prepared before the NEA begins - data structures and include the required structure among several
teachers cannot give specific help or feedback during the NEA task
that are not required. However, the teacher should be very careful
not to drop hints or suggest which data structure to use as this is
classed as providing solutions.
helloworld.cc 81
CONVERSATION BLUFFERS GUIDE
82 helloworld.cc
To prepare students for working on NEAs without internet access ports and publicly shared drives. It would be a good idea to get
and using the resources provided, set some practice tasks before students into the habit of using these before the NEA starts.
the NEAs to help them get used to the restrictions and develop
good habits. This will also reduce any potential stress for students Who should I ask for advice?
working under these controls. Make sure you ask the right people the right kind of questions.
While you should always check with exam board representatives
What should an OCR resource bank include? and documentation for official rules and regulations, asking other
Teachers following the OCR GCSE course can put resources that teachers as well will help you to find out how they are approaching
students might find useful into a resource bank, up to 31 August. the NEAs and preparing their students. However, you should be
This includes wall displays, electronic resources, and paper-based careful how much trust you place on advice from others who do not
resources, but not templates or writing frames. Where allowed, it represent exam board officials just like the advice in this article!
is recommended that teachers provide students with the following
reference materials: Isnt this a lot of hassle for just 20 percent of a students
final grade?
n t he
students own solutions to previous challenges set throughout I think its dangerous to assume that programming is only worth 20
Year 10 to remind students how they solved previous problems percent, when computational thinking, algorithms and programming
combined are worth 60 percent in total. In my teaching, Ive managed
n s
ome carefully selected examples of previous students projects to reduce the time required to teach theory down to about 20
e.g. from previous years percent, allowing about 80 percent of the time for computational
thinking, algorithms and programming. The students were least
n r eference
materials reminding students of the syntax of the familiar with the latter, so a 50/50 split would not have worked as
chosen programming language well. A lot of the theory they can learn themselves without direct
supervision from me.
Which resources should I buy for my students?
Thankfully there is a great variety of free downloadable Security
resources available to support students (where allowed), so To maintain integrity, the task instructions and student work are
in theory you shouldnt need to buy anything. However, some not allowed to leave the NEA sessions. Students are not allowed
publishers have released paid content which schools can to bring additional resources into the sessions. [ ! ]
purchase. Teachers who have purchased these have said they
found them really helpful. Ask other teachers which resources What if some schools decide not to follow the rules?
theyve found most useful. Through the Joint Council for Qualifications (JCQ), the exam
boards have jointly said they will be conducting an unspecified
How should we store the students work? number of centre visits this year, along with statistical analysis
All student work must be stored securely to prevent students from of the NEA results compared to exam results. Schools can expect
accessing their work outside the NEA sessions. Some schools have a visit at any time, and the exam boards dont need an excuse
created exam accounts with restricted access to the internet, USB to trigger a visit.
MORE INFORMATION
n B
log post on NEAs: exa.im/helpwithnea
n T
eachers at Outwood Grange Academy
Trust have compiled a helpful NEA
resource: helloworld.cc/2uHij4m
n C
hris Roffey has shared these Code
Cards: helloworld.cc/2vICM5U
n M
ark Clarksons guide to Python:
helloworld.cc/2gQdGzm
n OCR
Guide to pseudocode and Python:
helloworld.cc/2vFa7BO
helloworld.cc 83
CONVERSATION FAQs
YOUR QUESTIONS
GOT A QUESTION?
If youve got a question for our
FAQ team, you can ask us on
Twitter via @helloWorld_Edu
ANSWERED
or using the #HelloWorld
hashtag. Alternatively, email
us (contact@helloworld.cc)
with Teacher Question in the
subject line.
Teaching computing and digital making requires a whole new set of skills,
and understanding the various options and requirements can be incredibly challenging.
Dont be afraid to put your hand up and ask us anything
Q How do I introduce my
students to coding on
a mobile phone?
Although many mobile devices are also functional
A computers, the reality is that the devices software
is often locked down to prevent users from running
arbitrary code on their mobiles and tablets. This can make
84 helloworld.cc
Q Ive been told that
Processing is as easy to
learn as Python. Which
language should I be
teaching to my students?
Processing is a programming language and
A development environment that is geared towards
learning to program in the context of the visual arts. The
Processing language is based on Java, so if youre only
familiar with Python, Processing will look completely
different. For example, blocks of code are indicated using
curly brackets, and each line of code is terminated with a
semicolon. If you have any experience with Java or even C,
Processing should feel familiar to you.
The Processing development environment (the program
Q HOW DO I TEACH THE where you write and execute code) will also feel very familiar
to educators and students who have used the Arduino
helloworld.cc 85
CONVERSATION FAQs
CAN YOU TELL ME Python modules, but all the > sudo pip3 install tweepy
TO INSPIRE THEM?
your Python code, you could pip, especially how to use it on
use pip to install a module such Microsoft Windows, have a look
as Tweepy. at rpf.io/pipguide.
There are plenty of competitions and contests
A available for your students to participate in,
depending on their age and ability.
For the younger students there are very few regular
competitions, but they tend to pop up every now and
again, run by various companies, organisations and
government departments. Its always worth looking at
the CAS competitions page to see whether any new
competitions have been added (helloworld.cc/2u4KCJk).
Some of these are featured on page 62.
The Bebras competition (featured on page 68) runs free
annual challenges for students aged 6-18. You can take a
look at past challenges, and find out more, at bebras.uk.
If you run a CoderDojo, take a look at the annual
CoderDojo Coolest Projects event, where students
Q Id like to teach my students about the
can showcase the projects they have been working on
(helloworld.cc/2sWOhtv). The Raspberry Pi Foundation
history of programming. Are there any
also runs a termly challenge called Pioneers for students resources you would recommend?
who would like to have a go at some digital making
(helloworld.cc/2jqNIjG). Then there is Apps for Good, We have a rich history a visit (www.computerhistory.org)
which is a very popular general technology competition A of computer science and to learn about early programming
(appsforgood.org). programming in the UK, much of and computers, and where better
For older students there are lots of options. The which is preserved thanks to the than in the heart of Silicon Valley?
Cyber Security Challenge will really stretch their efforts of volunteers at the National For some fun background
abilities, investigating codebreaking and cryptography Museum of Computing at Bletchley information you can access the free
(helloworld.cc/2t56RLc). Then there are hackathons at Park (famed for its code-breaking educational YouTube channel Crash
various institutions all over the country, run in conjunction operations during the second Course Computer Science videos
with Major League Hacking (MLH), which will really push world war). With lots of hands- on Alan Turing and early computing
your students to their limits (mlh.io). on activities as well as access to (helloworld.cc/2t5I1Lb). There are
some very early computers, such also books, such as The Programmers
as Colossus, the museum is well Odyssey by Gareth Eaglesfield
worth a visit with your students (helloworld.cc/2v3qxAn, reviewed on
(www.tnmoc.org/learn). page 89). To go really old school, the
The Centre for Computing original Usborne programming books
History based in Cambridge, UK, from the 1980s, including Introduction
Image: CoderDojo Foundation
86 helloworld.cc
Q IS THERE A SIMPLE WAY TO
PRODUCE GUIS IN PYTHON?
Yes! Lots of schools GUI apps can be written in
A have begun to just four lines of code. It is
Image credit: Jason Long
introduce Tkinter for GUI designed to be simple enough
programming, but found the to be used by eight- to ten-
syntax cumbersome and difficult year-olds, yet powerful enough
Q What is Git and to work with. The guizero for use in complex projects
how can I use it? library has been created by (helloworld.cc/2u9Xn6o).
an experienced teacher and Remaining with the simplified
Git is a type of version control system (VCS). removes the unnecessary theme, but with different
A It allows you to store versions of your files as complexity from creating a customisation options, is an
you write them, and then easily revert back to previous GUI. It is simple to install even alternative library called appJar.
versions at any time. without administrator access This removes unnecessary
Gits real power is that it can be distributed. This means (so you dont have to pester boilerplate code to simplify
that rather than one person working on the files, whole the school technicians) and making GUIs with a variety of
teams of people can work on them. As each person makes the most basic of Hello World attractive layouts (appjar.info).
changes to the files and pushes them to a remote server,
others can pull in those changes.
If you want to learn more about using Git and remote
systems such as GitHub, have a look at rpf.io/gitguide.
helloworld.cc 87
REVIEWS BOOKS
THE THRILLING
ADVENTURES
OF LOVELACE
AND BABBAGE
A graphic novel about an alternate reality
with Ada Lovelace and Charles Babbage,
and a completed Analytical Engine!
IN FO
WRITTEN/DRAWN BY Sydney Padua | PUBLISHER Pantheon Graphic Novels (Penguin Books) kitten pictures to calm Queen
PRICE 12.99 | ISBN 978-0141981536 | URL 2dgoggles.com Victoria down; while Charles
comes across as the archetype
ydney Padua is a graphic her novel (the one written by her of the absent-minded inventor.
S artist and animator, who friend George Eliot) analysed by The end of the book includes
was asked to draw a short web the Difference Engine to correct sections on Babbages anticipating
comic about Ada Lovelace for all the errors, but the (shorter) carriage, which (would have)
Ada Lovelace Day. If you know
Adas history then you realise
this didnt have a terribly happy
ending, so drawings imagining
Youll learn a lot about Ada and Charles,
Victorian society and the principles of
an alternative, better, and more
thrilling universe were added, and
computer engineering from this book
such was the hunger for more
details that she expanded them story in which George Boole visits shaved seconds off additions
into this novel. and is asked Tea or coffee? and (modern fast adders use similar
The book contains a number responds Yes would make a great techniques to save nanoseconds),
of stories showing an alternate introduction to Boolean logic! programs, punch cards, and logic
universe where Charles Babbages Endnotes add more detail, and loops, all of which add detail
Analytical Engine does get built including cartoons from Punch to the Analytical Engine. A moving
(called the Difference Engine, (the one showing the Old Lady of epilogue has Ada and Charles
because it sounds cooler), and Threadneedle Street bailing out talking as they wander through the
Ada doesnt die at 36. There irresponsible banks is from 1890!) towers of cogs inside the Engine.
are lots of footnotes, linking the and other Victorian publications. Youll learn a lot about Ada
alternate universe to our own, Ada is depicted as a pipe- and Charles, Victorian society
extensively and meticulously smoking, leather-clad hacker, and the principles of computer
researched, building up a fantastic equally at home with a wrench engineering from this book. There
picture of Ada, Charles, and fixing a crash in the innards of are lots of computer in-jokes to
Victorian society. My favourite the Difference Engine, or hand- be found, and youll have a lot of
story has Marian Evans having punching a program to print out fun as you learn.
88 helloworld.cc
THE PROGRAMMERS ODYSSEY
A fascinating life in computer programming ESSENTIAL READING:
BY Garth Eaglesfield | PUBLISHER Pronoun | PRICE 4.15 (Kindle)
IN FO ASIN B01LTHF1S8 | URL helloworld.cc/2v3qxAn
Test yourself with these thoroughly
challenging puzzle books!
COMPUTATIONAL THINKING
BY Martin Gardner
PUBLISHER Cambridge
University Press
Incisive insight and practical advice a must-read for students PRICE 12.99
ISBN 978-0521735254
BY Karl Beecher | PUBLISHER BCS | PRICE 19.99 | URL helloworld.cc/2vnNrWF
IN FO ISBN 978-1780173641 | URL shop.bcs.org
helloworld.cc 89
FEATURE
looked at the first steps: getting started, anyone setting out to run a tech-based YOU MAY NOT HAVE ANY KIT AND YOU MAY
HAVE A SMALL VENUE, WHICH DICTATES A
booking a venue, issuing tickets, and community event. Ben Nuttall, Community
MIX OF TALKS AND/OR SHOW-AND-TELL. IN
thinking about equipment and activities. Manager at the Raspberry Pi Foundation,
LARGER VENUES, YOU POTENTIALLY HAVE
In this issue, we take an in-depth look at compiled the guidebook. He collected
MORE ROOMS TO USE, SO YOU CAN EXPAND
the activities you could offer at your event. advice from existing Jam organisers INTO WORKSHOPS (PROVIDED YOU CAN
throughout the UK, on everything from GATHER ENOUGH EQUIPMENT TOGETHER),
finding a venue to managing your finances, MORE SHOW-AND-TELL, AND EVEN A
90 helloworld.cc
could do at home, but doing it at the Jam
gives them the instant support of other
community members.
Running a drop-in is easy. You will need
to provide tables, chairs, and electricity,
and ask your attendees to bring their own
kit. If your venue can give you access to a
PC suite, participants can bring their own
Raspberry Pis and connect them to the
venues monitors, mice, and keyboards.
You could provide printed worksheets for
people who need guidance, or point them
in the direction of some online resources.
A small team of helpers offering advice
and assistance will help your drop-in
to run smoothly.
Beginner sessions
Use beginner sessions to introduce
newcomers to digital making or coding.
A beginner session could take the form
of a Q&A for people new to a particular
programming language or device. warning of how many projects you need to workshop participants, or they may be able
Alternatively, you could provide a team accommodate. If you have limited space, to provide their own. Make sure they know
of volunteers to guide beginners through you could ask people to apply to take in advance what they need to bring.
some basic tasks or projects. This could part, and choose the most appropriate Your first job as the organiser is to find
involve the use of a PC suite for coding exhibitors. Give yourself time to make leaders for your workshops. Ask your
activities, or support for people bringing contact with your exhibitors to make sure colleagues, people you know from other
their own kit that they havent used before. you know what space they need, and what tech groups, or your regular attendees
Make sure you announce your beginner other requirements they have. If you can, whether they would be interested in
sessions in your publicity so that new provide a small team of people to help your running a workshop, and make sure that
attendees know that they will be welcome. exhibitors to set up their projects. the workshops for your event cover a range
Interactive show-and-tell projects are of projects. You could lead a workshop
Show-and-tell particularly popular with visitors. Robots yourself, but make sure that you have a
Run a show-and-tell as a way to inspire
people to create their own projects. Invite
people to bring along projects they are
working on, or have completed, and to DEMONSTRATING PERSONAL PROJECTS
IS A GREAT WAY TO SHOW NEWCOMERS
demonstrate them to other attendees.
Demonstrating personal projects is a great
way to show newcomers what hobbyists
WHAT HOBBYISTS CAN ACHIEVE
can achieve. Showcasing projects gives
people the chance to ask questions about that participants can control, or games team of helpers to keep the event running
the builds, and for the owners to share that people can play, are very engaging, smoothly while you are busy.
their experiences. and demonstrate the possibilities of The workshop leaders will need to
It is best to organise your show-and- digital making. plan their content carefully, and decide
tell in advance. Compile a list of people how they intend to deliver it. You could
and projects, and plan the space at your Workshops structure workshops around worksheets,
venue to accommodate them. Youll need Workshops provide structured practical presentations, or both. Prepare your SD
to announce your show-and-tell in the experiences for your participants. They are cards or hard drives in advance with all
publicity for your event, and make it easy more formal then drop-ins or show-and-tell the software you need for the workshop,
for people to participate. sessions, and you will need to make sure and check that the software runs correctly.
If you are prepared to let everyone exhibit that your workshop leaders are supplied Schedule your workshops with clear
their projects, offering an exhibitors ticket with the equipment they need. You may start and finish times, and make sure
type on Eventbrite will give you advance to need to provide equipment for your you publicise the level of your workshop.
helloworld.cc 91
FEATURE
If a workshop is covering an entry-level a projector, a screen or a suitable wall, ten, or 15 minutes are a great way to give
subject, make sure that your participants and a microphone and speakers. Ensure new speakers the chance to stand up and
are aware that they dont need to that each presenter is provided with present on their chosen topic, without the
know anything about the subject to the correct cables to connect their kit need to prepare a long lecture. Encourage
take part. If your workshop is covering to the projector, and with anything else all attendees to consider giving a lightning
a more advanced subject, make sure they need. talk, regardless of their age, experience,
that your participants understand what You will also need to invite people gender or background.
prior knowledge they will need before to speak, in advance of the event. You
they sign up. could issue a general call for speakers in Panel session
Make sure you provide a team of helpers your publicity for the event, or you could If you are running a series of talks, consider
to set up and clear away each practical approach particular people and ask for their organising a panel session. Give your
activity, and to help the activity leader input. Make sure that anyone volunteering attendees the chance to put their questions
to set up and run their workshop. to speak knows how to contact you, and to a group of experienced individuals on a
92 helloworld.cc
community. It is also the perfect place for Other formats
attendees to look at kit before they buy, Your event doesnt have to be open
and to put questions to the sellers in person. to the general public.
Make sure that retailers know you are
looking for sellers for your event. Approach n A TeachMeet is an event where teachers
relevant retailers directly, particularly local gather to give short presentations to
businesses. Look for contact information on their peers and share ideas for teaching.
retailers websites, or reach out on Twitter. Why not run a digital making and coding
Make sure you check with your venue TeachMeet, with practical workshops and
before you organise a marketplace some short presentations? More information
venues do not allow commercial transactions on organising a TeachMeet can be
during events. Talk to vendors in advance found on the Teacher Toolkit website
and find out what equipment, power and (helloworld.cc/2rT9rnC).
facilities they will need. Provide a dedicated
space for your marketplace, and make sure n Your event could promote participation
you provide a small team of volunteers to in national programmes and competitions.
help your vendors to set up their stalls, and The Raspberry Pi Foundation runs Pioneers,
to fix any problems during the event. a competition aimed at teams of 12- to
15-year-olds (rpf.io/pioneers), and Astro Pi,
WHEN A COMPETITION LIKE ASTRO PI OR a competition to write code to be run on the
A PROGRAMME LIKE PIONEERS COMES International Space Station, aimed at under-
OUT, WELL DO TALKS, AND INVITE PEOPLE 16s and their teachers (astro-pi.org).
ALONG TO TAKE PART IN WORKSHOPS AT
THE JAM. ITS GOOD BECAUSE IT GIVES n Register your event as a Code Club,
AN INCENTIVE FOR PEOPLE TO COME and try using the Code Club resources
ALONG AND TAKE PART, AND GIVES THEM
for beginners. First, register yourself
MOTIVATION TO WORK. WE CELEBRATE
as a host on the Code Club website
THE ENTRANTS, AND THOSE WHOVE
(codeclubworld.org). Find a volunteer
WON, AND INVITE THEM TO DO TALKS.
WE ASK THEM TO MENTOR AT FUTURE
willing to support children aged 9-13
RASPBERRY JAMS, OR RUN WORKSHOPS. to work on projects in Scratch, HTML, n If after running a one-off event you
and Python. Register them as an official are inspired to start a regular club
ANDY MELDER
volunteer on the website, and your Code that caters for young people aged
SOUTHEND RASPBERRY JAM
Club will be activated. 7-17, why not register your event as
a CoderDojo? Register atcoderdojo.com,
wait for confirmation, and find a team of
volunteers to help you. There are plenty
of free resources on theCoderDojo
website to support your event, including
two e-learning modules for adult helpers.
helloworld.cc 93
CONVERSATION YOUR LETTERS
YOUR
If youve got a comment, a question or an announcement
to share, contact us on Twitter via @helloWorld_Edu or
using the #HelloWorld hashtag. Alternatively, email us with
Teacher Letter in the subject line (contact@helloworld.cc).
94 helloworld.cc
A level projects
Dear Hello World,
Im new to teaching A level Computer Science, and I
have started talking with my students about their final
projects. Can students use Unity with C# to make a
computer game for their A2 projects?
Lyndsey Cashen, Isle of Man
Just remember that the awarding bodies prefer that the
The key here is to communicate with your awarding body. project provides a solution to a problem. A game to teach
Most exam boards will have a local area representative primary students basic maths skills or A game to help
who you can contact, and although they might not have the develop spatial awareness might be more appropriate than
answers you are looking for, they will be able to pass on your A game to save the Earth from invading alien hordes.
query to the relevant subject lead. A pitfall to watch out for in game development for a final
A cursory glance at both the AQA and OCR A level project is students getting sidetracked by the creation of
specifications would indicate that both boards are happy to game assets. They are being assessed on their program and
have solutions written in C#, and there is no reason that a its accompanying documentation, rather than on the quality
programming tool such as the Unity Game Engine would not of the game. Remind them that the project is probably only
be permitted. worth about 20 percent of their final grade, so spending
fifteen hours creating a photorealistic 3D model of car tyre
is probably not a good use of time, when a primitive cylinder
New grade boundaries would suffice.
helloworld.cc 95
HELLO, WORLD!Everything you need to know about the new computing and
digital making magazine for educators
Q WHEN IS IT AVAILABLE?
Your new 100-page magazine will be available
A 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!
ITS 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
youre entitled to a free print edition, too.
96 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:
GET IN TOUCH
Want to talk? You can reach us at:
contact@helloworld.cc
helloworld.cc 97
OPINION
in short, they need to become fluent are able to hold productive conversations in it and,
perhaps later, become able to write stories, essays
(or at least conversant) in one, or two, or poems in the language.
98 helloworld.cc
helloworld.cc
100 (helloworld.cc)