You are on page 1of 100

WELCOME TO THE NEW MAGAZINE FOR

COMPUTING & DIGITAL MAKING EDUCATORS

10 TIPS TO SUPPORT
INDEPENDENT LEARNERS
Keep your independent students engaged
and motivated with our expert advice

Issue 3 Autumn Term 2017 helloworld.cc

BACK TO CODE
BASIC
Using BASIC and GOTO to teach
CLUB
FOR
TEENS
the foundations of programming

BUILD PONG New resources for

IN SCRATCH
9- to 13-year-olds

A lesson plan for 11-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

FEATURED THIS ISSUE

Hello World is a joint collaboration:

This magazine is printed on paper sourced from


sustainable forests and the printer operates an
environmental management system which has
been assessed as conforming to ISO 14001.
LINDA LIUKAS ALAN ODONOHOE CAT LAMIN Hello World is published by Raspberry Pi
PROGRAMMER, CAS MASTER TEACHER RASPBERRY PI CERTIFIED (Trading) Ltd., 30 Station Road, Cambridge,
CB1 2JH. The publisher, editor, and contributors
STORYTELLER AND AND LEADER OF EDUCATOR AND CAS accept no responsibility in respect of any
omissions or errors relating to skills, products
ILLUSTRATOR EXA.FOUNDATION MASTER TEACHER or services referred to in the magazine.
Except where otherwise noted, content in this
Linda is a programmer, storyteller Alan taught Computing and Technology Former primary school teacher, magazine is licensed under a Creative Commons
Attribution-NonCommercial-ShareAlike 3.0
and illustrator from Helsinki, Finland. in schools for more than 20 years. He founder of Coding Evening and Unported (CC BY-NC-SA 3.0).

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

NEWS AND FEATURES

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

your community event

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

n The finalists and winners gather on


stage to celebrate their achievements

APPS FOR GOOD AWARDS 2017


Students pitch their innovative technology ideas to experts at annual awards

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

THE MARKETPLACE IS AN IMPRESSIVE


DEMONSTRATION OF ALL THE DIFFERENT
presented by Apps for Good Fellows
(graduates) Jashvanth and Alex. The
Fellows demonstrated the incredible

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

CODE CLUB AGE RANGE


EXPANDS WORLDWIDE
New resources and training available for Code Clubs for 9- to 13-year-olds

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

THE STUDENTS WERE MORE THAN


EXCITED AT THE PROSPECT OF MORE
of the free resources available at Code Club.
The idea behind the projects is that
theyre flexible, Quevedo tells us. You can
CHALLENGING PROJECTS use any computer with a web browser, and
all the materials and training are free.
Club leaders do not need to be coding
Existing resources include projects to spanning a wider age range of students experts to run a club. They can come
based on Python, HTML, CSS, and physical that lends itself to mentoring. Code Club will to one of Code Clubs regular training
computing also perfect for use with an older be a superb transition activity for students sessions, or learn alongside the students.
age range. moving from primary to secondary school, They can also complete any of the
Raspberry Pi Foundations courses on
the FutureLearn platform (see page
42 for details). These courses can be a
fantastic preparation for running a Code
Club, says Quevedo.
All the Code Club resources are free
to download (helloworld.cc/2vJpM2Z).
Teachers and volunteers can find plenty of
support for their Code Club by registering
at the Code Club World website
(helloworld.cc/2vfNNhE).
It is important that teachers register their
Code Clubs with us, Quevedo reminds us.
The resources are open to everybody, but
there are huge advantages to registering,
as registered clubs have access to lots
more resources and support. Teachers
who register gain access to supporting
materials, such as posters, certificates,
n Code Club resources are now officially available for 9- to 13-year-olds and competition prizes.

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.

NEW ZEALAND ANNOUNCES NEW


DIGITAL TECHNOLOGIES CURRICULUM
Digital Technologies expanded to cover primary and secondary schools

ew Zealands Education Minister, as algorithms and programming, while the


N Nikki Kaye, has announced a new DDDO area includes understanding of
curriculum for students from their first the digital information technologies that
year of schooling. people need in order to locate, analyse,
Called Digital Technologies/Hangarau evaluate, and present digital information
Matihiko, the new curriculum is backed up efficiently, effectively, and ethically, as well
with $40 million of funding to support the as becoming more aware of how to build,
change. The money will provide professional install, maintain, and support computers,
learning and development for teachers, networks, and systems.
the development of interactive resources, The draft includes a Te Reo Mori (Mori
and an equity fund, plus scholarships, and language) version that covers the same
competitions for students. material as the English medium curriculum,
A draft of the curriculum has been but also has extra material that reflects the
published for consultation, which will run unique aspects of Te Marautanga o Aotearoa
until mid-November. A final curriculum is to (the national curriculum for Mori-medium
be released for use from the beginning of teaching). The aim is to enable students to n New Zealands Education Minister, Nikki Kaye
2018, becoming mandatory in 2020. learn about digital technologies in various
The draft Digital Technologies material is situations from a Mori world view, and The draft curriculum for consultation
equivalent to computing in the UK. It has two demonstrate Mori values and principles to is available at helloworld.cc/2ule2jQ.
knowledge areas: Computational Thinking ensure that designers and users create a The official announcements can be
(CT) and Designing and Developing Digital positive impact in their whnau, hap, iwi found at helloworld.cc/2vicQz0 and
Outcomes (DDDO). CT includes topics such and local and global environment. helloworld.cc/2ulTE67.

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

n Philip Colligan (left), CEO of The Raspberry Pi Foundation, and Giustina


Mizzoni (right), Executive Director of the CoderDojo Foundation

RASPBERRY PI MERGES
WITH CODERDOJO
Teaming up to deliver more for young makers and coders

he Raspberry Pi Foundation and


T the CoderDojo Foundation have
merged, with Raspberry Pi Foundation
CEO Philip Colligan joining the CoderDojo
board. The two Foundations will share
back-office resources and expertise to
deliver more quickly on their shared goals.
CoderDojo fans wont see any change
at the Dojos, however. CoderDojo
spokesperson Rosa Langhammer tells
us that CoderDojo is and will always
remain 100 percent content, software
and hardware neutral! The Raspberry Pi
Foundation works to put the power of
digital making into the hands of people all
over the world, continues Rosa, and the
CoderDojo mission is to give every young
person an opportunity to learn and create
with technology. By combining our efforts
n A Dojo in action, with experts and mentors helping kids make and code we get closer to these shared goals.

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.

WE DECIDED WE SHOULD JOIN FORCES


TO ACCELERATE THE GROWTH OF THE
Visit helloworld.cc/2vBgAhE for details.
You dont need technical skills to start
a verified Dojo, just the ability to bring

CODERDOJO MOVEMENT people together, and a passion for the


power of code to build a positive future.
To search for a Dojo near you,
run a CoderDojo. That means investing in of people with similar goals, cooperating check the interactive map at
the tools and resources that CoderDojo on new projects, and pooling all our zen.coderdojo.com.
champions and mentors need. experiences and talents to give more
Enabling more people and businesses people the opportunity to learn and be
to set up Dojos wont be easy. Thats creative with technology. Perfect timing
Why now? In a word: demand, Philip
explains. We know that young people all
over the world are crying out for places
they can go to learn how to get creative
with digital technologies. Education
systems arent responding quickly enough
to that demand, so we decided that
we should join forces to accelerate the
growth of the CoderDojo movement.
Both Foundations were established at
around the same time, and weve been
working together in lots of ways from
the beginning, says Philip. Lots of the
people who are CoderDojo champions
and volunteers are also members of
the Raspberry Pi community. He also
confirms that we have no plans to
change the approach to Code Club or
CoderDojo; our priority is encouraging
the growth of both initiatives all over
n Any hardware and software is fine, as long as youre coding the world.

helloworld.cc 13
OPINION

CARRIE ANNE PHILBIN DIRECTOR OF EDUCATION AT THE RASPBERRY PI FOUNDATION

WATCH AND LEARN


How online video is changing the way we teach computer science

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.

Content for teachers


Continued professional development can be tricky to fit in
with the everyday demands of being a teacher. Trying to
find time to be released from the timetable to attend courses
is always a cause of frustration. Thankfully, Computing At
School (who spend every moment thinking about how they
can support computer science teachers) created CAS TV

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

STORY BY Oliver Quinlan

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

Quigley, from Glasgow Science Centre,


worked with CoderDojo Scotland
and Digital Scotland to look at some
of these approaches and see how
well they work.

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

Comparative judgement research showing that humans are


Creativity, problem solving and original
approaches are key to computing, yet these
relatively poor at making objective
judgements about individual objects, but FURTHER
things are very difficult to assess using
traditional approaches. Its very common
very good at making comparisons. Play a
musical note to most people and ask them
INFORMATION
in education to use criteria to assess how what it is and they will struggle. Play them
well students are performing. We might two notes and ask them which is higher n I nside the Black Box:

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

STUDENTS ARE GIVEN FEEDBACK AS THEY


LEARN AND HAVE THE OPPORTUNITY TO
for the assessment of skills that involve
approaching problems in an open-ended
way, and assessing complex skills without
ACT ON THIS FEEDBACK IMMEDIATELY resorting to trying to predefine what
successful students must do. Assessment
organisation No More Marking is exploring
using wide briefs for tasks, or even open- dont have clearly defined criteria, such as this approach for English and Maths
ended projects. looking at working in maths and asking in partnership with schools.
Comparative judgement is a field who is the better mathematician? It can Assessment is all about students getting
relatively new to education practice, which also be reliable, even when the judges better at something, but it seems there are
offers huge potential for solving this are peers at a similar level of proficiency. also some promising avenues for educators
problem. Its based on well-established This opens up some exciting new ground to get better at assessment.

n Assessment for Learning is designed to serve


the students learning - not to certify that they
have achieved a set standard.

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

apability in programming, as in other


C areas of academic study, requires
knowledge and the skill to apply that
knowledge. Assessing both requirements at
the same time is asking a lot from teachers,
but questions, problems and projects might
all play a part here. In our cover feature,
Cynthia Selby, Mark Guzdial, Barbara
Ericson and Michael Ball discuss multiple
choice questions, Parsons Problems and
autograding Snap! code; Rob Leeman, David
Malan, Doug Lloyd, Jess Moreno-Len and
Gregorio Robles explore different approaches
to assessing projects for GCSE Computer
Science, for Harvards CS50, and in Scratch;
and Doug Belshaw and Pete OShea
consider Open Badges, and how theyre used
by various organisations.

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

Unlike the other three axes correctness,


A MULTI-AXIS
which can be assessed with autograders; GRADING PHILOSOPHY
Some questions we consider when style, which can be assessed with linters;
looking at design: and scope, which can be assessed by a Assessing programming through different
quick glance (see box, right) grading axes allows us to test several skills via a
n H
 ow frequently do the same lines design can take significant time and effort, single assignment.
of code repeat? for experienced and inexperienced teachers
alike. Students in CS50 submit their code to n S
 cope rewards student effort in solving
n D
 oes a students code have an course staff via GitHub, and teaching fellows problems, reiterating the importance of a
over-reliance on loops or magic can offer feedback via comments on GitHubs culture of error, and normalising the idea
numbers? web interface. The ability to use saved replies that failure to completely solve a problem is
for issues that might recur across multiple not a total failure, but rather still a learning
n D
 id the student choose the most students can save some time over writing the opportunity. (Did you try?)
efficient algorithm? same comment out again, and grading design
only becomes quicker and easier once one has n C
 orrectness judges the performance of a

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?)

via the design axis is, in our opinion, the most


n D
 esign considers the efficiency,
n How
 many lines of code did the valuable. Indeed, comments on design are
elegance, and clarity of a students
student write? The length of a intended to get students thinking about what
code from an organisational standpoint.
students submission is often, makes one solution better (or worse) than
(How does it work?)
though not always, a good proxy another, even if both have the same output.
for how well-designed that code is: This reinforces the notion that there is no
n S
 tyle is the most human-focused axis,
if fewer lines of code are needed, one right answer in solutions to problems,
which considers how readable and well-
the student is probably taking and hopefully encourages students to commented the code is for others who
advantage of an efficiency. be more cognisant of their programming might need to read it. (How does it look?)
decision-making.

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

TOP TIPS it can hold two values at the same time. A


distractor that expresses that understanding
FOR MCQ DESIGN would help identify students who need
additional help before moving on. You should
n Assess one, and only one, objective also consider common errors in processes. A
n This question shows how ordering can be used to assess
student with a misconception about indexing the skill of sequencing
n Provide four response options
may always be out by one, so a response
n P
 rovide one, and only one, incorporating this misunderstanding would instructions to meet a requirement. Slightly
clearly correct response also make a good distractor. simpler would be asking a question that
n D
 o not use none of the above Its not difficult to write an MCQ that just required the identification of a single
or all of the above assesses the students ability to recall a instruction to fill a gap.
fact. Its much more challenging, but not
n U
 se distractors based on misconceptions
and common errors
impossible, to write MCQs that assess Getting started
application, analysis, or creation. With Writing questions with a colleague is an
n M
 ake all distractors plausible
application, a question could be confined excellent way to get started with writing
n G
 ive necessary and clear context first, to a single step in a multi-step processes. MCQs. Receiving feedback on questions is
if required; then, separately, Analysis can be assessed by asking what if the best way to improve them. As time goes
ask the question type questions where students predict what on, remember to go back and review your
n U
 se images as appropriate to support will happen next. An even more challenging questions. If one distractor is never being
context, or as alternative responses assessment of analytical skills is to define a selected, youre missing an opportunity to
requirement, such as an output, and ask the test a true misconception.
n S
 hort sentences are easier to understand
student to select which program solution One of the easiest and simplest ways to
n M
 ake all response options meets that requirement. Certainly, MCQs get started with MCQs is to join a group and
grammatically parallel dont lend themselves to the creation of share your work. Project Quantum is a joint
n M
 ake all response options program solutions. However, they can be project to crowdsource MCQ computing
of a similar length used in ordering exercises, where students questions. You can find more information by
must choose the correct sequence of visiting helloworld.cc/2eN44Vr.

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.

AND LEARNING Barbara Ericson


Barbara is the Director
of CS Outreach for the
Parsons Problems are programming puzzles that improve College of Computing
student learning and provide an effective assessment technique at Georgia Institute
of Technology.

ost of us teach programming by sometimes have to provide the correct


M asking students to write lots of indentation as well. RESOURCES
programs from scratch. It makes sense as
a kind of learning by doing. The problem Advantages Try Parsons Problems at
is that programming is hard. A mistake, Completing Parsons Problems is easier helloworld.cc/2vJfttg (our free
like forgetting to add a colon, can lead to for students than writing the same code interactive e-book for students) or
a student spending hours tracking down from scratch. They never get a syntax helloworld.cc/2uZcFKH (a companion e-book
the error. error if they only have to order the correct for teachers). Both books teach introductory
Parsons Problems (invented by Dale blocks. Our research evidence suggests programming concepts using Python.
Parsons at Otago Polytechnic, New that Parsons Problems are still challenging Author your own Parsons Problems
Zealand) give students a programming for students; students still learn from or create your own interactive
problem, and give them all the lines completing them; and most students enjoy e-book using Runestone Interactive:
of program code to correctly solve them. We have some evidence that they helloworld.cc/2uZO3Sd
You can also create your own Parsons
the problem, but the lines of code are might be learning as much from solving
Problems with paper, make magnets out
broken into code blocks and mixed Parsons problems as if they had written
of each block, and ask students to order
up. Imagine your code presented as the code from scratch.
that code.
refrigerator magnets: the students must A big advantage of Parsons Problems
place the blocks in the right order, and is that they take less time. Students can
solve several Parsons Problems in the time students Parsons Problems, it is likely
it might take them to write one piece of that they will both finish some of the
code from scratch. That means that we problems. We find that Parsons Problems
may be able to give students more of these are a more sensitive assessment of
puzzle-like activities, and get through programming knowledge than traditional
more learning in less time, than with one code-writing problems.
code-writing activity. Barbaras research is exploring variations
of Parsons Problems. In some of her
Assessment problems, she makes the problem slightly
In our research group, we have also harder by adding blocks which should not
explored the use of Parsons Problems as be part of the solution. These are called
an assessment technique. Imagine that distractors. She is exploring versions of the
you have two students, one of whom problems where an undesirable block (the
has learned more than the other. If you distractor) is visually paired with a block
give both students a programming task that should be included, which draws the
on an assessment, you might find that students attention to exactly the issues
neither student finishes the task. Or one that the teacher most wants them to learn.
might finish, and the other might not For example, the distractor block could
n A Parsons Problem with the correct code broken into code blocks
and mixed up (top). A solved Parsons Problem (bottom). make much progress at all. If we give the contain a common syntax error.

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.

ust as professional software


Gregorio Robles
J developers use automated tools to
Gregorio is an Associate
help them with their daily tasks, students
Professor at Universidad
and teachers who use programming for
Rey Juan Carlos, Madrid.
the development of computational thinking
He is active in the field
should be able to take advantage of such
of technology-enhanced
solutions in the classroom. While this is
learning, and the study and evaluation of
an area that still requires research, there
computational thinking.
are already some tools that educators can
n Figure 1 The Dr. Scratch feedback report offers an assessment
easily incorporate into their lessons to of computational thinking skills, and provides ideas to improve
the analysed Scratch project
support their evaluation tasks. problem decomposition, logical thinking,
synchronisation, parallelism, algorithmic
Evidence of computational thinking For instance, lets imagine a project in notions of control flow, user interactivity,
The blocks used in a Scratch project, as well which every time a decision must be made and data representation. These dimensions
as the way these blocks are combined, not based on the value of a sensor or variable, are statically evaluated by inspecting the
only establish the behaviour of the sprites the programmer has exclusively used If source code of the analysed project, and
in the project, but can also be used to blocks. If this project is compared with given a score from 0 to 3, resulting in a total
provide evidence of computational thinking, another project where the programmer has mastery score that ranges from 0 to 21
such as logical reasoning, abstraction, also used If else blocks when required, when all seven dimensions are aggregated.
or data representation. we would all agree that the second project With this information, the tool generates a
shows higher levels of logical thinking. In feedback report, as shown in Figure 1.
the same way, a project making use of lists How can teachers use Dr. Scratch in the
DR. SCRATCH would demonstrate a better understanding classroom? The tool could be used to detect

ASSESSMENT SAMPLE of data representation than a project using


only variables; and a project that includes
students who never use certain instructions
in their projects, such as logic operations
the use of clones would show higher levels (And, Or, Not) or flow control structures
Dr. Scratch computational thinking score: two
of abstraction than a project in which the (different types of loops). Specific tasks
points for flow control, because it includes a
programmer has created multiple copies of could be prepared for those students to
Forever loop; two points for user interactivity,
as players interact with the sprite by using
a sprite using identical scripts. help them to learn these concepts.
the mouse; one point for logical thinking, However, manually inspecting each
because of the If statement; and one point for of our students Scratch projects can be Limitations and opportunities
data representation, since the orientation and difficult and time-consuming. Wouldnt it be Several fundamental aspects of
position properties of the sprite are modified. nice if we could use tools to automate part programming, such as debugging or
The other dimensions received no points. of the process? design skills, are not assessed by the tool.
Other crucial aspects of the projects, such
Automating assessment as originality or creativity, are not taken
Dr. Scratch is a free web tool that into account either. Consequently, Dr.
analyses Scratch projects to assess the Scratch should not be understood as a
development of computational thinking replacement for evaluators or mentors, but
skills. The assessment is based on the as a supporting tool that automates tedious
degree of development of seven dimensions work, and lets the human instructors focus
of this competence: abstraction and on the added-value parts.

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

Badge benefits and the recipient deem valuable. For more


One of the biggest benefits of badges
is that they can be evidence-based. Not
introverted students, its a great way to
help them tell their stories of success.
OPEN BADGES
only can individuals display a credential Among the many positives for students
The Open Badges specification was
claiming mastery of a particular area, using badges is the idea thatthey can be developed by Mozilla in 2011 with support
but they can prove it by making the linked together to form a currency that from the MacArthur Foundation. Since
badge point to relevant evidence. This lasts from their very earliest years, right the then, millions of badges have been issued
can be anything that works on the way through to adulthood. Although you to hundreds of thousands of people
web: a screencast, a CodePen demo, may choose to call them digital credentials, around the world, in both formal and
or a working app. medallions, stars, or whatever seems informal contexts. The specification is
Another advantage is that Open Badges appropriate at the time, the Open Badges now stewarded by IMS Global Learning
can be issued for anything. You can award specification underpins all these schemes, Consortium. To find out more visit
a badge for participation, for exceptional ensuring that they are interoperable and openbadges.org.
effort, for joining a club whatever you standards-based for the years to come.

helloworld.cc 29
FEATURE

Badge Anatomy by Class Hack. Creative a license CC BY-SA.

LINKS
TAKE A LINEAR, SEQUENTIAL APPROACH,
OR MIX THINGS UP TO MAKE LEARNING
Open Badge Academy: helloworld.cc/2vqztkl

Code Kingdoms: helloworld.cc/2uhp4sO


MORE FUN AND ECLECTIC! CoderDojo: helloworld.cc/2tNlanT

Digital badge FAQ: computingfaqs.net


How do I get started? systems you may use, including WordPress,
Moodle: helloworld.cc/2vr9zx0
There are three main ways: Moodle, and Drupal. Meanwhile, there is a
list of off-the-shelf issuing platforms on the
n Build your own solution openbadges.org website. and eclectic! The important thing is that
Teachers of secondary computing may the metadata contained in each badge
n Install a plug-in for a popular be interested to know that Computing evidences the progress made towards each
open-source platform At Schools Progression Pathways have learning statement.
associated badges based on learning There are plenty of ways that teachers,
n Use an established badge provider statements that are compatible with life parents, and other interested parties can
after levels. Its up to you whether you want get involved in capturing learning wherever
Most people choose the second or third to take a linear, sequential approach, or it happens. Why not get started and issue
options. There are plug-ins for all the major mix things up to make learning more fun your first badge today?

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

STUDENTS WHO PERCEIVE THEMSELVES


AS BEING IN CONTROL OF THEIR LEARNING
OFTEN DEVELOP GREATER CONFIDENCE
this we developed our own Open Badges to they have learnt at their local Dojo. The end
acknowledge and reward young people for goal is for these portfolios to assist them in
the new skills (both digital and soft) that they the future: to gain work experience, in job
are learning at Dojos around the world. applications, and for college and university
Open Badges are like Scout badges, applications. In addition, badging gives
except digital! Young people participate and community members a sense of connection
learn at their local Dojo. They are awarded and membership with other members of
a specific Open Badge once they have their Dojo, and in the wider CoderDojo
achieved a set list of tasks that accurately movement, through cultivating a culture
represents a specific skill. of reward and recognition.
Students who perceive themselves
as being in control of their learning often Pete OShea
develop greater confidence and increased Pete is in charge of
self-esteem. Open Badges can be a useful Community EMEA and
motivational tool to support this process, events for the CoderDojo
by encouraging young people towards self- Foundation. He explains
directed learning, starting new projects and the benefits of digital
learning new languages in order to earn badges for the CoderDojo community
more badges.

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

Not a UK-based educator?


Buy any issue for 6
Visit: helloworld.cc/buyissue
Subscribe from 15 for 3 issues
Visit: helloworld.cc/sub1year

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 ..................................................

Address .................................................................................................................... Address ....................................................................................................................

.................................................................................................................................... ....................................................................................................................................

Postcode ........................................... Email ......................................................... ....................................................................................................................................

Daytime phone ............................... Mobile ...................................................... Postcode ........................................... Email .........................................................

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

PROGRAMMING AND PLAY


How embracing play made me a better educator

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,

CREATIVITY IN even today. Being able to build ever


more complicated worlds and structures
exploration, and the joy of finding a new
way of solving a problem. To rediscover
PROGRAMMING without the need for physical components playfulness in programming I needed to
like LEGO bricks is fascinating, especially visit a small town in Italy.
for a child. Most children at least once in
n D
 ecomposition and logical thinking
their lives feel very powerless. Someone THE COMPUTER IS LIKE A FOREIGNER, AND
As Ruby says, Even the biggest problems
else comes up with the rules but IF YOU WANT TO TALK TO IT, YOU HAVE TO
in the world are just tiny problems stuck
not in programming. SPEAK ITS LANGUAGE.
together. Every programmer starts by
breaking down the problem at hand. YES, BUT THE COMPUTER HAS TO
How is programming related to play? UNDERSTAND HOW WE TALK, TOO, AND IT

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,

I WISH TO SEE PROGRAMMING BECOME ONE


TOOL IN A BIG BOX OF SELF-EXPRESSION
and pipettes. This can help us to present
a more colourful, exciting computing
culture. Why does Reggio keep inspiring
me after 70 years of existence? I think the
the outside it has very little to do with I would never have anticipated. Thats answer lies in wonder. These pedagogical
computing: the approach highlights respect, why most of the exercises I create for kids movements have helped me to rediscover
responsibility and community through include discussion points, and very few of my own wonder around technology. It is
artistic exploration and discovery. them have right or wrong answers. I think this wonder that allows me to invent new
The first thing I learned to love from it is important to give kids permission to teaching practices that offer unusual and
Reggio was the idea of a hundred languages. trust themselves and allow for many right beautiful pathways to computing.
The core idea of Reggio is that a child has answers to a question.
hundreds of ways of expressing themselves: The third thing that really resonated with
with clay, gestures, paint, and rubber stamps.
However, in schools we often limit children
me is the idea of observing children at work,
and responding to their unique needs. Ive
FURTHER READING
to writing and reading. Reggio educators learned to simplify my writing, creating
treat the computer as just one more material exercises and materials that have only a n H
 ello Ruby:

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.

Barefoot is easy to understand


The theme of accessibility continued with
another interviewee. One of the most
popular resources is Crazy Characters,
offers Dr Jonathan Chippindall, a primary
teacher in north Manchester. It demystifies
some computing terminology, such as the
word algorithm, in a way thats really easy
to engage with, he adds.
Barefoots resources and workshops are  ne of the most popular Barefoot resources is the Crazy Characters activity
nO
all completely free of charge, which helps to
explain why large numbers of primary schools
are getting behind them. But none of those are going to rely more heavily on Great cross-curricular benefits
we spoke with teachers and education understanding computer science, adds Barefoot stands out as being very
academics even mentioned the fact that Jonathan Chippindall. You only have to accessible to teachers, adds Joy Christie.
The instructions are really easy to
understand, no matter how little you know

THE INSTRUCTIONS ARE REALLY EASY TO


UNDERSTAND, NO MATTER HOW LITTLE
about computer science. It also gives a
range of lesson plans that dont just cover
computer science. For example, in social
YOU KNOW ABOUT COMPUTER SCIENCE subjects, you can use the World Map Logic
activity. Theres so much that teachers can
see that they can apply to different areas of
schools were not dipping into their sparse look at things like driverless cars, delivery the curriculum.
budgets to access Barefoots resources. drones, and jobs such as working in
supermarkets on checkouts. These roles Accessibility and flexibility
Barefoot addresses a global challenge are being replaced by computers, and the One overarching theme has emerged:
The changes to the national curriculum, skills of tomorrow are going to be coding. Barefoots accessibility. Without fail,
from ICT to computing, are incredibly The Barefoot resources enable teachers to everyone we talked to indicated that it
important, because the jobs of tomorrow deliver that part of the curriculum to pupils. is Barefoots ease of use that makes all
the difference.
Barefoots training and resources may
well be free and, of course, convenient.
Undoubtedly this acts as an incentive
for cash- and time-strapped schools.
However, the evidence suggests that it is
overwhelmingly the resources accessibility
and flexibility that has really appealed
to the 40,000 primary school teachers
now confident in teaching computational
thinking at a primary level.

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

NICHOLAS PROVENZANO TEACHER

GETTING PHYSICAL
The Nerdy Teacher, Nicholas Provenzano, explains how getting physical
with computing can inject excitement into the classroom

y introduction to the world of digital making Physical reaction


M involved working on Python, Scratch, and
Minecraft on a Raspberry Pi. These were
I helped to facilitate a Picademy event in Ann Arbor,
USA. After a day of exploring digital computing and some
also the tools I used with students when I introduced aspects of physical computing, the educators were given
them to the Raspberry Pi. After a while, my students three hours to make a project using their new skills. There
were starting to get restless working on screen-based were many great projects: using a camera to take pictures
projects. The digital side of computing was not enough and then tweet them; using a light sensor to activate a red
for them, and it was not enough for me. I needed to find LED to let people know that a bathroom was occupied; and
ways to expand what everyone was doing. It was time a mood-ring-esque device that played music based on the
to dive into physical computing. temperature of the person who held the sensor.
The excitement infecting these educators, as they took
Physical learning their digital computing skills and transferred them to making
The exciting thing about Raspberry Pis, Arduinos, and physical projects, was fun to watch. The projects were so
micro:bits is that they allow users to explore digital varied, and they took risks to see how far they could stretch
computing alongside physical computing. I noticed their knowledge to make their projects work. By doing so,
that introducing physical computing into the classroom they expanded their skills in a way that was meaningful to
them. This is what students need in the classroom.

Combining the digital and physical Physical challenge


sides of computing takes learning Combining the digital and physical sides of computing takes
learning in an exciting new direction for students and their
in an exciting new direction teachers. It is important to keep challenging and encouraging
students to explore the unknown. Taking their digital making
allowed students to explore different aspects of both skills and offering them the chance to build and iterate is a
worlds in ways that were meaningful to them. They great way to allow students take ownership of their learning
were fully engaged because they had a project they had and direct it where they want to explore exactly what
chosen, and they wanted to make it work for everyone every teacher hopes to impart to their students.
to see. Since the students already had the basic digital
computing skills, they welcomed the opportunity to jump Nicholas Provenzano is a high school English teacher, author,
into more complex physical computing and bring their speaker, and consultant. He has been featured on CNN.com,
digital skills to life. This can be true for all learners new Education Week, The New York Times, and other media outlets.
to digital and physical computing.

helloworld.cc 39
FEATURE

SCHOOL LEADERS MATTER


Support from the school leadership team is crucial for successful computer science teaching.
How do you get them on board?
STORY BY Niel McLean

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

MOST SCHOOL LEADERS ARE DRIVEN


BY A DESIRE TO DO WHATS BEST FOR
THE STUDENTS IN THEIR SCHOOLS
established subjects such as geography leaders will simply pass it on to an already
are on the curriculum, in specific terms hard-pressed head of computer science.
such as understanding how places shape It includes a short booklet aimed directly
people and people in turn shape places, at the school leadership team.
few could do the same for computing. If the leadership team has passed the
We also have one serious advantage whole toolkit to you, why not take the short
its generally recognised that computing booklet (its called Excellent Computing
matters to the future of the UK. Dr Saima in Every School) to the senior leader with
Rana, Principal of Westminster Academy, curriculum responsibility. When they have
agreed with this, bringing in the wider read it (it takes only a few minutes to read),
economic context. As a computer talk to them about how they could use the
scientist herself she is aware of the other leaflets to help introduce computing
shortage of computer science and IT in your school. Suggest that a small team is
skills in the economy, and recognises set up that reports directly to the leadership
the opportunities this creates. team; offer to raise the awareness of school
Where school leaders see the governors; and stress that this is about
importance of computing for their improving your students life chances.
students, they have taken practical Of course, a few slim leaflets cant
steps to support their teachers, often change everything, but hopefully they can
adopting innovative approaches. As Sion help support a conversation between you
Humphreys, a professional adviser to the and your schools leadership team that
National Association of Head Teachers, helps computing to flourish in your school.
has said: Effective school leaders are Good luck.

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

he Raspberry Pi Foundation our Picademy attendees getting excited


T has been running Picademy, on Twitter, we often get questions like
COMING SOON a successful face-to-face training Why havent you run a Picademy near me
programme for educators, since 2014. So yet? When are you coming to train us?.
Following the success of the first two courses, far, more than 1500 educators around the It has been frustrating, having to tell eager
the Raspberry Pi Foundation is delighted to world have taken part in the programme. educators that we are not able to deliver
announce the launch of two new courses in the This free face-to-face training has proved Picademy everywhere. We decided to find
autumn term. hugely popular. On average, we receive a way to reach educators around the world,
three eligible applications for each available so now you can access our free courses
PREPARE TO RUN A CODE CLUB
place. However, this model of delivery is online wherever you are, and whenever
This course will give you the confidence and
not without its limitations. After seeing you want.
skills to launch and run a Code Club. Youll
get practical advice and tips from volunteers,
teachers, and Raspberry Pi Foundation staff, and
explore the resources that Code Club provides.

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

curriculum, I have taken the opportunity to


teach computer science and coding, particularly
at KS2.
I have participated in the physical computing
and primary programming online training
courses. The physical computing course was
great for improving my subject knowledge, and
n More than 1500 educators around the world
have taken part in the Picademy programme also for consolidating the learning I had recently
enjoyed at Picademy. It was really useful to gain
this subject knowledge, which will be invaluable
Learning together online failure. This is an idea we have been talking as I develop my use of physical computing
In February 2017, we were delighted to about a lot in our team, and it was amazing to in the classroom.

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

TO BUILD SKILLS EACH WEEK suits my style of learning. My favourite part


of the courses was making the practical light-
flashing activities on the physical computing
Raspberry Pi and Python. Thousands of One educator, Jordan Renault, made a course. Being fairly new to Python and physical
educators have been building their skills, thought-provoking observation. He pointed computing it was great to have some success!
completing tasks such as writing a program out that when we were infants learning to The videos and screencasts were really useful,
in Python to make an LED blink, or building walk, our attempts were celebrated, and the especially to take things step by step.
a voting app in Scratch. falls were seen as a necessary product of Participating in the courses has had a
The two courses are scaffolded to build learning. We should try to not lose this outlook positive impact on me, in terms of subject
skills each week. Learners are supported as we grow older. knowledge, introducing more structure to my
by videos, screencasts and articles, and Learners on the courses have been teaching, and taking ideas and transferring
they have the chance to apply what very positive about the experience. They them readily into the classroom.
they have learned in as many different have appreciated the way the content
practical projects as possible. Visit is structured, building the difficulty each Your ideas
helloworld.cc/2uye60k to join us. week as skills and confidence grow. It has There are lots of other courses in
been wonderful to see learners using the development. Look out for courses on
Classrooms all over the world courses with their students in class. One creating a makerspace in your school,
The highlight of the courses for me has been learner commented, The opportunity to and moving from block- to text-based
watching the rich discussions between learn from and discuss ideas and thoughts programming. We are always open to
learners from more than 120 countries. with my peers was invaluable I have so ideas about what to develop next for our
More than 800 learners on the Physical many ideas to implement Scratch in my online courses. If theres something youd
Computing course had a great discussion classroom next academic year, thanks to really like to learn about with us, email us
around the concept of learning through the ideas submitted. at onlinelearning@raspberrypi.org.

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

e often think of the learning process While it was created by a Dutch


W
SPOTLIGHT ON for text-based programming
languages as being similar to learning a
programmer, Guido Van Rossum, Python
is a programming language written in
FRANCISCO GOUVEIA foreign language, but how much harder is English. The commands are all English,
that process if your students are already and it is common practice in the global
Job description: learning English as an additional language? Python community to write code almost
Computer Club Coordinator Most popular programming languages, exclusively in English, including the naming
and Teacher on the island including Python, contain syntax which is conventions for variables, functions etc.
of Principe fundamentally English. This adds a whole even if the programmer does not speak
First language: extra layer of learning for EAL students, English as a first language, or even fluently.
Portuguese and we must be aware of this if we are There can be problems with Python
Other languages spoken: to effectively teach computer science interpreting non-ASCII characters, and
Many! to these pupils. further problems can arise when libraries
Language spoken by pupils: Portuguese
I recently met Francisco Coutinho are written in both British English and
Programming languages taught to pupils: Scratch
Gouveia, who teaches Portuguese- American English.
speaking students on the island of Principe. Programmers around the world seem to
Problems encountered: While its easy to switch He mentioned the difficulties hes been agree that learning English is a core element
languages in Scratch, so that pupils can learn facing with teaching students to code when of becoming a developer, as it establishes a
about block-based coding in their own language, English isnt their first language. It got me common ground for discussion. Indeed, one
the libraries of images are still in English and thinking about the same problem in UK commenter on stackoverflow.com explains
this already causes problems for my pupils. schools for EAL pupils. that he learnt English because of his desire
They can find it difficult to find a specific image One thing we know about CS and to learn to code, but it was only after he
because youre effectively spelling out letter coding is that its incredibly empowering for had learnt the core commands that he
sounds instead of just saying the words. Ive students across a range of abilities. Even understood their literal English translations.
made a start with translating the libraries for
students who find academic subjects difficult This raises the question: do we need to
my pupils, but its hard work for them and for
can find success in coding, and Ive seen understand the commands we are typing
me, and as soon as a new version of Scratch is
an incredible improvement academically in in order to understand and recall the core
released, I have to start again. Id considered
pupils who have attended Code Clubs and commands of Python?
teaching my students Python as a next step,
Raspberry Jams. Their passion for computer
but for them its that much harder because
Python is written in English and they only
science has improved their computational A deeper understanding
thinking skills, which in turn have improved I would argue that, while it is possible to
speak Portuguese.
their academic performance. simply learn the commands by rote, it is
Next Steps: To tell you the truth, using Python Can we provide the same significantly easier to apply them if you
wasnt in my immediate plans, although I was experience for EAL pupils in an can appreciate why you are using these
exploring the idea. But reading through Carrie English-speaking classroom? words and phrases. For example, it helps to
Anne Philbins Adventures in Raspberry Pi, understand that while True means that as
and the transition she proposes of using Teaching Python long as the code is running, the statement is
the same types of commands but in two Lets take a look at Python, the most popular true and will keep looping forever. Without
different languages, and in so doing gradually language taught in schools in the UK. Its understanding English, this phrase is just
graduating from Scratch to Python - the popularity is due to the balance it strikes a random collection of letters. If we attach
problem kind of popped up... between ease of use and the ability to solve meaning, and a local translation, to this
complex challenges. phrase, there is a greater chance of the

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.

Modern Foreign Languages


Modern Foreign Language (MFL) teachers
would argue that in language learning,
understanding through context can be a key
aspect of learning. Being able to translate
Image credit: Connor Ballard-Pateman core vocabulary is also an essential aspect
of learning any language, whether that is a
spoken language or a computer language.
student being able to retain and use the The first method assumes that the user is Indeed, when we teach Python to English
phrase effectively in future code. able to abstract relevant information without speakers, it is essential to explain the
Its also useful to remember that libraries, the need to understand the individual vocabulary to the learners when it is unclear
APIs and supporting documentation words. It is possible to understand and write for example def is short for define, which
are all usually written in English. It is programs in Python without completely allows us to define a function.
therefore valuable for users to gain a basic understanding the translation of the words. Its also worth considering the English
understanding of the English language. However, this is a limited method for language and its significance as a
teaching and would only be useful at the global language. English is currently the
The solution most basic level. language of the internet, the language
Based on my experience, I would propose
one of two strategies for teaching Python
to a non-English speaker.
PUPILS ARE TAUGHT TO UNDERSTAND
HOW DIFFERENT METHODS WORK
n A
 ssume the user will accept the
commands at face value with no
explanation of the specific vocabulary.
AND WHY THEY ARE EFFECTIVE
Instead, explain their context within the
code e.g. while True is a forever loop. It The second method provides a more of trade, and the language of commerce.
doesnt matter if you dont understand robust understanding of the English However, we need to be aware of the
the words while or true in your native language, and of the logical reasoning behind often quoted arrogance of the English-
language what is important is your the code. My experience is that learning by speaking world: the assumption by native
understanding of what the code is doing. rote is not the most effective way of ensuring English speakers that everyone speaks
This would require clear descriptions that pupils retain their knowledge and apply English. Lets not offend communities
of the purpose of various commands their understanding to unfamiliar situations. in the non-English-speaking world by
throughout the written resources used Retaining and applying knowledge is more assuming that they are willing to learn and
by the teacher. likely if pupils are taught to understand understand English phrases. We cannot
how different methods work and why they assume that they already understand
n A
 llow users the opportunity to translate are effective. In classrooms today, pupils words and phrases like true or false or
and understand commands, core words are often taught not just to memorise their if. I would suggest that time is taken to
and phrases. Spend time identifying multiplication tables, but to understand ensure that the resources we provide
key words and phrases that are multiplication in various different ways. are not patronising, and do not assume
common in Python, and use them to They might use arrays to better understand a dominance of the English language.
create a worksheet or paper resource multiplication as the repetition of groups, It is essential that we are nurturing and
which explains these words in the which in turn allows a better understanding supportive of learners so that we achieve
users native language and then tests of division, as pupils recognise those groups our goal of making computer science
their understanding. as part of the inverse operation. accessible to all.

helloworld.cc 45
FEATURE
OER Global Logo by Jonathas Mello is licensed under a Creative Commons Attribution Unported 3.0 Licence

OPEN EDUCATION RESOURCES


Software development has benefited greatly from the free and open-source software movement.
Can the world of education benefit as well?
STORY BY Marc Scott, Head of Curriculum Development at The Raspberry Pi Foundation

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

OPEN EDUCATION working on his own operating system


and collection of software tools that he
written by the original creator, Linus
Torvalds. That means that around 14.7
LINKS AND called the GNU operating system. His million lines of code have been written by
idea was that the code for GNU software volunteers working on Linux.
RESOURCES would be available for people to read,
share and improve. He even created his Why open-source?
n C
 reative Commons licences:
own license, which software developers Why do organisations, businesses, and
creativecommons.org could use, called the GNU General Public volunteers spend so much time and effort
Licence (GPL), and in doing so began the developing open-source software, if
n O
 pen University OpenLearn Create: open-source software revolution. theyre not going to sell it on? The truth
helloworld.cc/2ucgjNj Today, companies such as Google, is that open-source software is usually
Microsoft, Apple, and many more are a vast improvement on anything a single
n O
 ER Commons:
all creating or contributing to open- individual or company could produce in
www.oercommons.org
source software and hardware projects. isolation. Open-source software has the
n C
 omputing At School resources site: Additionally, thousands of programmers, advantage that large numbers of people
helloworld.cc/2tX2wih designers, and engineers volunteer can study the code, find bugs or potential
their time and talents to develop open- improvements, and then alter the software
n R
 aspberry Pi Resources:
source projects. The Linux operating themselves. As a result, this software is
helloworld.cc/2vlJbYC
system, for example, is the predominant often more robust, more powerful, and
operating system on mobile devices, easier to use.

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

OPEN-SOURCE SOFTWARE IS USUALLY A VAST


IMPROVEMENT ON ANYTHING A SINGLE INDIVIDUAL
Foundation publishes
all its resources under
a Creative Commons
OR COMPANY COULD PRODUCE IN ISOLATION Licence, and we love
it when people help
improve our resources.
when theyll be used with the next cohort The movement has grown rapidly since You can see all our educational content
of thirty students. Wouldnt it be better if, then, with a huge number of universities, on GitHub, copy the resources if you like,
as educators, we shared the resources we colleges, and schools offering their tailor them for your students, and then
produce, allowed others to correct them and educational material for free. But anyone, submit improvements.
improve on them, and let our learners access including individuals, can assist in helping Whether you share and publish your
them, for free, at any time of the year? the OER movement to achieve its goals. resources or just help improve someone
Open educational resources (OER) are Any educator can open-source their work. elses, becoming part of the OER movement
teaching and learning materials that are Its as simple as copying and pasting a will help educators and learners all over the
freely available online for everyone to use: Creative Commons licence to the bottom of world, and together we can try to replicate
educators, students, or independent learners. a worksheet or scheme of work, and then the success of open-source software in the
The key aspect of OER is the licence under publishing it online. world of education.

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

Planning ahead Delete the cat sprite and add a sprite


Begin by thinking as a class about that looks like a ball. You can use What happens when the ball hits
which sprites will be needed for the one of the existing sprites or you can the edge? Can you add something to
game of Pong. To do this, you could paint your own ball. make the ball bounce off when it hits
show a video of the original game Pull out blocks into the Scripts an edge? (figure 3)
and ask students to identify the area to do the following:
different objects they can see.
Students will then implement a n When the flag is clicked
basic Pong game in Scratch. This n Move the ball 10 steps (figure 1)
will act as a refresher for those
students who have covered the
concepts previously, but will allow

ALTERNATIVE ACTIVITY IDEAS


Figure 1 Figure 3
Revise and create
Adapt this project theme for other age groups: 2. Bouncing ball
Rather than bouncing from side
14-18 years Programming to side, when our ball hits a wall
Use the same concept to assess the starting level of your GCSE or A we want it to bounce off the wall
level Computer Science students. Set a tutorial task followed by an at an angle.
opportunity for students to be more creative and show off their skills.

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

Remove the if on edge bounce 5. Extra challenge


block. In its place, we need some If we now have two players, we need
new code. You need to figure out to have some way of keeping score.
how many degrees to allow the ball
to turn. n C
 an you use the variables in
Scratch to create a score box for
n If each player?
n T
 he ball is touching the edge Figure 5 n H ow will a player score a point?

n Turn random degrees Perhaps each end of the game


n Move 10 steps (figure 4) bounce if it is touching the paddle? board could have a different
The code for bouncing is exactly coloured line so we know when
Experiment with the range of the same as the code you used the ball has reached it.
random degrees the ball can turn - to bounce off the wall in step 2 n W hen one player scores a point,

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,

move up the screen


n W
 hen the down key is pressed, Assessment task
move down the screen During the following lesson, set the
4. Two player mode assessment task for the students.
Hint: To get the up and down n Duplicate your paddle sprite. They must use all their skills to
movement, think about which axis n C
 hange the keys you use to move design and build any game of their
on a graph represents up/down the sprite, otherwise one player choice in Scratch. Students who
(figure 5). will control both paddles! have done Scratch before should
Start the game and check that n C
 hange the starting position of attempt to show off their skills, and
your paddle moves. You might the second paddle so that it starts those who are new to programming
notice that the ball doesnt bounce on the opposite side of the screen. or to the Scratch environment will
off the paddle. Can you add some n N
 ow alter the ball script so that it not be left behind, thanks to the
more code to the ball to make it bounces off the second paddle. introductory tutorial.

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

do the seconds reset to zero? What


the direction of the second hand? How have you used repetition and variables in
happens to the minutes at this point? your code? Why?
The clock is now complete,
How does your code drive the clock hands or
Coding a stopwatch and can be set using the sliders
Challenge students to code a simple accessible by double clicking digital numbers?
stopwatch in Scratch. Which three the variables windows.
variables will they need? Why? As an extension: Why not get pupils
Students will need to know how to to create a second clock face with 11- to 13-year-olds), create a digital
use Scratchs Repeat until block Roman numerals, and add code to clock, which uses the variable values
with an operator to ensure that the switch between the two? Or, even to switch costumes for a digital
stopwatch counts correctly and we more challenging (See suggestion for style display.
also need it to start at zero each time.
n Create your own clock in Scratch

Driving a clock face (or three!)


With a bit of tinkering we can now
repurpose our code to drive a clock
face (or three). Ask pupils to create
a clock face background in Scratch
and draw three clock hands as
separate sprites (Top tip: ensure the
hands are drawn horizontally and

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

designed this scheme of when they are ready to go on to


I work to introduce game the next step of the process, or
design to my Year 4 students in a seeks assistance from me, and is
fun, collaborative way. They role- the one from whom I ascertain
play working in the games industry, the groups progress.
and design a game to meet specific I allocate more than a term and
requirements. It is easy to make a half (40-minute lessons, once a
links with other subjects: this unit week) to this unit to enable them to
is cross-curricular with History finish their games. They learn key nA
 game based on the Blitz
as they explore the history of skills, including the game design
London during the spring term. process, writing pseudocode
Heterogeneous groups no greater algorithms, user interface design, The game design process
than four work best, and each collaboration in Google Docs, game An engaging way to begin a
group selects a leader. creation in Scratch and, of course, game design unit is to discuss
The group leader has the usual programming. Encourage them to students favourite video games.
responsibilities of keeping track start small by creating a simple, This will be a lively conversation
of time and ensuring everyone is working game, and not worry about students love playing games
on task. He or she also tells me levels or choosing a character. and talking about their favourites!
Delve deeper into this discussion
n A game based on the Great Fire of London by asking students to explain
why they enjoy those games. This
should elicit responses such as
that they are fun, colourful, and
challenging; they have a theme
(car racing, football); and so on.
Project their responses so they
can instantly see the requirements
for a successful game.
I believe in teaching a game
design process. I want students
to appreciate that there is a
creative design process that
needs to be followed in order to
create products, from the original
concept or client brief to testing
and evaluating. There are various
processes for game design, and I
combine ideas from a few models
to make it accessible for my Year

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

n A completed game on the theme of the Great Fire of London

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.

Algorithm for game screen: Algorithm for lose screen:


n W
 hen on backdrop 2 get n W
 hen you fall off the bridge (if
the bridge in front touching blue) show lose screen

n Put the obstacles on the bridge n Y


 ou can lose by hitting one of
the obstacles or hitting the side
n L
 et the player use the arrow of the bridge
keys to move.
n W
 hen on lose screen put a sad
Algorithm for win screen: emoji in the middle of the screen
n I t will show the win screen when

you have crossed the bridge and n H


 ave a sprite that has a button
you are going onto the next stage that says start again and on the
other side have a button that
n I ftouching (brown colour) switch says quit game. The sad emoji
to win screen will have a sign saying try again.

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

ENCOURAGE THEM TO START


SMALL BY CREATING
built into the game requirements,
or they can market their game
by creating a print or TV advert,
A SIMPLE, WORKING GAME or use Makey Makey to create
a controller for their game.
End the project with groups
Using their algorithms, they a studio I created where I have assessing each others games
locate the required blocks, and added projects with commonly by playing them. This can be
basically teach themselves event- required code. They put the code done by letting them add their
driven programming. When the from the projects in the studio projects to a studio you create.
green flag is clicked, they know the into their backpack and incorporate They can Favourite or Love
title screen and play button sprite it into their project useful for projects and add comments.
should show; and when the play students who require scaffolding,
button is clicked, the game screen

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

PYTHON AND SQLITE


Ben Garside introduces SQLite3, a Python library that allows you to create
and manipulate local databases

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);
''')

We use the cursor.execute()


function for the first time here. In the
following brackets, we enter our SQL
script as a string.
Our table will be called user, and will
include the fields shown above. If you
are familiar with MySQL, you will start
to notice some differences in syntax
here. You will notice that the Primary Key
is declared next to the field. In sqlite3
you can declare this at the end of the
SQL table creation statement by writing
INTEGER PRIMARY KEY. This will not
only make the userID field the Primary
Key, but it will also automatically auto-
increment the value with each user that is
created, guaranteeing that each entry is
 ew user creation in the database GUI
nN given a unique identifier.

56 helloworld.cc
FURTHER READING
Full SQLite tutorial:
helloworld.cc/2uhjYKV

Learn more about the syntax used with SQLite,


and how to do more with relational databases,
at the tutorialspoint website:
helloworld.cc/2susXGB

The YouTube videos on which this tutorial is based


can be found here:
helloworld.cc/2txVv76

These videos take the project further, creating a


n Username validation check in the database GUI relational database called Quiz that stores quiz
questions and users scores.

To extract all the data from the table


SQL commands arent case sensitive, but it is we are going to use the wild card * which This query is designed to demonstrate the
good practice to write the commands in capital represents all. SELECT * FROM user; data retrieval process. If you only wanted to
letters for readability purposes. will pull out the data we need. We also extract the users first name and surname,
need to tell the program to fetch the results. the query SELECT firstname, surname
FROM user; would be more appropriate.
Inserting data into the table Code:
Lets create a test user to make sure that cursor.execute("SELECT * FROM Making a function to add a user
the table is accepting the data in a way user;") Now that we have created a table, it would be
that makes sense. Were going to use the print(cursor.fetchall()) useful to allow new users to create accounts
cursor.execute() function to run a for themselves, rather than expecting an
simple INSERT INTO script. We will add Output: administrator to enter all the users manually.
a new line at the end with the instruction [ (1, 'test_user' , 'Bob' , The first step is to ask the user to create a
db.commit(). This line saves the data 'Smith' , 'MrBob' ) ] username. We need to add some validation
to the database; without it the data would at this point to prevent a new user from
not be saved. Code: choosing a username that already exists. The
cursor.execute("SELECT * FROM code below uses several of the concepts we
cursor.execute(""" user;") have learnt about already.
INSERT INTO results = cursor.fetchall()
user(username,firstname for item in results: def newUser():
,surname,password) print("Welcome: found = 0
VALUES("test_ ",item[2],item[3]) while found ==0:
User","Bob","Smith","MrBob") username =
""") Output: input("Please enter a username:
db.commit() Welcome: Bob Smith ")
with sqlite3.
Extracting data from your user table The first example shows that cursor. connect("Quiz.db") as db:
To extract data from tables you use SELECT fetchall() does print the data in cursor =
queries, which can be written to specify the the table, but the output is not ideal. It db.cursor()
format of the data. For example, you may demonstrates that each row of the results is findUser = ("SELECT *
want to extract just the usernames and being stored in a list. In the second example, FROM user WHERE username = ?")
passwords, and order them in ascending we have implemented a loop that would loop cursor.
order by username; or you may want to through all of the results (if there were more execute(findUser,[(username)])
pick out all users with the surname Smith. than one record in my table). This method if cursor.fetchall():
This example will pull out all the data from demonstrates that we can be clever, and pick print("Username
the table so that we can see what that out only the specific fields we want to work Taken, please try again")
looks like. Then we will look at ways to use with. For example, item[2] picks out the else:
Python to manipulate the data. third item in the list. found = 1

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?

Ben Garside is a teacher at


Durham Johnston School. He
trained in ICT but converted
to Computer Science with a PG Cert in
n A password validation check Computer Science from Newcastle University
using the GUI

58 helloworld.cc
OPINION

MARK THORNBER TEACHER

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

M mathematics of prime numbers. The basic idea


is that knowing the product of two large prime
many mathematicians and computer scientists to find ways
of working more efficiently with primes.
numbers does not make it easy to find the original numbers.
As a challenge, I multiplied two prime numbers and the Using RSA
answer was 700179159413. Can you find the two numbers The first of the modern methods using primes is called
using only a simple calculator? The obvious method of trying RSA, after the inventors Ron Rivest, Adi Shamir, and
every possible factor would take a very long time. A Python Leonard Adleman, who published their method in 1978.
program to try all odd factors took 0.1 seconds. To use RSA you find two very large prime numbers, p and
q, and keep them secret. You then calculate the product,
import time n=pq. Next, you find another prime d, between max (p,q)
n = 700179159413 and n. The numbers n and d are your public key. You tell
start = time.clock() them to everybody. People can now use this public key
i = 1 to encrypt messages to you, but only those who know p
notfound = True and q are able to decrypt them.
while notfound: The inventors illustrated the method with some small
i = i + 2 numbers: Suppose p=47 and q=59, so n=2773, and we
if n%i == 0: now choose d=157. Now represent your message as a
notfound = False series of numbers smaller than n e.g. by using ASCII codes.
end = time.clock() Help becomes 72,101,108,112. For each number N in the
print(i, n//i) message, replace it with m=Nd(mod n), the remainder when
print(end - start) Nd is divided by N. 72157(mod 2773)=288 etc.
To decode, we need to know p and q. First we find a
There are more efficient ways to attempt to solve number e so that de=1 (mod (p-1)(q-1)), and then calculate
this problem, but all the known methods involve a lot of Me (mod n) for each number in the message.
systematic trials. The time taken increases to many years
for the very large primes used in internet encryption. message = Help
d = 157

FOLLOW-UP QUESTIONS n = 2773


listmessage = [ord(letter) for letter in
n H
 ow can we find very large (500 digit or more) prime
message]
numbers quickly?
code = [pow(x,d,n) for x in listmessage]
 ur program uses the built-in Python function pow to
n O
print(code)
do the hard work. How does this calculate enormous
powers quickly?
The fact that we can always find e, and that this gives us
n R unning the program with a message Hello shows that
back the original message, follows from the mathematics
each letter always gives the same encrypted number. This
of prime numbers discovered more than 250 years ago. In our
makes the method vulnerable to frequency analysis. How
simple case e=17 and 28817=72 (mod 2773), etc.
can we avoid this?
n S ince everybody knows the public key, how do you know
the encrypted message comes from the person who claims Mark Thornber has been a maths teacher at Durham Johnston
to have sent it? How do we know it wasnt intercepted and School for the last 25 years. Mark has been interested in the
replaced with a different message from some mischief-maker? mathematical parts of computing since owning his first ZX81.

helloworld.cc 59
OPINION

GREG MICHAELSON PROFESSOR OF COMPUTER SCIENCE

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

T languages, memory is typically divided into


the stack (for variables and sub-program
addresses on the stack. Lets consider the effects of:

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

THE STRANGE CASE OF C shown in figure 1.


Like many languages, C distinguishes array structures, a is initialised to 0 (i). After b is initialised from a, each
where every element is the same type, and record has their own copy of 0 (ii). Subsequently, changing a
structures (structs), where fields may be of different doesnt change b (iii).
types. C further distinguishes structure variables from
structure pointer variables. For structure variable n Figure 1: integer variable to variable assignment
declarations, space is allocated for the structure on the
stack, and the identifier is an alias for the first element.
However, for pointer variable declarations, space is only
allocated on the stack for an address. Subsequently,
b 0 b 0
structure space must be allocated explicitly for the
variable to point to. a 0 a 0 a 1
Inconsistently, C does not permit array variable
assignment, but does permit struct variable stack
assignment, which is by copying. Now, if a struct (i) (ii) (iii)
has an array variable field, then it will be allocated
DECLARE a DECLARE b SET a TO 1
stack space along with the rest of the struct. Thus, INITIALLY 0 INITIALLY a
whole arrays may be copied on the stack through
struct variable assignment. After assigning a base type from a source variable to a target
variable, assigning to the source doesnt change the target

60 helloworld.cc
OPINION

n Figure 2: array variable to variable assignment with address sharing

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

n Figure 3: array variable to variable assignment with copying 2 2

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

t the recent Scratch conference


A in Bordeaux, Mitch Resnick,
Professor of Learning Research at MIT
Media Lab, Director of the Lifelong TEENTECH AWARDS
Kindergarten research group and Head URL: TEENTECH.COM
of the Scratch Team, used his keynote AGES: 11-18
presentation to talk about his teams
guiding principles: projects, passion, play Having guided groups of Year 7
and peers (helloworld.cc/2tOO9g7). students to the TeenTech Awards
While programming perseverance final on a number of occasions, Im
produces prizes may not be quite as particularly fond of this competition.
aspirational, the use of competitions in my Students develop products linked to ANIMATION 17
teaching of computer science has allowed specific categories, which are judged URL: HELLOWORLD.CC/2UEA3L7
students to undertake a range of engaging externally, and feedback is given to AGES: 7-19
projects, collaborate extensively, and visit all entrants. Finalists are asked to
locations across the country to showcase develop their project further, and This popular competition, now in its
their work. invited to attend an event at the Royal tenth year, allows individuals and groups
Society in London. In addition to a to develop a one-minute animation,
Combined motivation final judging round, the event includes which can be produced using a range
Papert, in his writing on Constructionism, visits and talks from famous names of software, including Scratch. Students
argued that students learn best when in technology (Brain Cox, James May can work individually or in groups, with
they are engaged in making things for and Martha Lane Fox have all taken separate prizes of Amazon vouchers
others. Combining this motivation with part over the past few years). The available for KS2, KS3, KS4 and KS5.
the possibility of feedback from external competitions patron, HRH The Duke Prizes are also available for a special
judges, and success on an international of York, invites the eventual winners in e-safety category. Older children may
level, competitions can facilitate enhanced each category to Buckingham Palace also wish to consider the free digital-art
student outcomes, engagement and to receive a prize of 1,000. camps run by 3Dami (3dami.org.uk).
motivation. Many competitions have a
cash prize available for the winners, and

Image: PA Consulting Group


introducing a unit of work with the phrase
the top prize is ten thousand pounds is PA CONSULTING
an extremely useful hook however, care GROUPS
needs to be taken to manage expectations RASPBERRY PI
and ensure this is not seen as a substitute COMPETITION
for well-planned, engaging lessons. URL: HELLOWORLD.CC/2H7SAWW
The competitions listed here have AGES: 8-18
been used successfully as part of my
computer science teaching with primary- This competition has been running for five
and secondary-aged children. Each years, and the theme for 2016-17 was
competition has several different focus Innovation for all, which saw students
areas, which gives children some flexibility producing products aimed at improving
in their choice of project, and encourages the lives of people who have conditions
creativity. Students also need to plan that limit their ability to do things some of
their work, continually evaluate their rest of us take for granted. The finals are
progress, and collaborate with others held at the IET in London and the winners
all essential experiences for developing in each category receive 1,000.
their computational thinking skills.

62 helloworld.cc
BEBRAS
URL: BEBRAS.UK
AGES: 6-18

While the other competitions on these


pages focus on students designing
and developing projects, the Bebras
Computing Challenge aims to introduce
children to computational thinking.
The competition runs in more than
40 countries, and the next event is
scheduled to take place between 6 and NESTA LONGITUDE
17 November, 2017. There are separate EXPLORER PRIZE
competitions for different age groups, URL: HELLOWORLD.CC/
and students can work on questions 2V5S9G7 Introducing competition
from previous years prior to the event. AGES: 11-16 How can you begin to use these competitions
The top-achieving students are invited within your school? Start by visiting the
to a final round and celebration, in Now in its second year, this years URLs on this page. Most competitions have
addition to being eligible to enter more Longitude Explorer Prize examined a mailing list or newsletter, and will send
challenging competitions to further how the Internet of Things (IoT) you a reminder when competition materials
develop their understanding. For can be implemented innovatively in have been released or entries are open.
information on Bebras, see page 68. healthcare. Finalists develop their Previous years resources can be examined
projects in conjunction with IBM, to determine where the competition will fit
as well as pitching their ideas and in with your schemes of work, and you could
showcasing their prototypes to a link the project with other curriculum subjects,
judging panel. The winning school such as science, or design and technology.
receives 10,000, with runner-up Alternatively, a competition could be chosen
and individual prizes also available. as the focus area for a specific group of
The next Longitude Explorer Prize students, such as your schools Digital
will run this autumn. Leaders or as part of an after-school club.

Every few months the Raspberry


OTHER
Pi team sets a challenge for COMPETITIONS
groups to get creative with
RASPBERRY PI technology. The latest challenge Information on a range of other
PIONEERS was entitled Make it outdoors, competitions can be found on the CAS
URL: HELLOWORLD.CC/2JQNIJG and the next tasks will be website at helloworld.cc/2u4KCJk, or
AGES: 11-16 launched in September 2017. in our FAQ (page 86).
Image: Raspberry Pi - Anna Gordon

helloworld.cc 63
OPINION

WILLIAM LAU TEACHER

EXERCISE BOOKS IN COMPUTING


Give your students an indexed revision guide, full of their own coursework.
Better still, let them write it themselves!

his is not an attempt to convince you to switch All pages are numbered and we give clear

T to exercise books, although some of you may


be compelled to use exercise books having
presentation guidelines such as:
n All written work to be completed in blue ink

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

first, given that I had used Google Classroom, GSuite


and various VLEs before. However, after four years, Ive We trim all our worksheets down to size so that they
developed a system that Im happy with, and it is one of fit into the books. The images show some examples
the keys to providing academic success for our pupils. of exercise book work. We do not print out all their
programs, but we certainly print out assessments.
Judging a book by its cover These usually have marksheets attached, and then
The first thing to consider is the front cover. In my first students print out the improved copy.
year, I made it compulsory for each student to decorate
the cover of their book. It provided buy-in, and it also
prevented students from using the excuse of mistaking
TEACHING COMPUTING
their computing book for a subject which used the same IN SECONDARY SCHOOLS
colour. However, as the standard of decoration varied William has recently finished a book
greatly, I now make this decoration optional, and make which provides a step-by-step guide to
students aware of our high standards by showing them teaching computer science at secondary
previous examples. level. It offers an entire framework for
As books would get somewhat worn and tatty, we also planning and delivering the curriculum,
bought plastic book covers. These kept the books in good and shows you how to create a supportive
condition throughout the year, and allowed students to environment for students in which all can
tuck loose sheets into the back pocket between lessons. enjoy computing. The focus throughout
We stipulate the key information that should be on is on giving students the opportunity to
the front cover, and we also state that there need to be think, program, build, and create with
two pages dedicated to a table of contents. This ensures confidence and imagination, transforming
that students can use the books as revision guides them from users to creators of technology.
throughout the year.

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

n Use collaborative working in the classroom to demonstrate


the real-life experience of a software developer

WHAT DOES A DEVELOPER DO?


Ever wondered what a software developer really does? Nicholas Tollervey explains

STORY BY Nicholas Tollervey

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

n Students working hard at this years finals in Oxford

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:

AN EXAMPLE There are many reasons why schools might


want to take part .

BEBRAS PROBLEM Bebras can enthuse students in


computational thinking and computer
science. The tasks provide a baseline test
Agents Boris and Bertha communicate using
that is relevant, targeted at computer
secret messages.
science, and can be used to show progress.
Boris wants to send Bertha the
The tasks are easy to administer. There
secret message:
is a simple upload procedure for students
details, a two-week window when students
MEETBILLYBEAVERAT6
can take part during their normal computing
He writes each character in a 4 column
lessons, and there is no software to install.
grid from left to right and row by row We do the marking and provide detailed
starting from the top. results, certificates and an answer book with
He puts an X in any unused spaces. full explanations and details on how the
The result is shown below: tasks relate to computer science all for free,
and within two weeks of the challenge.
The competition takes place in November,
and can provide a focus for a teaching unit
in computational thinking in the autumn term.

Its not just for two weeks!


The problems set are all archived for schools
to use at any time during the year. Last year
81,000 UK students took part during the In another collaboration, the UK and
Bebras Challenge itself, but the resources Germany are working on the development
were used by more than 100,000 students of a Bebras App for students, to run on
during the rest of the year! You can easily mobile devices, and available by the end
have a look at the interactive, auto-marked of September. The UK is also developing
challenges by visiting bebras.uk and clicking a Schools Platform, which will enable
on the Past Challenges button halfway registered School Coordinators to register
Then he creates the secret message by
down the page. teachers at their schools, as well as
reading the characters from top to bottom
registering their students. The teachers
and column by column starting from the left:
Future developments will then be able to build their own self-
MBYVTEIBE6ELERXTLAAX
In March this year, thanks to the kind marking challenges for their classes,
sponsorship of Tata Consultancy Services, made up from as many or as few of our
Bertha then uses the same method to we ran a pilot follow-on Challenge for archived tasks as they wish. Selecting
reply to Boris. The secret message she sends the top ten percent of achievers in the UK suitable tasks should be easy, as all our
him is: Bebras Challenge. Again, these resources tasks are now being categorised with a
have been archived for schools to use with two-dimensional system based on the
OIERKLTEILH!WBEX all their students throughout the year. A computational thinking skills they require,
number of other countries in the Bebras and the relevant computer science
QUESTION: community are thinking along the same domains, as well as important key words.
What message does Bertha send back? lines, and have expressed an interest in This new facility will be continuously
collaborating with us. Working together, we improved, with more of our past catalogue
plan to ensure that, over future years, the added as time goes by.
over the last two years, we have been quality of tasks remains of a consistent, high
astounded by the number, and difficulty, standard. It is hoped that, when we are fully
of problems some of the UKs talented established, other organisations that run LINKS
students can solve, accurately and quickly. challenges or competitions might approach
This experience has been inspiring, and us about inviting some of their students to Bebras UK: bebras.uk
makes us even more determined to make take part in this new challenge, so that other
Bebras available to as many young people routes of entry become available. To find out TCS Oxford Computing Challenge: tcsocc.uk
as possible. more, visit tcsocc.uk.

helloworld.cc 69
FEATURE

GOTO FOR EDUCATION?


The GOTO statement is outdated, and usually represents poor programming practice,
but does this mean there is no educational value in it? I think not!
STORY BY Paul Powell

n many subjects, we teach students A missing link


I basic ideas, approximations and, The first great thing about the GOTO
on occasion, outright lies. We do it to command is that it is easy to understand.
help students to grasp fundamental The second is that it can be used to explain
concepts before moving on to a subtler what loops and other items of structured
understanding in later years. This is programming actually are (see figure 1).
n Figure 1: a GOTO can be used to make loops like this do/while loop often based on historical developments They provide an easy bridge from simple
in understanding. For example, we teach sequences to branching and iterating. When
that matter is made up of atoms which debugging, students can follow the code and
Start are indivisible. Students then learn about say It shouldnt go to here it needs to go to
subatomic structure, and that under there instead.
specific circumstances one element can Of course, in time, students will leave
output: What become another. Later they learn that behind the GOTO. As they advance onto
protons, electrons and neutrons are made structured programming and object
is your name?
up of quarks, and so it goes on. orientation they will see it as quaint and
In science, we also show the scientific simplistic, like counting on their fingers or
method by contrasting Priestleys rhymes that tell them how to form letters.
input: name phlogiston with Lavoisiers oxygen, or
geocentric theory with heliocentric theory. Caveat
Of course, any professional scientist would Im writing the schemes of work for
be ridiculed if they believed in atoms introducing text-based programming next
say "hello"
that were indivisible, an orbiting sun or year, based on my thoughts here. Ive not run
followed by name
phlogiston. That doesnt mean that the a class through it yet. Ill write another article
ideas dont have educational value. to let you know how it went!

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

RICHMOND MATHEWSON TEACHER

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

O where I have introduced children aged 8 to 16


to LiveCode (livecode.org), as a way to get them
programming message, rather than the lets play games
messages from computers with graphical user interfaces.
programming quickly. They do not work at the speed of light, and they have a
While LiveCode allows beginners to rapidly produce direct connection to the user. Nothing is hidden behind icons
simple programs, it has certain drawbacks, including a or inside colourful folders.
lack of transferable skills to take to other programming Theres no copy and paste option, so children really have
languages and environments. Educators attempting to to pay attention to what they are doing, unless they want to
introduce children to programming with block-based keep retyping lines of code.
approaches such as Scratch often encounter the same In four or five lines of code, I can illustrate the building
problem: children become extremely adept at producing blocks of coding in an easily digestible fashion, rather than
programs with Scratch, and Scratch alone. having code hidden behind blocks or objects.

Formative experiences Boosting confidence


I began to reflect on my own history in computer With BBC BASIC, my students rapidly completed new
programming, which started with punching holes in Hollerith programming tasks. They even began to explore BBC BASIC
cards, and then progressed to FORTRAN IV. Programming at home, expanding their skills and experience beyond our
really hooked me when my school obtained a Research classroom projects. Many of the children attending the classes
Machines 380-Z, and at university I spent a year delving into had previously used Scratch. Those children have all said that
Pascal. In 1989, I bought a BBC Master Compact and spent while Scratch is fun, it is like a toy compared with what we
all my free time learning BBC BASIC, mainly because I was could do with the BBC computers.
not interested in the games that came with the computer, and When we moved on to LiveCode after using BBC BASIC,
because I wanted the computer to do something for me. the students seemed more confident. I noticed that none of
them came up with the usual questions, along the lines of
A strong foundation Why doesnt this button do something?
I use LiveCode to develop in-house programs for content The children have just finished duplicating all the
delivery in my EFL school in Bulgaria. I began to suspect that, programming they did in BASIC in LiveCode, so they are
while it could be used to teach programming, it should be aware of the similarities and the differences between the two
preceded by a programming language and environment that languages. Next week we are going to start producing simple
does not conceal the building blocks of programming behind animation with LiveCode. It made me very happy to hear two
objects such as buttons and fields. children ask, Can we try that in BASIC as well? The answer
BBC BASIC filled this slot for a number of reasons. was, of course, Yes, why not?
Excellent, free BBC Micro emulators are available for Mac OS,
Windows, Linux and Android. This means that children can Richmond Mathewson has worked at all levels of
program using BBC BASIC at home, as well as at school. education from primary to university, and now runs his own
The BBC Micro does not have a GUI. As soon as it is English language and programming school in Bulgaria.
switched on it is ready for programming there is no entry

helloworld.cc 71
FEATURE

YEAR 9: FROM ZERO TO


MAKER IN SIX WEEKS
Sue Gray took a hands-off approach with her teaching so her students could
have a hands-on approach to their learning
STORY BY Sue Gray

or the last half term my Year Save Us projects (techwillsaveus.com).


F 9 students have been playing
around with micro:bits. We began with
I created a list of projects that included the
ingredients for each make and put this into
TECHNOLOGY
a couple of starter lessons, and I put our Google Classroom. Students were then WILL SAVE US
together a Getting Started presentation told to find a project!
to introduce them to the possibilities At first, the students were reluctant Technology Will Save Us is a small UK
of the equipment. They learned how to to branch out on their own they were company producing simple make it yourself
make a simple light display, display and so used to having me stand at the front kits and online tools to lower the barrier
scroll text, and edit the Fortune Teller of the class and tell them what to do, facing children and teachers who want to
game from the BBC website. and to all be doing the same thing. get started with the physical side of digital
They were uncomfortable with working making. Their micro:bit projects are available
Pick your own project independently, so I encouraged them online at helloworld.cc/2v2HQEX.
After that it was hands off: no more to try out the Bourne To Code projects
teaching just exploring, playing, (helloworld.cc/2v2TwaR) at first. I needed
developing and making. Id made sure a Post-it note stuck on my forehead that Taking steps
that I had most of the bits and pieces said, Read the instructions! They were not Then we had a lesson where everyone
needed to create a lot of the Tech Will keen on working without my guidance! discovered the step counter. Elastic bands
were in high demand this time. I quickly
Getting stuck in realised that the potential for chaos might
After four lessons, they got the idea. Yay! I outweigh the learning objectives as
should have been drinking tea with my feet students asked if they could go off around
up. Instead, I was in constant demand to the school, to count how many steps it
delve into my cupboard and bring out Sugru, takes to get to Science. We made a list of

WE HAD A LESSON WHERE IT SEEMED


THE WHOLE CLASS WANTED TO MAKE
THE POCKET PET
tin foil, copper tape, card, etc. They loved the routes and destinations, and students were
freedom and creativity, the teamwork and, told to work in pairs as they gathered data
finally, the satisfaction of making something. about the number of steps each one took to
We had a lesson where it seemed the get from A to B. The data was then put into
whole class wanted to make the pocket pet. I spreadsheets and they used the results to
ran out of Sugru by the time two classes had calculate averages. It was still chaotic, but at
completed this project! I also discovered that least there was some structure!
Sugru is not reusable. I think Ill encourage Everyone had a great time exploring the
the micro pet project in future its cheaper micro:bit, and I know that if I said we were
and less messy! We also found that Sugru going to revisit this topic, all the students
sticks like crazy, and I now have at least two would be up for it and they would even
n On-screen coding and off-screen making with the micro:bit micro:bits that may or may not work again. love to make more spreadsheets!

72 helloworld.cc
FEATURE

TEACHING SCRATCHJR TO YEAR 1


Matthew Wimpenny-Smith explains how to use ScratchJr and tablet computers to get
five- to seven-year-olds started with coding
STORY BY Matthew Wimpenny-Smith

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!

THE PROGRAM BLOCKS TOGETHER


more complex code. Many of my ideas Developing their own code
for these activities came from simplifying Once the pupils had a good understanding
code that I had created using Scratch. I also of the coding blocks, they were able to
found a number of activities on the ScratchJr move on to their own projects. During
website, scratchjr.org. At the end of each this term, the topic for Year 1 was
lesson I chose code from different pupils to Houses and Homes, so I asked them to
show to the class. make an animation to retell the story of
the three little pigs and their different
houses. In another lesson I showed them
a fish tank, and the challenge was to
make their own fish tank with all the fish
swimming around.
My experiences in these lessons have
shown that ScratchJr provides an excellent
introduction to coding, which has given
my pupils a good foundation for moving
onto Scratch.

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.

Make your own blocks


An aspect of Scratch that was missing from
the sampled scripts was custom blocks.
These purple blocks can be programmed
to do a particular job for a sprite. Once a
custom block is made, we can re-use it over
and over again, and if it needs changing, we
only need to change it in one place.
Using custom blocks demonstrates that
n Which is the easiest version to understand and debug? (There is a bug in one of the scripts.)
Thanks to Barefoot Computing for the original project. Code remixed by Jane Waite. we are breaking up our solutions into bite-

74 helloworld.cc
 XXXXXXXX
nX

FURTHER READING
Dr. Scratch:
drscratch.org

ScratchMaths:
helloworld.cc/2tYsNfC

Find your CAS regional centre:


helloworld.cc/2tZhiEt

Find your CAS Hub:


helloworld.cc/2t4ljCY

BCS Certificate in Computer Science Teaching:


helloworld.cc/2tZpq7V

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:

Nmap: allows you to scan an IP and see


which ports are open

PuTTY: allows you to use Secure SHell and


Telnet to access other computers

FileZilla: a piece of software that allows you


to copy files between computers
n Security risk: how many devices in your house or school
using FTP still use their default usernames and passwords?

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-

Setting up Raspberry Pis to hack


There are plenty of configurations you could
use to provide a target for hacking. You will REMEMBER TO TELL THE STUDENTS
THAT YOU ARE GIVING THEM
learn a lot by creating a hackable Raspberry
Pi for yourself, which is why I will not be PERMISSION TO ACCESS THE MATERIAL
providing detailed instructions. You will
also find that your setup evolves over time,
as students find different approaches to search will give you the top 10,000 or more. side code in a language theyre not familiar
solving the problem. You could present your Ask the students to think about how a list with, to show the commonalities and
hacking challenge as a single exercise, or like this could be produced. demonstrate why some things should be
use each step as a chance to introduce an When they have access to the network, handled on the server. Finally, they find a
area for discussion and learning. and have located an IP address, they can use message board. Using some SQL injection
Our basic setup consists of a number of Nmap to see that ports 22, 23 and 80 are to bypass the login box, this will allow their
Raspberry Pis connected to a hub, which is open. Looking at the website gives nothing message to appear on the Raspberry Pi.
then connected to the local network, or to a away (it is a simple holding page) and Telnet Completing this exercise leaves
WiFi router. Each Pi has an LCD HAT that is just broadcasting Blinkenlights ASCII the students with a great sense of
displays the IP address given to it when it Star Wars animation. Connecting via SSH accomplishment, as well as a better
is switched on. Each Pi runs a Telnet server is more rewarding, as they will be asked for understanding of cybersecurity. Theyve
and Web/MySQL Server. a username and password. This gives us a had the chance to learn new skills, and to
Each student is assigned a specific Pi, and chance to talk about default usernames and discuss the moral and legal implications
challenged to replace what is displayed on passwords. Think about all those webcams, of their actions. As Alexander McQueen
the HAT with a message of their choice. They printers, routers, etc. where people have said, Youve got to know the rules
then try to access their assigned Pi from a never bothered to change the default login to break them.

helloworld.cc 77
CONVERSATION 10 TIPS

10
TIPS
SUPPORTING
INDEPENDENT LEARNERS
Ideas for keeping your independent students motivated and engaged
STORY BY Rik Cross

1 Start small environment in which learners can start to


When transitioning learners gain some autonomy. An example of this
2 Provide motivation
to more independent styles of learning, is the Code Club ChatBot talking robot Learners will be more likely to
start by giving them the freedom to project, in which learners are encouraged see the benefit in what they are learning
make decisions in the context of more to make their own choices about their if they are given the opportunity to work
structured activities. Projects that provide preferred robot character, the questions on a project that interests them personally.
opportunities to personalise and extend it asks, and the way in which it responds The amount of freedom you are able to
on a basic project provide a structured to replies (helloworld.cc/2uP4ot0). give learners will depend on the context,
but being invested in the success of a
project will help learners to stay motivated,
and to have the determination to overcome
any challenges that they may face. This
doesnt have to mean giving learners the
freedom to choose anything they like.
Instead, you could give learners a choice
of open-ended project ideas, for a range
of interest areas.

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

What is an NEA? What will the students be assessed on?


NEA stands for Non-Examination Assessment. This requirement Students are required to solve a sequence of programming
was introduced to replace previous coursework components. It is a challenges. These typically include a requirement to analyse
practical component that is formally assessed as part of the GCSE, each problem, design algorithms, then develop, test and
with a weighting of 20 percent of the final GCSE grade. evaluate their solutions to the challenges. Teachers will need
to familiarise themselves with the specific requirements of
Why do the NEAs exist? the relevant specification.
A large amount of Computer Science involves practical problem Lack of familiarity with the requirements has, for example, led to
solving. While the new GCSEs include an exam that tests students some teachers stressing about two-dimensional arrays when the
knowledge and understanding of programming, computational requirement of their specification is only for one-dimensional arrays,
thinking, and algorithms, the NEAs allow students to submit some or worrying about teaching SQL when the requirements are only
coded solutions to problems. There have been some historical to write to and read from a file. While there is absolutely nothing
problems with coursework, and the NEAs are intended to provide wrong with students using these methods, the tasks have been
a more robust mechanism to ensure a level playing field for all designed to require only the skills listed for the NEA.
schools. As the NEAs are relatively new, there are many procedural
changes to assessment to implement. Schools may take a while to When are students expected to complete this?
adjust to the new processes. Students are allowed 20 hours of supervised time to complete
the NEA. The teachers can choose when to start and end the 20
hours, and even stop before the 20 hours if students have finished.

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.

What if the teacher has a very limited amount of time


available to prepare students?
In much the same way as learning any other new skill (driving a car,
drawing or learning the violin), it is possible to learn certain things in
a reduced amount of time. However, to really learn problem solving,
algorithms, computational thinking, and programming to a level
sufficient for the NEAs takes hours and hours of repetitive practice.
Anything short of this is unlikely to prepare students properly. In
my experience, teachers and students who have not had sufficient
preparation tend to look for shortcuts out of desperation, e.g.
searching for solutions from others, or looking for the answers
to an important test or exam.

helloworld.cc 81
CONVERSATION BLUFFERS GUIDE

Can teachers find solutions to the live NEAs?


While this may be possible, it is a very dangerous path to go down
and I would caution teachers against it. Teachers are prohibited from
providing their students with solutions to the live NEAs. If the teacher
subsequently discovers what they consider is a better solution to a
problem than the one their students would consider using, it would
be very tempting to show these solutions to the students.
It is worth stating that there can be many different approaches
to solving NEA-type problems. Once you have seen one solution
its impossible to un-see it, and hard to develop any alternative
solutions. My advice would be to avoid looking at solutions to NEAs,
and caution students against it as well. Also, some solutions shared
in the past have contained errors. If you learn from these or share
them with your students, youre not just committing malpractice,
but also proliferating the errors.
n The resource bank can contain examples of the students
own solutions to problems set during Year 10
How can teachers support students during the NEAs?
In the actual NEA sessions, support from teachers is strictly
limited. Outside the NEA sessions, teachers can give generic students can be provided with a pre-prepared resource bank.
advice and support, providing it does not refer to the NEA tasks After 31 August, nothing may be added to the resource bank,
or include solutions. Students may also do their own research but resources may be removed. Eduqas/WJEC and Edexcel allow
outside the NEA sessions, but most exam boards prevent students to be provided with examples of syntax, but no coded
students from bringing evidence of this research into the NEA solutions or examples of NEAs. For AQA, students are allowed full
sessions students may only use what they can remember. access to the internet during the NEA. Personally, I think that this is
Teachers might decide to plan some non-NEA sessions during the a distraction I think that students should be prepared before the
20-hour period for refresher lessons, e.g. file-handling practice, NEAs. If a student needs to search for help during an NEA, it shows
data structures, etc. poor preparation.

THROUGHOUT YEAR 10, PLAN FOR LOTS OF PRACTICE WITH


LOTS OF STEPPED PAIRED-PROGRAMMING CHALLENGES
DESIGNED TO SLOWLY BUILD CONFIDENCE AND COMPETENCE
If a student asks how to do something generally, For some teachers, this limit on resources has been a major
but it relates to the NEA, what should the teacher do? factor in choosing awards. If youre joining a school where the
As long as the teacher is only giving general advice and support, resource bank has not yet been prepared, you could probably
there is no problem with this. It would be worth clarifying this with use one from another school providing it was prepared before
students, and explaining that there are strict rules teachers have to 31 August. [ ! ]
follow, regardless of student difficulties.
How should students reference resources (when allowed)?
What feedback can the teacher provide to students? This is quite simple. If students use something in their NEA that
The simple answer is absolutely none. There are strict rules limiting they have copied from a resource, they should reference it. If they
teachers from providing feedback to students. It is likely that youll already know it, they dont need to.
still want to provide students with some regular assessment
feedback during the period of the NEA, so why not set a much How will students manage without internet access?
lighter parallel project on a completely different theme, unrelated Some exam bodies restrict use of the internet. [ ! ] Having
to the NEA? This would also serve as a useful teaching aid, but it conducted controlled assessments with internet access being
would need to be carefully planned to avoid similarities to the NEA. allowed, Im not convinced it helps the students during a formal
assessment. It can lead to laziness and the additional risk that
What resources are students allowed to use in the NEAs? solutions may be shared. Not having the internet available for the
This is where the widest variations exist between examining NEAs is a challenge, but it forces a different way of thinking and
bodies. For some GCSE qualifications, for example the OCR GCSE, discipline using the resources you have available to address the
no internet access is allowed at all during the NEA sessions, but problems youre being asked to solve.

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

HOW DO I KNOW WHAT


learning to code on a mobile tricky, and the potential
young coder will have to resort to curated apps from the Q
vendors app store, or in-browser applications.
There are plenty of apps out there that can serve as MODULES ARE AVAILABLE FOR
introductions to programming. For very young learners
there is ScratchJr, which is a mobile-friendly and simplified
PYTHON, AND WHICH I SHOULD
version of Scratch (scratchjr.org, featured on page 73). If you
want your learners to experience Python, then apps such as
BE USING WITH MY STUDENTS?
Pythonista 3 on iOS (helloworld.cc/2sWQdCc) or Pydroid Like any good Often the easiest way to find a
on Android might be suitable (helloworld.cc/2tzukaJ). A programming language, particular module is to use a search
There are also Android apps such as DroidScript, Python allows you to import engine. Typing Python package for
which can help students to learn JavaScript. As well as modules into your code, so that making games, for example, will
allowing students to build games, utilities and novelty you do not have to rewrite code provide a fairly long list of modules.
apps, DroidScript also provides full programming access that has already been produced As for which modules you
to the features of modern mobile devices, including GPS, by somebody else. Some should be guiding your students
networking, USB, camera, Bluetooth, accelerometer, text- modules are provided with every towards, the short answer is
to-speech, and voice recognition. The app provides a Python install these are part whatever they need to complete
number of downloadable plugins for controlling external of the standard library. Modules their projects. If they want to use
devices such as the micro:bit, LEGO Mindstorms and such as math, random and time graphics, then PyGame is a good
Arduino project boards, which encourage students to are all included on install. choice. If they need to produce a
explore the world of physical computing (droidscript.org). There are thousands of GUI, then maybe guizero is what
Although all these apps can help begin a students modules that have been produced they need. Just be aware that
journey into programming, the small screens, software by developers, all over the different modules have different
keyboards, and file system restrictions mean that they world, that are not included in qualities of documentation. The
are only really suitable for very simple scripts and the standard library. Finding the better documented a module
projects. In reality, there is no genuine alternative, correct modules can sometimes is, the easier it will be for your
as yet, to learning programming on a fully fledged be a bit of a challenge. students to use.
general-purpose computer.

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

PRINCIPLES OF CODING development environment. Thats because the Arduino


team based their software on Processing. Like Arduino,
TO VERY YOUNG CHILDREN? the Processing development environment is appropriate for
beginners; you write your code in the window and simply hit
It is possible for very small to an app where you can set the Play button to see it run without much hassle.
A children to build basic conditions such as if touching As a learning tool, Processing is very well supported with
programs and begin to understand enemy, lose a life (griditch.com). documentation and examples. Its visual arts focus means
the logic of programming. Many Scratch is one of the most that students who are interested in being creative with code
schools begin with physical toys popular applications for teaching and want to create things on-screen are given a powerful
such as BeeBots (or the newer kids to code, but many people are tool to experiment and iterate. And while Processing is
BlueBots), which are robust not aware of ScratchJr, which is a geared towards visual arts, it is full-featured enough to
programmable floor robots. free tablet-based app aimed at kids take on pretty much any task that youd expect from a
Press the directional buttons to aged five to seven years. The app programming language.
program the path of the BeeBot, sticks with the familiar drag-and- Even though Python isnt specifically designed for visual
and then set it free to see whether drop blocks interface, but removes arts, there are Python modules such as turtle, Tkinter,
the program works. Pair kids up much of the reading requirement Kivy, and guizero that enable you to use Python to draw
and have them take it in turns to by replacing the words on the on screen. Theres also a new Python mode in Processing
navigate to a teddy (bee-bot.us). blocks with simple symbols which allows you to use Python syntax in the Processing
Cubetto is another coding toy, (scratchjr.org, featured on page development environment.
Montessori-approved and aimed 73). Sticking with tablets, children Between Processing and Python, you have two very good
at children of three and older. may also enjoy LightBot, a website choices for education. Since theres a lot of overlap between
Coloured blocks are placed into where you write simple programs the two languages, Id suggest trying out both and sticking
a control board to guide a robot to navigate a robot around a 3D with the one thats closest to the languages youre already
through various adventures and grid, lighting up squares as you go familiar with.
maze puzzles (primotoys.com). (lightbot.com).
Slightly older children might Those looking for a creative
enjoy Griditch, described by challenge should check out
its creator as the programming Hello Ruby by Linda Liukas
equivalent of an abacus. Place (featured on page 34), a book
small electronically scannable with accompanying unplugged
tiles called grits on a grid to pose exercises ranging from
a problem for a friend, and use creating art with algorithms
more grits to solve it. Scanning to finding out whats inside
the tiles links the physical world a computer (helloruby.com).

helloworld.cc 85
CONVERSATION FAQs

Q I have been told to install a Python


Q ID LIKE TO MOTIVATE package using pip. What is pip and
MY STUDENTS BY how do I use it?
TAKING PART IN A
Pip is a package manager,
used to install Python
In Linux, this would be as simple
as opening a terminal or command

COMPETITIONS. modules onto your computer.


Its a bit like an app store for
prompt and typing:

CAN YOU TELL ME Python modules, but all the > sudo pip3 install tweepy

WHATS OUT THERE


modules are free and open-source.
If you wanted to use Twitter from If you want to learn more about

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

also has some great learning to Computer Programming and


resources on their website Practical Things to do with a
(helloworld.cc/2tZzk9I). In the US, Microcomputer, have been made freely
the Computing History museum in available as PDFs by the publisher
Mountain View is certainly worth (helloworld.cc/2u50FqP).

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.

Q I NEED TO TEACH SQL.


HOW CAN I GET
SUITABLE SOFTWARE
INSTALLED ON
MY NETWORK? Q I need to teach programming, but Im
Many students are now required to not allowed to install anything on the
A understand the basics of SQL database schools network. What do I do?
queries, which can lead to some problems when
identifying which software to use. First of all, you should try to As they progress, you can switch
Its always worth remembering that Microsoft Access A explain, to both your network them over to an online Python IDE.
is capable of performing SQL queries, although it has its team and your senior management, Trinket.io is an online IDE with plenty
disadvantages. It is a Windows-only program, and more the importance of having access of functionality, and would certainly
complicated than it needs to be when all you need to do to the appropriate tools. Asking an be sufficient for teaching students
is query a couple of linked database tables. educator to teach programming how to program up until they start
There are several online tools that you can use without the required software is like their GCSEs.
to help students learn about SQL: sqlfiddle.com asking an English teacher to teach If you want students to explore
is a site that will allow you to build your own tables, Shakespeare, but not allowing them HTML, CSS and JavaScript, then all
and then provide them to your students so they can access to any of the plays texts. you need is a text editor. Notepad in
experiment with various queries. If, however, you have no luck with Windows is fully capable of writing
There are also sites, such as codecademy.com, this, there are still a few choices code that can then be run in a browser.
that provide online tutorials for your students; guiding available to you. If you teach younger For debugging purposes, you have
them through the process of creating tables, adding students, then online platforms such online access to the developer tools
data and querying the data. as Scratch will be perfectly suited to of all the popular browser suites,
introducing students to programming. including Chrome, Edge and Safari.

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!

n the preface, Garth on a pig makes


I Eaglesfield (born in 1946, an appearance; ALGORITHMIC PUZZLES
degree in Philosophy) points out and a large part
that the digital age still only spans of the second BY Anany and Maria Levitin
a single working life and his book half is devoted PUBLISHER Oxford University
gives a totally personal account of to a system Press (USA)
PRICE 15.99
such a life, describing the events that called Tuxedo, with which hes been
ISBN 978-0199740444
happened and his thoughts on them. heavily involved. URL helloworld.cc/2vimLqN
His drift into programming makes My odyssey started eight years or
an entertaining introduction, and so after his, and I have a completely The Levitins have put together a
there are bits of basic background different set of events, thoughts and useful collection of puzzles, most
which can be skipped (although look opinions, but despite this I found it of a mathematical nature. What sets this collection apart is
the authors commentary, which emphasises algorithmic
at the section on log tables if youve fascinating. We dont tend to look
as well as logical approaches to solving the problems.
never used them, or for nostalgia back very often (the last issue of
if you have). Theres a lot about Hello World was an honourable
COBOL, which played a large part exception), but if we dont were HEXAFLEXAGONS, PROBABILITY PARADOXES,
in the odyssey; the phrase lipstick ignoring a valuable resource. AND THE TOWER OF HANOI

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

A classic. Gardner wrote a monthly


ow do the small coding Decomposition
H
column on mathematical games and
challenges attempted by and other key recreations for Scientific American
beginners link to the marvels of ideas, such for 25 years: this book collects and expands many of
his best pieces. Gardner has an engaging, accessible
software that drive our world? The as pattern
style, and theres much here that would inspire young
connection, sadly missing from recognition, computational thinkers today.
most programming guides, is made generalisation,
through computational thinking: a and abstraction, are introduced in
CAN YOU SOLVE MY PROBLEMS?
problem-solving framework of value plain English. No prior familiarity is
to all, regardless of experience. assumed or required, making this A CASEBOOK OF INGENIOUS, PERPLEXING AND
Do not be confused by the books less a synopsis, and more a blueprint TOTALLY SATISFYING PUZZLES
title this is not another getting for teaching.
BY Alex Bellos
started guide. It will resonate most Practical explorations in Part 2,
PUBLISHER Guardian Faber
with those who have started already. using Python, map to the concepts of PRICE 8.99
In two distinct but related sections, CT. Expect 0 to 60 coding in a couple ISBN 978-1783351152
Karl Beecher distils the core concepts of chapters! URL helloworld.cc/2wlc17H
involved. Logic provides the starting Throughout, Karl Beecher makes
point; algorithms are the means connections hitherto unseen, raising Bellos has a weekly puzzle column
by which decisions are stitched awareness and cutting through the in the Guardian - this book is a
together. But while algorithms frequently bewildering language collection of some of the best of
the thought-provoking puzzles
lie at the heart of computational of the discipline. As he admirably
that have been featured. Some of these require some
processes, there is no algorithm for demonstrates, there is a lot more to cunning, but others provide a great starting point for
solving problems. Rather, our eyes software development than simply programming exercises.
are drawn to the creative art of CT. teaching people to code.

helloworld.cc 89
FEATURE

EVENTFUL INSPIRATION: PART 2


Our guide to running a successful tech-based event, packed with advice
from people who are already running theirs

re you considering running a This series of articles is based on


A
ITS ALL DOWN TO WHAT YOUR
hackathon, techmeet or Raspberry The Raspberry Pi Foundations guide to INTENTIONS ARE FOR THE EVENT, WHAT
Jam? Getting like-minded people together running a community event. The Raspberry SPACE YOU HAVE IN YOUR VENUE, AND
to encourage digital making, coding, and Jam Guidebook is aimed at Jam organisers, WHAT EQUIPMENT YOU HAVE AVAILABLE.
community? In issue 2 of Hello World, we but the advice it offers will be helpful to FOR INSTANCE, FOR YOUR FIRST EVENT,

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

WHAT IS A and from planning your activities to


managing social media. Packed full of
MARKETPLACE IF YOU CAN PERSUADE
VENDORS TO ATTEND.
RASPBERRY JAM? great, first-hand advice, the guidebook is MICHAEL HORNE
designed to help you to run the best event CAMBRIDGE RASPBERRY JAM
you possibly can.
Raspberry Jams are independently organised
community events where people get together
to share knowledge, learn new things, and Your unique event Drop-in
meet other Raspberry Pi enthusiasts. Jams Your event could feature a range of A drop-in is a popular informal activity.
provide opportunities for people to get involved activities. From the informal drop-in, As the event organiser, you need to
in digital making, develop their abilities, get where people bring their own projects provide people with space to work on
together, have fun, and socialise. They are to work on, to more formal workshops their own projects, or to look online for
usually free or very cheap to attend. and talks, the activities you offer will set something to make or learn. This might
the tone for your gathering. seem like something your attendees

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

IF YOU ARE RUNNING A SERIES OF TALKS,


WHEN I RAN THE MANCHESTER JAM,
PEOPLE WERE HAPPY TO WORK ON THEIR
OWN PROJECTS. OCCASIONALLY WE RAN A
TRACK OF TALKS, OR PUT ON A WORKSHOP,
CONSIDER ORGANISING A PANEL SESSION
WHICH WAS A NICE CHANGE. NOW I RUN
THE JAM AT PI TOWERS, THE ATTENDEES that you confirm their talk with them in particular topic. Ask your speakers whether
TEND TO BE MOSTLY BEGINNERS USUALLY
advance to give them plenty of time to they would be willing to participate in a
PARENTS WITH THEIR CHILDREN SO WE
prepare. You will also need to find out what panel, as well as giving their own talk.
MOSTLY RUN WORKSHOPS AND HAND OUT
equipment and connectivity each speaker Your panel could be a general Q&A session
WORKSHEETS.
needs for their presentation, and for any on digital making and coding, or you could
BEN NUTTALL
demonstrations they are planning to run. focus on one device or programming
RASPBERRY JAM @ PI TOWERS
Assign one or two of your volunteers language. Make sure you publicise the
the role of managing the talks. They will focus of the panel in advance.
Talks need to ensure that the correct equipment You will need to provide microphones,
Another formal activity to consider is is set up for each speaker in time for their speakers and other equipment to your
a series of talks. These can be lengthy talk to begin, that the capacity of the panel members. You may also need a
conference-style presentations, or on-the- room is not exceeded, that the audience microphone for the audience. This could
spot lightning talks. Scheduled talks give can arrive and leave the room again be a microphone on a stand that audience
attendees the chance to share something quickly, and that the talks start and end members queue up to use, or a radio mic
with other enthusiasts: a project theyve on time. If the speaker is planning to take held and managed by a volunteer.
been working on, something theyve questions from the audience, the manager
learned, or an inspirational story. should control this process. Marketplace
If you are planning to run formal talks, Talks dont have to be very long: a Some organisers invite retailers to sell
you will need a space that is separate series of short lightning talks can provide digital making and coding accessories
from the rest of your event so that the great opportunities for people to present and equipment at their events. This can
talk does not disrupt the other activities, their projects, or something theyve be an effective way for retailers to reach
and vice versa. You will need to provide learned and want to share. Talks of five, customers in the digital making and coding

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.

This is not an exhaustive list of the


activities you could run at your event! For
more ideas, visit other local events and talk
to other event organisers.

SOMETHING LIKE ASTRO PI IS A FANTASTIC


THING TO GET INVOLVED IN IF YOU WANT
TO REALLY GIVE CHILDREN SOME FOCUS
AND DIRECTION. THE IDEA OF HAVING
YOUR CODE RUN ON THE INTERNATIONAL
SPACE STATION IS A REAL MOTIVATOR FOR
YOUNG KIDS.
DAVE HONESS
Download your copy of the Raspberry Jam
DOWNLOAD Guidebook from: helloworld.cc/2p7ZX98
RASPBERRY PI FOUNDATION

helloworld.cc 93
CONVERSATION YOUR LETTERS

Our letters page is a place for you to join our conversation.

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).

LETTERS Theoretical inspiration


Dear Hello World,
I have some students who are very good at programming.
They can crack any logic problem at their level, but they
arent very good at CS theory. They can code better than
their classmates, but theyre indifferent about the theory,
displaying an I dont care attitude.

NEW RESOURCE They do need to know about theory. There are


various theory papers in our syllabus, which cover
NFA, DFA, Turing machines, artificial intelligence, ES,
Dear Hello World, fuzzy logic, etc.
I am writing to let you know about a new resource How should I manage these students?
developed by CAS, exploring computational They are in the 17-19 age group.
thinking and creativity in programming. Sagar V, Tanur, India
The recent CAS Tenderfoot program cites finding
a solution to a simple version of The Knights Tour This is a fairly common problem, especially when a
as a fruitful example of computational thinking for class contains a few self-taught coders who have been
secondary teachers and pupils. We have run with programming for a relatively long time. The first thing to
this idea, using guided discovery as a basis for do is ensure they have a thorough understanding of what
discussion, allowing teachers and pupils to attempt their assessments will entail. Reading through a course
to find a variety of human solutions to The Knights specification is a little dry, but providing them with past
Tour and related problems. The resource shows exam papers and assessment tasks should make sure that
how a simple model of computational thinking they understand that theres more to Computer Science
(including creativity, heuristics, symmetry, induction, than just programming. Hopefully the realisation that they
and deduction) underpins this approach, while will need some theoretical knowledge in order to pass will
using representations of the problem in online provide some of them with the motivation they need.
interactive boards and diagrams, and incorporating The second thing you can try is to present the theoretical
some ideas from graph theory. material you need them to learn as a programming
Our theory is that finding human solutions to challenge. After all, if a student can create their own model
a problem can provide a basis for devising and of a deterministic Turing machine or a Finite State Machine in
implementing algorithms for program solutions. code, they will first have to learn the concept to a sufficient
This in turn can lead to strategies for finding depth before they can model it.
program solutions to more complex problems.
In follow-up discussions, we look at how the
human solutions we have developed may be
transformed into program solutions, and to more
general solutions.
The resource, entitled From Human Solutions
to Program Solutions: Computational Thinking,
Creativity and Pedagogy in Programming, can be
found at helloworld.cc/2ugOMyb. We hope it will
provide a useful reference for your readers.
Dave White, CAS Master Teacher

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.

Dear Hello World,


What can we expect from the new grade
boundaries for the exam element of the CS GCSE?
SHARE YOUR EXPERIENCES
The legacy boundary for an A* has been around
66 percent, which converted to the new grades Dear Hello World,
would be very low, especially with reference to I need help!
other subjects. Is there any guidance to allow us Last year, I started research looking for a magic
to predict grades for our Year 10 students? bullet for teaching abstraction in primary schools.
Corinne Sherman, Bristol However, I discovered that research requires you to
look at one tiny aspect of a big subject in order to
This is not a question that anyone, possibly even gradually build a solid body of evidence. So now I
within the exam boards, can answer with any am focusing on one aspect of abstraction: how we
certainty. There are a couple of things to take into use design when teaching programming, and how
account, however. we might reuse our expertise in teaching writing
Firstly, the awarding bodies will be under scrutiny when we teach programming.
to ensure that there is no major shift in results My work builds on research from across the
between 2017 and 2018, when the new grading world, but all of it with older pupils. From Israel to
comes into effect. If your current cohort of Year 11s the US via Scotland, the Netherlands and Germany,
achieves 75 percent A*-C passes, and they are of I am knitting threads of theory and practice
comparable ability to your Year 10s, then you should together but for teaching younger learners.
be looking at about the same number of 6-9 passes. If you teach programming to primary children,
Unfortunately, you will have to perform your own in school, out of school, formally or informally and
calculations with regard to how this converts into have 15 minutes to spare, I would be indebted if
possible grade boundaries. you could complete our survey. You can find it at
Secondly, you might want to book some time with helloworld.cc/2tPZjiR.
your schools Head of English and Head of Maths. Please do share the survey with your
Theyll be receiving the new style GCSE results in colleagues too!
August, and you might be able to learn from them Many thanks,
how they tackled predicting grades, and what they Jane Waite, Queen Mary University of London
are predicting for your current cohort of students.

helloworld.cc 95
HELLO, WORLD!Everything you need to know about the new computing and
digital making magazine for educators

Q WHAT IS HELLO WORLD? Q WHO MAKES


Hello World magazine is a new magazine for
HELLO WORLD?
A computing and digital making educators. Written The magazine is a joint collaboration between
by educators, for educators, the magazine is designed as A its publisher, Raspberry Pi, and Computing At
a platform to help you find inspiration, share experiences, School (part of BCS, The Chartered Institute for IT).
and learn from each other. Hello World is sponsored by BT.

Q WHY DID WE MAKE IT?


Theres growing momentum behind the idea of
A putting computing and digital making at the heart
of modern education, and we feel theres a need to do
more to connect with and support educators inside and
outside the classroom.

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:

Give us feedback Tell us your story


Help us make your magazine better Have you had a recent success (or failure) you
your feedback is greatly appreciated. think the wider community would benefit from
hearing? Wed like to share it.
Ask us a question
Do you have a question for a FAQ section or a Write for the magazine
bugbear youd like to share? Well feature your Do you have an interesting article idea?
thoughts and ideas. Wed love to hear from you.

GET IN TOUCH
Want to talk? You can reach us at:
contact@helloworld.cc

FIND US ONLINE SUBSCRIBE


www.helloworld.cc IN PRINT
@HelloWorld_Edu TODAY!
PAGES 32-33
fb.com/HelloWorldEduMag

helloworld.cc 97
OPINION

MILES BERRY PRINCIPAL LECTURER

ONE LANGUAGE AT A TIME


Do students need breadth of experience or depth of skills?

ost of us working in computer science education Fluency counts


M seem to agree that coding is not the end in itself,
but the means through which our students get
Somehow though, programming seems different from
creating a presentation. If were serious about students
useful things done, express themselves creatively, and becoming adept at solving problems and expressing their
develop their understanding of the fundamental principles creativity through programming, then they need to develop
of computer science. While some of our students will go some sort of mastery of the medium: in short, they need
on to be the software engineers and computer scientists of to become fluent (or at least conversant) in one, or two, or
the future, almost all will find themselves using computers. three programming languages.
An understanding of how these machines work, and how By analogy with learning human languages while
to think about problems so that the computers can help we might be concerned that students get to grips with
solve them, is whats important for these students. comparative linguistics and deep structure, were much
more concerned that students learn a language,

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.

or three programming languages There seems to be relatively little research


comparing the one-language and many-
language approaches to teaching programming:
One language or many? mainly, I suspect, because this question rarely arises in
Where some of us disagree is on the best means to undergraduate CS education. It is simply assumed that
this end. On the one hand, there are those who argue introductory programming courses will teach a particular
that these principles, and indeed the constructs of language, although this still allows plenty of argument over
programming (such as sequence, selection, and repetition), the choice of paradigm and language.
are best learnt generically and then applied in as many While the brightest and best will, I think, be able to
programming languages as time, teacher expertise, and transfer the concepts from one language to another, I fear
student interest permits. Others take the view that actual, we do a disservice to those who struggle to express their
practical experience of coding in one language is the best ideas in a first programming language by rapidly introducing
way to learn to program and through this to acquire, them to many more. Changes in syntax, grammar and
either through explicit instruction or guided discovery, an vocabulary do little more than add to their already high
understanding of the underlying principles. cognitive load. Lets learn the lesson from the mathematics
The arguments for the many languages approach education community, that mastery comes through depth
seem similar to those used in the ICT teaching past: that to of experience, not superficial acceleration.
avoid death by PowerPoint, we should allow students to
choose Prezi, Google Slides etc. instead, as the software
Miles Berry is principal lecturer in computing education at
skills themselves are what matter. The many languages
the University of Roehampton. He serves on the boards of
advocates argue that theres more to programming than
Computing At School, the BCS Academy and the Computer
Scratch, or even than Python; and to avoid children
Science Teachers Association, and is a Member of the
becoming bored with Scratch, they should also learn Logo,
Raspberry Pi Foundation.
Kodu, Hopscotch, Tynker, and so on.

98 helloworld.cc
helloworld.cc

100 (helloworld.cc)

You might also like