Creating a computer program involves many different skills — knowing how to code is just one part. When we teach programming to young people, we want to guide them to learn these skills in a structured way. The ‘levels of abstraction’ framework is a great tool for doing that. This blog describes how using the framework will benefit you and your learners in the computing classroom.
Find practical tips for using the ‘levels of abstraction’ framework with your learners
Read a summary of the research behind the framework
Learning to program: Everything at once?
Creating a program from the ground up can be daunting, especially for new learners. Without support, they’ll likely get stuck sooner or later; programs rarely work the first time round. And the more complex the problem that a program is addressing, the more likely it is that the first version of the program won’t work.
One reason that learning to program can be challenging is that it involves understanding a lot of specific concepts and applying many varied skills. From early on in their learning journey, young people need to have a firm grasp of concepts such as repetition, selection, variables, and functions. Also fundamental to learning to program well is the skill of abstraction: understanding a task and identifying which details are relevant and which can be ignored.
To get to grips with all these different concepts and skills, young people need structure — otherwise they’ll try to hold everything in their head at once, and likely feel overwhelmed by the cognitive load. This sort of experience may cause them to disengage instead of persisting. They may even decide that programming is not for them.
In light of these challenges, the ‘levels of abstraction’ framework is a great tool for teaching.
The benefits of the ‘levels of abstraction’ framework
The framework breaks programming down into four levels, each focusing on a different aspect of creating a program:
Problem: Analysing the problem or task the program should address, to understand and record the requirements.
Design: Turning the analysis into an algorithm — a set of steps for the computer to follow to create the desired output. This can involve flowcharts or storyboards, but importantly no code.
Code: Developing the code based on the design (and building the physical components if any are involved).
Running the code: Testing the code, checking outputs, and debugging where necessary.
Throughout the processes of developing a program, learners (and professional programmers) move between these levels as they implement their designs and debug them, sometimes even returning to the problem level if more analysis or clarification is needed.
Potential benefits of the ‘levels of abstraction’ framework for teachers:
It helps you break down the activity of programming into discrete parts.
It helps you engage your learners, as you can show them that programming involves more than knowing how to code.
If your learners get stuck with their programming, the framework can help you guide them to a solution.
Potential benefits for learners:
The framework will help them think through all the steps needed to create a program that works, and practise their problem-solving skills and analytical thinking.
They will more readily see how programming connects to their world — at the problem level — and find aspects of programming where they have strengths and can use their creativity.
They will gain a stronger idea of how software is built in the tech sector.
Our new Quick Read shares tips on how to best use the framework in your teaching.
Things to aim for when using the framework with your learners:
Be aware of what level they are working at and when it’s time to switch to a different one.
Understand that, when they encounter an issue with their program, they can step back and use the framework to figure out where the issue comes from. The issue might be a bug in the code, the algorithm not working as intended, or a description of the problem not taking into account something important.
We hope you find the framework useful. If you have ideas for how to use it in your teaching, why not share them in the comments?
Teaching programming: The wider context
When following the ‘levels of abstraction’ approach, learners need to explain how programs work and debug them. That means program comprehension is a key skill here. You may have already helped your learners to develop and practise this skill, for example with the PRIMM approach. The Block Model is another useful tool for helping your learners talk about various aspects of a program. And if you use the pair programming approach in programming activities, your learners can improve their program comprehension by talking about their code with each other. On our website, you’ll find more guidance on the best ways to teach programming and computing.
And what about generative artificial intelligence (AI) tools for programmers? In the age of AI, we think young people still need to learn to code because it empowers them to navigate and think critically about all digital technologies, including AI. And while generative AI tools can help a skilled programmer create quality code more quickly, more research is needed to show whether such tools help school-age young people build their understanding as they learn to code. You can see some of the great work being done in this area if you catch up with our 2024 research seminar series.
The ‘levels of abstraction’ framework is useful in your teaching no matter what tools young people use to create programs. Even with an AI tool, they will still need to work at all four levels of abstraction to program effectively.
Every young learner needs a successful start to their learning journey in the primary computing classroom. One aspect of this for teachers is to introduce programming to their learners in a structured way. As computing education is introduced in more schools, the need for research-informed strategies and approaches to support beginner programmers is growing. Over recent years, researchers have proposed various strategies to guide teachers and students, such as the block model, PRIMM, and, in the case of this month’s seminar, TIPP&SEE.
We need to give all learners a successful start in the primary computing classroom.
We are committed to make computing and creating with digital technologies accessible to all young people, including through our work with educators and researchers. In our current online research seminar series, we focus on computing education for primary-aged children (K–5, ages 5 to 11). In the series’ second seminar, we were delighted to welcome Dr Jean Salac, researcher in the Code & Cognition Lab at the University of Washington.
Dr Jean Salac
Jean’s work sits across computing education and human-computer interaction, with an emphasis on justice-focused computing for youth. She talked to the seminar attendees about her work on developing strategies to support primary school students learning to program in Scratch. Specifically, Jean described an approach called TIPP&SEE and how teachers can use it to guide their learners through programming activities.
What is TIPP&SEE?
TIPP&SEE is a metacognitive approach for programming in Scratch. The purpose of metacognitive strategies is to help students become more aware of their own learning processes.
The stages of the TIPP&SEE approach
TIPP&SEE scaffolds students as they learn from example Scratch projects: TIPP (Title, Instructions, Purpose, Play) is a scaffold to read and run a Scratch project, while SEE (Sprites, Events, Explore) is a scaffold to examine projects more deeply and begin to adapt them.
Using, modifying and creating
TIPP&SEE is inspired by the work of Irene Lee and colleagues who proposed a progressive three-stage approach called Use-Modify-Create. Following that approach, learners move from reading pre-existing programs (“not mine”) to adapting and creating their own programs (“mine”) and gradually increase ownership of their learning.
TIPP&SEE builds on the Use-Modify-Create progression.
Proponents of scaffolded approaches like Use-Modify-Create argue that engaging learners in cycles of using existing programs (e.g. worked examples) before they move to adapting and creating new programs encourages ownership and agency in learning. TIPP&SEE builds on this model by providing additional scaffolding measures to support learners.
Impact of TIPP&SEE
Jean presented some promising results from her research on the use of TIPP&SEE in classrooms. In one study, fourth-grade learners (age 9 to 10) were randomly assigned to one of two groups: (i) Use-Modify-Create only (the control group) or (ii) Use-Modify-Create with TIPP&SEE. Jean found that, compared to learners in the control group, learners in the TIPP&SEE group:
Were more thorough, and completed more tasks
Wrote longer scripts during open-ended tasks
Used more learned blocks during open-ended tasks
The TIPP&SEE group performed better than the control group in assessments
In another study, Jean compared how learners in the TIPP&SEE and control groups performed on several cognitive tests. She found that, in the TIPP&SEE group, students with learning difficulties performed as well as students without learning difficulties. In other words, in the TIPP&SEE group the performance gap was much narrower than in the control group. In our seminar, Jean argued that this indicates the TIPP&SEE scaffolding provides much-needed support to diverse groups of students.
Using TIPP&SEE in the classroom
TIPP&SEE is a multi-step strategy where learners start by looking at the surface elements of a program, and then move on to examining the underlying code. In the TIPP phase, learners first read the title and instructions of a Scratch project, identify its purpose, and then play the project to see what it does.
In the second phase, SEE, learners look inside the Scratch project to click on sprites and predict what each script is doing. They then make changes to the Scratch code and see how the project’s output changes. By changing parameters, learners can observe which part of the output changes as a result and then reason how each block functions. This practice is called deliberate tinkering because it encourages learners to observe changes while executing programs multiple times with different parameters.
Jean’s talk highlighted the need for computing to be inclusive and to give equitable access to all learners. The field of computing education is still in its infancy, though our understanding of how young people learn about computing is growing. We ourselves work to deepen our understanding of how young people learn through computing and digital making experiences.
In our own research, we have been investigating similar teaching approaches for programming, including the use of the PRIMM approach in the UK, so we were very interested to learn about different approaches and country contexts. We are grateful to Dr Jean Salac for sharing her work with researchers and teachers alike. Watch the recording of Jean’s seminar to hear more:
Free support for teaching programming and more to primary school learners
If you are looking for more free resources to help you structure your computing lessons:
Join our next seminar
In the next seminar of our online series on primary computing, I will be presenting my research on integrated computing and literacy activities. Sign up now to join us for this session on Tues 7 March:
As always, the seminars will take place online on the first Tuesday of the month at 17:00–18:30 UK time. Hope to see you there!
Reflecting is important within any line of work, and computing education is no different. Reflective practice is always valuable, whether you support learners in a non-formal setting, such as a Code Club or CoderDojo, or in a more formal environment, such as a school or college. When you reflect, you might for example evaluate a session or lesson and make changes for next time, or consider whether to reorder activities and learning across a longer time period, or even think broadly about what you teach and how you teach it.
Computing is a broad and interdisciplinary subject, and different curricula and courses around the world focus on different aspects of it. For all of us, therefore, computing is framed by the curricula with which we are working and the terms which we’re using to talk about the subject. Over the past years at the Foundation, we have been developing a Computing taxonomy to help describe the different aspects of the subject. The Big Book of Computing Content is based on this taxonomy. The aim of this special edition of Hello World is to illustrate the breadth of Computing, and to model language that describes the different concepts, knowledge, and skills that comprise it.
The Big Book of Computing Content explores what we mean by Computing and aims to provide a common language to describe the subject. This book complements our Hello World special edition on pedagogy, introducing research alongside practical articles from teachers.
We have organised this Big Book according to our taxonomy’s 11 content strands and also included progressive learning outcomes for each strand at different stages of learning. These outcomes are not prescriptive; instead they illustrate the wide applications of the subject by highlighting the kinds of knowledge and understanding that learners could develop in each area of Computing.
We hope that The Big Book of Computing Content encourages educators to reflect on all aspects of Computing and how they interconnect, as well as on the language we use to describe Computing. Whether the Big Book helps you to discover new aspects to Computing, to think about the subject differently, or simply to see the differences in how we as educators talk about our subject, the time you spend reflecting is important and valuable.
How you teach: The Big Book of Computing Pedagogy
One part of our work as educators is understanding the breadth of Computing and the specific ideas within it. The other part is reflecting on how we teach the subject: the specific methods, strategies, and practices we can use with our learners. The Big Book of Computing Pedagogy describes a range of teaching approaches framed around our 12 pedagogical principles for teaching Computing. Each research-informed principle either reflects how general-purpose pedagogy applies within Computing or explores pedagogies specific to Computing itself. This Big Book consists of research summaries as well as practical articles from educators which illustrate how you can apply the different pedagogies.
Hello World’s special edition on pedagogy lays out approaches to teaching computing in the classroom. It bridges the gap between research and practice, giving you accessible chunks of research, followed by stories from educators.
Rather than prescribing a set of principles that educators must follow, the aim of The Big Book of Computing Pedagogy is to help you develop your understanding of a range of pedagogical approaches which you can select, apply, and adapt to suit your context.
Reflect to develop your knowledge and agency
Ultimately we want to support all Computing and Computer Science educators to build their understanding of subject matter (that is, content) and pedagogy, or what is called pedagogical content knowledge (PCK, a term popularised by Lee Shulman). Combining your PCK with your grasp of the context of your learners, curricula, and setting will enable you to choose suitable practices for your content and context.
We hope that you find the two Big Books to be valuable reference tools to help you and your peers reflect on what it is you mean when you talk about Computing, and on how you teach the concepts, knowledge, and skills within it. Both books are available as free PDF downloads.
The summer months are an exciting time at the Foundation: you can feel the buzz of activity as we prepare for the start of a new school year in many parts of the world. Across our range of fantastic (and free) programmes, everyone works hard to create new and improved resources that help teachers and students worldwide.
We’ve asked some of our programme leads to tell you what’s new in their respective areas. We hope that you’ll come away with a good idea of the breadth and depth of teacher support that’s on offer. Is there something we aren’t doing yet that we should be? Tell us in the comments below.
Sway Grantham has been at the forefront of writing resources for our Teach Computing Curriculum over the last three years. The Curriculum is part of the wider National Centre for Computing Education (NCCE) and provides hundreds of free classroom resources for teachers, from Key Stage 1 to 4. Each resource includes lesson plans, slides, activity sheets, homework, and assessments. Since we published the Curriculum in 2020, all lessons have been reviewed and updated at least once. Managing the process of continuously improving these resources is a key part of Sway’s work.
Hi Sway, what updates have you been making to the Teach Computing Curriculum to help teachers this year?
We make changes to the Teach Computing Curriculum all the time! However, specific things we are excited about ahead of the new school year are updates to how our content is presented on the website so that it’s really easy to see which unit you should be teaching in each half term. We’ve also renamed some of the units to make it clearer what they cover. And to help Key Stage 3 teachers launch Computing in secondary school with skills that are foundational for progress through the requirements of the Key Stage 3 curriculum, we’ve updated the first Year 7 unit, now called Clear messaging in digital media.
You recently asked for teachers’ feedback as part of an annual impact survey. What did you find out?
We are still in the process of looking through the feedback in detail, but I can share some high-level insights. 96% of teachers who responded to the survey gave a score between 7 and 10 for recommending that other teachers use the Teach Computing Curriculum. Over 80% reported that the Teach Computing Curriculum has improved their confidence, subject knowledge, and the quality of their teaching ‘a little’ or ‘a lot’. Finally, over 90% of respondents said the Curriculum is effective at supporting teachers, developing teachers’ subject knowledge, and saving teachers’ time.
We are grateful to the 907 people who took part in the survey! You have all helped us to ensure the Curriculum has a positive impact on teachers and learners throughout England and beyond.
James, why is it so important for teachers to underpin their classroom practice with best-practice pedagogical approaches?
In order to teach any area of the curriculum effectively, educators need to understand both the content they are teaching and the most effective ways to deliver that content. Computing is a broad discipline made up of lots of inter-connected knowledge. Different areas of the subject benefit from different approaches, and this may vary depending on the experience of the learners and the context within which they are learning. Understanding which approaches are best suited to different content helps educators support learners effectively.
Computing education research related to school-aged learners is still in its early stages compared to other subjects, and new approaches and pedagogies are being developed, tested, and evaluated. Staying aware of these developments is important for educators and that’s why it’s something the Foundation is dedicated to supporting.
What do you have in store for teachers this year?
This year we continue to share best practice and hear from educators applying new ideas in their classroom through Hello World magazine and podcast. Educators should also keep a look out for our second Hello World special edition exploring the breadth and depth of Computing. To get hold of a copy of this later this year, make sure you’re subscribed to Hello World.
Allen, what has gone into the making of these new GCSE resources?
I think one of the biggest and most important things that’s been evident to me while working on this project is the care and thought that our content creators have put into each and every piece they worked on. To the end user it will simply be material on a web page, but sitting behind each page are countless discussions involving the whole team around how to present certain facts, concepts, or processes. Sometimes these discussions have even caused us to reevaluate our own thinking around how we deliver computer science content. We have debated the smallest things such as glossary terms, questioning every word to make sure we are as clear and concise as possible. Hopefully the care, expertise, and dedication of the team shines through in what really is a fantastic source of information for teachers and learners.
What do you have in store for teachers and learners this year?
With 96% of teachers and 88% of students reporting that the content is of high quality and easily accessible, we still need to continue to support them to ultimately enable learners to achieve their potential. Looking ahead, there is still lots of work to do to make sure Isaac offers the best possible user experience. And we plan to add a lot more questions to really bolster the numbers of questions at varying levels of difficulty for learners. This will have the added benefit of being useful for any teachers wanting to up-skill too! A massive strength of the platform is its questions, and we are really keen to give as wide a range of them as possible.
Tamasin Greenough Graham leads the team at Code Club, our global network of free, in-school coding clubs for young people aged 9 to 13. In Code Clubs, participants learn to code while having fun getting creative with their new skills. Clubs can be run by anyone who wants to help young people explore digital technologies — you don’t need coding experience at all. The Code Club team offers everything you need, including coding projects with easy-to-follow, step-by-step instructions, and lots of resources to help you support your club members. They are also on hand to answer your questions.
Tamasin, what kind of support can teachers expect when they decide to set up a Code Club?
Running a Code Club really is simple and a lot of fun! We have free training to suit everyone, including webinars that guide you through getting started, a self-study online course you can take to prepare for running your Code Club, and drop-in online Q&A sessions where you can chat about your questions to our friendly team or to other educators who run clubs.
Once you have registered your Code Club, you’ll get access to an online dashboard packed with useful resources: from guidance on preparing and delivering your first session, to certificates to celebrate your club members’ successes, and unplugged activities for learners to do away from the screen.
What experience do you need to run a Code Club?
You don’t need to have any coding experience to run a club, as we provide a giant range of fun coding projects and support materials that can be easily followed by educators and young people alike. You just need to support and encourage your young coders, and you can get in touch with the Code Club team if you need any help!
The project paths we offer provide a framework for young coders to develop their skills, whatever their starting point is. Each path starts with three Explore projects, where coders learn new coding concepts and skills. The next two Design projects in the path help them practise these skills through creating fun games, animations, or websites. The final Invent project of the path gives a design brief, and based on this learners have the space to use their new skills and their creativity to code something based on their own ideas.
Our project paths start with the basics of Scratch, and work through to creating websites in HTML and CSS, and to text-based coding in Python. For more advanced or adventurous coders, we also offer project paths to make physical projects with Raspberry Pi Pico, create 3D models in Blender, or even build 3D worlds in Unity.
Why is it important to teach coding to primary-aged children?
Lots of primary-aged children use digital technology every day, whether that be a TV, a phone, playing video games, or a computer at school. But they don’t have to be just consumers of technology. Through learning to code, young people become able to create their own technology, and our projects are designed to help them see how these new skills allow them to express themselves and solve problems that matter to them.
What young people do with their new skills is up to them – that’s the exciting part! Computing skills open paths to a wide range of projects and work where digital skills are helpful. And while learning coding is fun and useful, it also helps learners develop a many other important skills to do with problem solving, teamwork, and creativity.
Martin O’Hanlon heads the team that produces our free online courses programme. If you’re looking for continued professional development in computer science, look no further than to our more than 35 courses. (For teachers in England, a large number of the courses count towards the NCCE’s Primary, Secondary, or GCSE certificates.) Curated in 13 curated learning pathways, all of our courses provide high-quality training that you can take at home, at a time that suits you.
Martin, what can learners expect from taking one of our online courses?
Our online computing courses are free and have something for everyone who is interested in computing. We offer pathways for learning to program in Python or Scratch, teaching computing in the classroom, getting started with physical computing, and many more.
We vary the materials and formats used in our courses, including videos, written articles, quizzes, and discussions to help learners get the most out of the experience. You will find a lot of practical activities and opportunities to practice what you learn. There are loads of opportunities to interact with and learn from others who are doing the course at the same time as you. And educators from the Raspberry Pi Foundation join the courses during facilitation periods to give their advice, support, and encouragement.
What is the idea behind the course pathways?
We have a large catalogue of online training courses, and the pathways give learners a starting point. They group the courses into useful collections, offering a recommended path for everyone, whether that’s people who are brand-new to computing or who have identified a gap in their existing computing skills or knowledge.
Our aim is that these pathways help people find the right course at the right point in their computing journey.
Thanks, everyone.
One more thing…
We’re also very excited to work on new research projects this school year, to help deepen the computing education community’s understanding of how to teach the subject in schools. Are you a primary teacher in England who is interested in making computing culturally relevant for your pupils?
We’re currently looking for teachers to take part in our research project around primary school culturally adapted resources, running from October 2022 to July 2023. Find out more about what taking part involves.
Today, we are publishing the third report of our findings from our Gender Balance in Computing research programme. This report shares the outcomes from the Peer Instruction project, which is the last in our set of three interventions that has explored teaching approaches to engage more girls in computing.
The premise of the teaching approach research is that the way Computing is taught may not always match the teaching approaches to which girls are most likely to respond positively [1]. As with the Storytelling project and the Pair Programming project, this project aimed to find new contexts and approaches to help increase the number of girls choosing to study and work in computing.
What is peer instruction?
Peer instruction is a structured, collaborative teaching approach. It has been shown to be an effective pedagogy for novice programmers and those studying computer science at a university level because the interactive, cooperative activities help learners to perceive the topics as less stressful and less difficult [2].
Multiple-choice questions (MCQs) and peer conversations about the question answers are at the core of the peer instruction approach. Through talking to each other about MCQs, pupils can deepen their understanding about why a particular concept or fact is correct, and correct any misconceptions.
The five stages of the peer instruction teaching approach covered in a Computing lesson.
In England, the Computing curriculum at Key Stage 3 (ages 11–14) introduces learners to some new concepts, such as data representation, and moves learners to text-based programming languages. Towards the end of this Key Stage, learners will make choices about the subjects that they go onto study for GCSEs. These choices are influenced by learners’ attitudes towards the subject, and so we decided to trial whether the peer instruction teaching approach might lead to more positive attitudes towards Computing among girls.
The Peer Instruction intervention
The initial pilot of this trial ran from January to March 2020 with 15 secondary schools. We then used teacher feedback to develop resources to use in a full randomised controlled trial which ran from October 2021 to February 2022 in more than 60 secondary schools in England. Due to the COVID-19 pandemic, we changed our original plan to run face-to-face training and instead developed an online course to train teachers in the peer instruction approach. After taking part in the training, the teachers delivered 12 weeks of Computing lessons in data representation and Python programming. The two six-week units of work covered computing concepts for Key Stage 3 learners such as:
Understanding how numbers can be represented in binary format
Understanding how data of various types can be represented and manipulated digitally in the form of binary digits
Using a text-based programming language to solve a variety of computational problems
The study was run as a randomised controlled trial where participating schools were randomly divided into two groups. Schools in the treatment group used the peer instruction resources, and schools in the control group taught their normal Computing lessons. The independent evaluators from the Behavioural Insights Team used pupil surveys to measure the impact of the resources and supported this with lesson observations and teacher interviews to better understand the themes emerging from the data.
“I think peer instruction lessons are actually better than the normal lessons because you can ask other people around you to help more.”
– Female pupil who took part in the peer instruction lessons (report, p. 45)
Findings from the evaluation
The outcome measures of the peer instruction approach evaluation were quantitative data obtained from Year 8 pupils (aged 12 to 13) via pre- and post-surveys about the pupils’ stated intent to select Computer Science as a GCSE subject, and attitudes towards Computing as captured by the Student Computer Science Attitude Survey (SCSAS). When compared with the control group, the treatment group did not show a statistically significant increase in stated intent or positive attitudes towards Computing. This is a really valuable finding to help us build our understanding of what works in computing education.
The evaluation report contains some useful suggestions on how peer instruction methods could be improved in the secondary classroom:
Emphasise the importance of the stages of the peer instruction approach throughout the supporting materials. Our support for teachers changed from an in-person training day in stage one to an online course in stage two, and this impacted how much we could model the peer instruction steps that involve pupil discussion. This teaching approach differs from the traditional approach of asking learners to put their hands up to answer questions, and we believe that face-to-face training for teachers would be the best way to explore stage two of peer instruction. The importance of the discussion steps in peer instruction were further emphasised in the report: “The interviewed girls similarly reported that they preferred working in a group (as opposed to answering questions individually) as they were able to hear from people who had different ideas to them and check their answers.” So the discussion steps in peer instruction need careful thought when being delivered.
It may be useful to combine the peer instruction approach with other strategies. Although only a small number of girls taking part were interviewed, their feedback about the peer instruction lessons was very positive. The evaluation suggests that a multi-faceted approach to addressing gender balance is needed, given that the lack of girls in computing is indicative of a substantive societal issue, which decades of initiatives and research have attempted to address. The evaluators suggested that combining this pedagogy with other strategies, such as linking Computing to real-world problem-solving (another topic we explored in the Gender Balance in Computing programme), may have a cumulatively positive effect.
“Year 8 is too late”
At the start of both the Pair Programming and Peer Instruction projects, pupils were asked the same set of questions about their attitudes towards Computing via the Student Computer Science Attitude Survey (SCSAS). The mean scores from the survey results suggest that there is a small gender gap in attitudes at primary school. Boys feel slightly more confident and interested in Computing than girls. By secondary school, this gap has widened, as shown in the graph below:
Graph of the SCSAS scores to show the differences between boys’ and girls’ mean scores (out of 4) when asked about their attitudes towards Computing at Year 4/6 and at year 8.
In both projects, pupils were also asked about their intentions to continue studying Computing. In the Pair Programming project, the participating pupils (in Year 4/6) were asked whether they wanted to study Computing in the future, whereas the Year 8 pupils taking part in the Peer Instruction project were asked whether they intended to choose Computer Science as a GCSE subject. We cannot compare these two sets of answers directly, but there is general indication that as girls progress through stages of education, they begin to decide that Computing is not a subject for them. The independent evaluators commented that “it is striking that the gap between genders widens to such an extent over this 2- to 4-year time period, and that the overall proportions of pupils intending to continue to study Computing decreases to such an extent” (p. 15 of the report).
“These findings show a clear difference in attitudes towards learning Computing between primary and secondary learners. It really makes the adage ‘Year 8 is too late’ very true, and it is important to think carefully about what happens between Year 6 and Year 8 to make sure that Computing is a subject which engages all learners.”
– Sue Sentance, Chief Learning Officer, Raspberry Pi Foundation
Want to find out more about peer instruction?
Download our Big Book of Computing Pedagogy (available as a free online download) and find out more about peer instruction on pages 56 and 57.
Try the free training course on peer instruction used in this project. This course links to our research materials used by teachers as part of the intervention.
We are very grateful to all the schools, pupils, and teachers who took part in this project. If you would like to stay up-to-date with the Gender Balance in Computing programme, you can sign up to our newsletter. We will also share reports on the other projects within the programme that have explored:
Pupils’ sense of belonging in Computing
The links between non-formal and formal Computing
The impact of using Computing to solve real-world problems
[1] Goode, J., Estrella, R., & Margolis, J. (2008). Lost in Translation: Gender and High School Computer Science. In Cohoon, J, & Aspray, W. (Eds.) Women and Information Technology. Cambridge, MA: The MIT Press. https://doi.org/https://doi.org/10.7551/mitpress/7272.003.0005
[2] Herman, G. L., & Azad, S. (2020, February). A comparison of peer instruction and collaborative problem solving in a computer architecture course. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education. Association for Computing Machinery, New York, NY, USA. pp. 461–467. https://dl.acm.org/doi/10.1145/3328778.3366819
From experience, being connected to a community of fellow computing educators is really important, especially given that some members of the community may be the only computing educator in their school, district, or country. These professional connections enable educators to share and learn from each other, develop their practice, and importantly reduce any feelings of isolation.
It was great to see the return of the Computer Science Teachers Association (CSTA) Annual Conference to an in-person event this year, and I was really excited to be able to attend.
Our small Raspberry Pi Foundation team headed to Chicago for four and a half days of meetups, professional development, and conversations with educators from all across the US and around the world. Over the week our team ran workshops, delivered a keynote talk, gave away copies of Hello World magazine, and signed up many new subscribers. You too can subscribe to Hello World magazine for free at helloworld.cc/subscribe.
We spoke to so many educators about all parts of the Raspberry Pi Foundation’s work, with a particular focus on the Hello World magazine and podcast, and of course The Big Book of Computing Pedagogy. In collaboration with CSTA, we were really proud to be able to provide all attendees with their own physical copy of this very special edition.
It was genuinely exciting to see how pleased attendees were to receive their copy of TheBig Book of Computing Pedagogy. So many came to talk to us about how they’d used the digital copy already and their plans for using the book for training and development initiatives in their schools and districts. We gave away every last spare copy we had to teachers who wanted to share the book with their colleagues who couldn’t attend.
Don’t worry if you couldn’t make it to the conference, The Big Book of Computing Pedagogy is available as a free PDF, which due to its Creative Commons licence you are welcome to print for yourself.
Another goal for us at CSTA was to support and encourage new authors to the magazine in order to ensure that Hello World continues to be the magazine for computing educators, by computing educators. Anyone can propose an article idea for Hello World by completing this form. We’re confident that every computing educator out there has at least one story to tell, lessons or learnings to share, or perhaps a cautionary tale of something that failed.
We’ll review any and all ideas and will support you to craft your idea into a finished article. This is exactly what we began to do at the conference with our workshop for writers led by Gemma Coleman, our fantastic Hello World Editor. We’re really excited to see these ideas flourish into full-blown articles over the coming weeks and months.
Our week culminated in a keynote talk delivered by Sue, Jane, and James, exploring how we developed our 12 pedagogy principles that underpin The Big Book of Computing Pedagogy, as well as much of the content we create at the Raspberry Pi Foundation. These principles are designed to describe a set of approaches that educators can add to their toolkit, giving them a shared language and the agency to select when and how they employ each approach. This was something we explored with teachers in our final breakout session where teachers applied these principles to describe a lesson or activity of their own.
We found the experience extremely valuable and relished the opportunity to talk about teaching and learning with educators and share our work. We are incredibly grateful to the entire CSTA team for organising a fantastic conference and inviting us to participate.
Discover more with Hello World — for free
Subscribe now to get each new Hello World straight to your digital inbox, for free! And if you’re based in the UK and do paid or unpaid work in education, you can subscribe for free print issues.
Connecting face to face with educators around the world is a key part of our mission at the Raspberry Pi Foundation, and it’s something that we’ve sorely missed doing over the last two years. We’re therefore thrilled to be joining over 1000 computing educators in the USA at the Computer Science Teachers Association (CSTA) Annual Conference in Chicago in July.
Developing and sharing effective computing pedagogy is our theme for CSTA 2022. We’ll be talking to you about our 12 pedagogy principles, laid out in The Big Book of Computing Pedagogy, available to download for free.
An exciting piece of news is that everyone attending CSTA 2022 will find a free print copy of the Big Book in their conference goodie bag!
We’re really looking forward to sharing and discussing the book and all our work with US educators, and to seeing some familiar faces. We’re also hoping to interview lots of old and new friends about your approaches to teaching computing and computer science for future Hello World podcast episodes.
Your sessions with us
Our team will also be running a number of sessions where you can join us to learn, discuss, and prepare lesson plans.
Semantic Waves and Wavy Lessons: Connecting Theory to Practical Activities and Back Again
Thursday 14 July, 9am–12pm: Pre-conference workshop (booking required) with James Robinson and Jane Waite
If you enjoy explaining concepts using unplugged activities, analogy, or storytelling, then this practical pre-conference session is for you. In the session, we’ll introduce the idea of semantic waves, a learning theory that supports learners in building knowledge of new concepts through careful consideration of vocabulary and contexts. Across the world, this approach has been successfully used to teach topics ranging from ballet to chemistry — and now computing.
You’ll learn how this theory can be applied to deliver powerful explanations that connect abstract ideas and concrete experiences. By taking part in the session, you’ll gain a solid understanding of semantic wave theory, see it in practice in some freely available lesson plans, and apply it to your own planning.
Write for a Global Computing Community with Hello World Magazine
Friday 15 July, 1–2pm: Workshop with Gemma Coleman
Do you enjoy sharing your teaching ideas, successes, and challenges with others? Do you want to connect with a global community of over 30,000 computing educators? Have you always wanted to be a published author? Then come along to this workshop session.
Hello World has been going strong for five years — find out how you can become one of its authors.
Every single computing or CS teacher out there has at least one lesson to share, idea to voice, or story to tell. In the session, you’ll discuss what makes a good article with Gemma Coleman, Hello World’s Editor, and you’ll learn top tips for how to communicate your ideas in writing. Gemma will also guide you through writing a plan for your very own article. Even if you’re not sure whether you want to write an article, doing this is a powerful way to reflect on your teaching practice.
Developing a Toolkit for Teaching Computer Science in School
Saturday 16 July, 4–5pm: Keynote talk by Sue Sentance
To teach any subject requires good teaching skills, knowledge about the subject being taught, and specific knowledge that a teacher gains about how to teach a particular topic, to their particular students, in a particular context. Teaching computer science is no different, and it’s a challenge for teachers to develop a go-to set of pedagogical strategies for such a new subject, especially for elements of the subject matter that they are just getting to grips with themselves.
In this keynote talk, our Chief Learning Officer Sue Sentance will focus on some of the 12 pedagogy principles that we developed to support the teaching of computer science. We created this set of principles together with other teachers and researchers to help us and everyone in computing and computer science education reflect on how we teach our learners. Sue will share how we arrived at the principles, and she’ll use classroom examples to illustrate how you can apply them in practice.
Exploring the Hello World Big Book of Computing Pedagogy
Sunday 17 July, 9–10am: Workshop with Sue Sentance
The set of 12 pedagogy principles we’ve developed for teaching computing are presented in our Hello World Big Book of Computing Pedagogy. The book includes summaries, teachers’ perspectives, and lesson plans for each of the 12 principles.
All CSTA attendees will get their own print copy of the Big Book, and in this practical session, we will use the book to explore together how you can use the 12 principles in the planning and delivery of your lessons. The session will be very hands-on, so bring along something you know you want or need to teach.
See you at CSTA in July
CSTA is now just a month away, and we can’t wait to meet old friends, make new connections, and learn from each other! Come find us at booth 521 or at our sessions to meet the team, discover Hello World magazine and the Hello World podcast, and find out more about our educational work. We hope to see you soon.
Computer programming is now part of the school curriculum in England and many other countries. Although not necessarily the primary focus of the computing curriculum, programming can be the area teachers find most challenging to teach. There is much evidence emerging from research on how to teach programming, particularly from projects with undergraduate learners. That’s why I recently wrote a report summarising over 170 programming pedagogy papers: Teaching programming in schools: A review of approaches and strategies.
I hope this blog post about how I approached writing the report whets your appetite to read it, and encourages you to read more research summaries in general.
My approach to summarising research papers
Summarising findings from more than 170 research papers into 34 pages was not a task for the faint-hearted. I could not have embarked on this task without previous experience of writing similar, smaller reviews; working on a host of research projects; and writing reports about research for many different audiences.
I love reading about computer science education. It evokes very strong emotions, making me by turns happy, curious, impressed, alarmed, and even cross. When I summarise the papers of other researchers, I am very careful when deciding what to include and what to leave out, in order to do the researchers’ work justice while not overselling it or misleading readers. Sometimes research papers can be hard to fathom, with lots of jargon and statistics. In other papers, the conclusions drawn have many limitations: the project the paper describes hasn’t produced robust enough evidence to give a clear, generalisable message. Academic integrity and not misrepresenting the work of others is paramount. And naturally, there are many more than 170 papers about teaching programming, but I had to stop somewhere. All this makes summarising research a tricky task that one has to undertake with great care.
Another important aspect of summarising research is how to group papers. A long list saying “this paper said this”, “this paper said that” would not be easy to access and would not draw out overall themes. Often research studies span many topics. What might be a helpful grouping for one reader might not be interesting for another.
For this report, I grouped papers into three sections:
Classroom strategies: Here I included well-researched classroom strategies that teachers can use to teach programming in schools
Contexts and environments for learning programming: Here I outlined research related to opportunities for teaching programming, including different programming languages and the classroom context
Supporting learners: Here I summarised research that helps teachers support learners, particularly learners who have difficulties with programming
Why you as a teacher should read research summaries
Teachers, as very busy professionals, have little time to replan lessons, and programming lessons are challenging to start with. However, the potential long-term benefit may outweigh the short-term cost when it comes to reading research summaries: new insights from firmly grounded research can improve your teaching and enable more of your learners to be successful.
The process of translating research into practice is an area that I and the research team here are particularly interested in investigating. We are looking forward to working with teachers to explore this.
The Raspberry Pi Foundation regularly shares research summaries in the form of:
In this blog post we explore good practices around creating online computing questions, specifically multiple choice questions (MCQs). Multiple choice questions are a popular way to help teachers and learners work out the next steps in learning, and to assess learning in examinations. As a case study, we look at some data related to learner responses to computing questions on the Oak National Academy platform.
The case study illustrates the many things MCQ authors have to think about while designing questions, and that there is much more research needed to understand how to get an MCQ “just right”.
Uses of multiple choice questions
Online auto-marked MCQs are now being integrated into classroom activities, set as homework, and used in self-led learning at home. Software products involving MCQs, such as Kahoot and Socratic, are easy to use for many, and have become popular in some learning contexts. MCQ may have become more prevalent due to increased online teaching and the availability of whole curricula through platforms such as the Oak National Academy.
Think about the thinking processes the learner will use when answering the question, and make sure the processes are productive for their learning
Don’t make the question super easy or too difficult, but make it challenging — the difficulty needs to be “just right”
Keep the phrasing of the question simple
Ensure that all answers are plausible; providing three or four answers is usually a good idea
Be aware that if learners pick the wrong answer, this can reinforce the wrong thinking
Provide corrective feedback to learners who pick the wrong answer
What I find particularly interesting about Andrew’s advice is the need to make the difficulty of the MCQ “just right” for learners. But what does “just right” look like in practice? More research is needed to work this out.
The anatomy of a multiple choice question
When talking about MCQs, there are technical terms to describe question features, e.g.:
Incorrect answers are called distractors (or lures)
A distractor is defined as plausible if it’s an answer a layperson would see as a reasonable answer
Plausible distractors are called working distractors
Over this period of four months, learners on the platform made more than 29,000 question attempts on the thirty-five questions across the nine lessons that make up this data representation unit. Here is a breakdown of the questions by topic area:
Responses to MCQs in the GCSE Computer Science data representation unit on Oak National Academy, data from February 2021 to end of May 2021 (click to enlarge)
As shown in the table, more questions relate to binary arithmetic than to any other topic area. This was a specific design decision, as it is well-known that learners need lots of practice of the processes involved in answering binary arithmetic questions.
Let’s look at an example question from the binary arithmetic topic area, with one correct answer and two distractors. The learning objective being addressed with this question is ‘Perform addition in binary on two binary numbers’.
One of the MCQs in the GCSE Computer Science data representation unit on the Oak National Academy, as displayed on the online platform
As shown in the table below, in four months, 1170 attempts were made to answer the example question. 65% of the attempts were correct responses, and 35% were not, with 21% of responses being distractor b, and 14% distractor c. These distractors appear to be working distractors, as they were chosen by more than 5% of learners, which has been suggested as a rule-of-thumb threshold that distractors have to clear to be classed as working.
Example MCQ in the GCSE Computer Science data representation unit on the Oak National Academy, plus response data from February 2021 to end of May 2021 (click to enlarge)
However, because of the lack of research into MCQs, we cannot say for certain that this question is “just right” — it may be too hard. We need to do further research to find this out.
Creating multiple choice questions is not easy
The process of creating good MCQs is not an easy task, because question authors need to think about many things, including:
What learning objectives are to be addressed
What plausible distractors can be used
What level of difficulty is right for learners
What type of thinking the questions are encouraging, and how this is useful for learners
In order for MCQs to be useful for learners and teachers, much more research is needed in this area to show how to reliably produce MCQs that are “just right” and encourage productive thinking processes. We are very much looking forward to looking at this topic in our research work.
To find out more about the computing education research we are doing, you can browse our website, take part in our monthly seminars, and read our publications.
Hello World, our free magazine for computing and digital making educators, has just published its very first special edition: The Big Book of Computing Pedagogy!
“When I started to peruse the draft for The Big Book of Computing Pedagogy, I was simply stunned.”
Monica McGill, founder & CEO of CSEDResearch.org
This special edition focuses on practical approaches to teaching computing in the classroom, and includes some of our favourite pedagogically themed articles from previous issues of Hello World, as well as a few never-seen-before pieces. It is structured around twelve pedagogical principles, first developed by us as part of our work related to the National Centre for Computing Education in England. These twelve principles are based on up-to-date research around the best ways of approaching the teaching and learning of computing.
Grounded in research and practice
Computing education is still relatively new, and it’s a field that’s constantly changing and adapting. Despite leaving school less than ten years ago, I remember my days in the computer lab being limited to learning about how to add animations on PowerPoints and trying out basic Excel formulas (and yes, there was still the odd mouse with a ball knocking about!).
The Big Book of Computing Pedagogy — a big hit with educators!
Computing education research is even younger, and we are proud to be an important part of this growing space. As an organisation, we engage in rigorous original research around computing education and learning for young people, and we share all of our research work through blogs, reports, research seminars, and academic publications. We’re particularly proud to have partnered with the University of Cambridge to establish the Raspberry Pi Computing Education Research Centre.
Our special edition of Hello World is organised around twelve pedagogical principles.
The Big Book of Computing Pedagogy represents another way in which we bring research and practice to computing educators in an accessible and engaging way. The book aims to be an educator’s companion to learning about tried and tested approaches to teaching computing.
The perfect morning read for computing educators.
It includes articles on techniques for fostering program comprehension, advice for bringing physical computing to your classroom, and introductions to frameworks for structuring your computing lessons. As with all Hello World content, we’re bridging the gap between research and practice by giving you accessible chunks of research, followed by stories of trusty educators who have tried out the approaches in their classroom or educational space.
Teachers are jumping for joy at this special edition.
Monica McGill, founder and CEO of CSEDResearch.org, says about Hello World’s latest offering, “When I started to peruse the draft for The Big Book of Computing Pedagogy, I was simply stunned. I found the ready-to-consume content to be solidly based on research evidence and tried-and-true best practices from teachers themselves. This resource provides valuable insights into introducing computing to students via unplugged activities, integrating the Predict–Run–Investigate–Modify–Make (PRIMM) pedagogical model, and introducing physical devices for computing — all written in a way that teachers can adopt and use in their own classrooms.”
We’ve been thrilled to see the reaction of educators to this special edition, with many teachers already using it as a reference guide and for a spot of CPD. Why not join them and download it for free today?
Subscribe now to get each new Hello World — whether regular issue or special edition — straight to your digital inbox, for free! And if you’re based in the UK and do paid or unpaid work in education, you can subscribe for free print issues.
PS Have you listened to our Hello World podcast yet? A new episode has just come out, and it’s great! Listen and subscribe wherever you get your podcasts.
Whenever you learn a new subject or skill, at some point you need to pick up the particular language that goes with that domain. And the only way to really feel comfortable with this language is to practice using it. It’s exactly the same when learning programming.
In our latest research seminar, we focused on how we educators and our students can talk about programming. The seminar presentation was given by our Chief Learning Officer, Dr Sue Sentance. She shared the work she and her collaborators have done to develop a research-based approach to teaching programming called PRIMM, and to work with teachers to investigate the effects of PRIMM on students.
As well as providing a structure for programming lessons, Sue’s research on PRIMM helps us think about ways in which learners can investigate programs, start to understand how they work, and then gradually develop the language to talk about them themselves.
Productive talk for education
Sue began by taking us through the rich history of educational research into language and dialogue. This work has been heavily developed in science and mathematics education, as well as language and literacy.
In particular the work of Neil Mercer and colleagues has shown that students need guidance to develop and practice using language to reason, and that developing high-quality language improves understanding. The role of the teacher in this language development is vital.
Sue’s work draws on these insights to consider how language can be used to develop understanding in programming.
Why is programming challenging for beginners?
Sue identified shortcomings of some teaching approaches that are common in the computing classroom but may not be suitable for all beginners.
‘Copy code’ activities for learners take a long time, lead to dreaded syntax errors, and don’t necessarily build more understanding.
When teachers model the process of writing a program, this can be very helpful, but for beginners there may still be a huge jump from being able to follow the modeling to being able to write a program from scratch themselves.
PRIMM was designed by Sue and her collaborators as a language-first approach where students begin not by writing code, but by reading it.
What is PRIMM?
PRIMM stands for ‘Predict, Run, Investigate, Modify, Make’. In this approach, rather than copying code or writing programs from scratch, beginners instead start by focussing on reading working code.
In the Predict stage, the teacher provides learners with example code to read, discuss, and make output predictions about. Next, they run the code to see how the output compares to what they predicted. In the Investigate stage, the teacher sets activities for the learners to trace, annotate, explain, and talk about the code line by line, in order to help them understand what it does in detail.
In the seminar, Sue took us through a mini example of the stages of PRIMM where we predicted the output of Python Turtle code. You can follow along on the recording of the seminar to get the experience of what it feels like to work through this approach.
The impact of PRIMM on learning
The PRIMM approach is informed by research, and it is also the subject of research by Sue and her collaborators. They’ve conducted two studies to measure the effectiveness of PRIMM: an initial pilot, and a larger mixed-methods study with 13 teachers and 493 students with a control group.
The larger study used a pre and post test, and found that the group who experienced a PRIMM approach performed better on the tests than the control group. The researchers also collected a wealth of qualitative feedback from teachers. The feedback suggested that the approach can help students to develop a language to express their understanding of programming, and that there was much more productive peer conversation in the PRIMM lessons (sometimes this meant less talk, but at a more advanced level).
The PRIMM structure also gave some teachers a greater capacity to talk about the process of teaching programming. It facilitated the discussion of teaching ideas and learning approaches for the teachers, as well as developing language approaches that students used to learn programming concepts.
The research results suggest that learners taught using PRIMM appear to be developing the language skills to talk coherently about their programming. The effectiveness of PRIMM is also evidenced by the number of teachers who have taken up the approach, building in their own activities and in some cases remixing the PRIMM terminology to develop their own take on a language-first approach to teaching programming.
Future research will investigate in detail how PRIMM encourages productive talk in the classroom, and will link the approach to other work on semantic waves. (For more on semantic waves in computing education, see this seminar by Jane Waite and this symposium talk by Paul Curzon.)
Resources for educators who want to try PRIMM
If you would like to try out PRIMM with your learners, use our free support materials:
Join our next seminar
If you missed the seminar, you can find the presentation slides alongside the recording of Sue’s talk on our seminars page.
In our next seminar on Tuesday 1 December at 17:00–18:30 GMT / 12:00–13:30 EsT / 9:00–10:30 PT / 18:00–19:30 CEST. Dr David Weintrop from the University of Maryland will be presenting on the role of block-based programming in computer science education. To join, simply sign up with your name and email address.
Once you’ve signed up, we’ll email you the seminar meeting link and instructions for joining. If you attended this past seminar, the link remains the same.
In the brand-new issue of Hello World magazine, Shuchi Grover tells us about the limits of constructionism, the value of formative assessment, and why programming can be a source of both joy and angst.
How much open-ended exploration should there be in computing lessons?
This is a question at the heart of computer science education and one which Shuchi Grover is delicately diplomatic about in the preface to her new book, Computer Science in K-12: An A-to-Z Handbook on Teaching Programming. The book’s chapters are written by 40 teachers and researchers in computing pedagogy, and Grover openly acknowledges the varying views around discovery-based learning among her diverse range of international authors.
“I wonder if I want to wade there,” she laughs. “The act of creating a program is in itself an act of creation. So there is hands-on learning quite naturally in the computer science classroom, and mistakes are made quite naturally. There are some things that are so great about computer science education. It lends itself so easily to being hands-on and to celebrating mistakes; debugging is par for the course, and that’s not the way it is in other subjects. The kids can actually develop some very nice mindsets that they can take to other classrooms.”
Grover is a software engineer by training, turned researcher in computer science education. She holds a PhD in learning sciences and technology design from Stanford University, where she remains a visiting scholar. She explains how the beginning of her research career coincided with the advent of the block-based programming language Scratch, now widely used as an introductory programming language for children.
“Almost two decades ago, I went to Harvard to study for a master’s called technology innovation and education, and it was around that time that I volunteered for robotics workshops at the MIT Media Lab and MIT Museum. Those were pretty transformative for me: I started after-school clubs and facilitated robotics and digital storytelling clubs. In the early 2000s, I was an educational technology consultant, working with teachers on integrating technology. Then Scratch came out, and I started working with teachers on integrating Scratch into languages, arts, and science, all the things that we are doing today.”
Student Joyce codes in Scratch at her Code Club in Nunavut
Do her formative experiences at MIT, the birthplace of constructionist theory of student-centred, discovery-based learning, lead her to lean one way or another in the tinkering versus direct instruction debate? “The learning in informal spaces is, of course, very interest-driven. There is no measurement. Children are invited to a space to spend some time after school and do whatever they feel like. There would be kids who would be chatting away while a couple of them designed a robot, and then they would hand over the robot to some others and say, ‘OK, now you go ahead and program it,’ and there were some kids who would just like to hang about.
“When it comes to formal education, there needs to be more accountability, you want to do right by every child. You have to be more intentional. I do feel that while tinkering and constructionism was a great way to introduce interest-driven projects for informal learning, and there’s a lot to learn from there and bring to the formal learning context, I don’t think it can only be tinkering.”
“There needs to be more accountability to do right by every child.”
“Everybody knows that engagement is very important for learning — and this is something that we are learning more about: it’s not just interest, it’s also culture, communities, and backgrounds — but all of this is to say that there is a personal element to the learning process and so engagement is necessary, but it’s not a sufficient condition. You have to go beyond engagement, to also make sure that they are also engaging with the concepts. You want at some point for students to engage with the concept in a way that reveals what their misconceptions might be, and then they end up learning and understanding these things more deeply.
“You want a robust foundation — after all, our goal for teaching children anything at school is to build a foundation on which they build their college education and career and anything beyond that. If we take programming as a skill, you want them to have a good understanding of it, and so the personal connections are important, but so is the scaffolding.
“How much scaffolding needs to be done varies from context to context. Even in the same classroom, children may need different levels of scaffolding. It’s a sweet spot; within a classroom a teacher has to juggle so much. And therein lies the challenge of teaching: 30 kids at a time, and every child is different and every child is unique.
“It’s an equity issue. Some children don’t have the prior experience that sets them up to tinker constructively. After all, tinkering is meant to be purposeful exploration. And so it becomes an issue of who are you privileging with the pedagogy.”
She points out that each chapter in her book that comes from a more constructionist viewpoint clearly speaks of the need for scaffolding. And conversely, the chapters that take a more structured approach to computing education include elements of student engagement and children creating their own programs. “Frameworks such as Use-Modify-Create and PRIMM just push that open-ended creation a little farther down, making sure that the initial experiences have more guide rails.”
Approaches to assessment
Grover is a senior research scientist at Looking Glass Ventures, which in 2018 received a National Science Foundation grant to create Edfinity, a tool to enable affordable access to high-quality assessments for schools and universities.
In her book, she argues that asking students to write programs as a means of formative assessment has several pitfalls. It is time-consuming for both students and teachers, scoring is subjective, and it’s difficult to get a picture of how much understanding a student has of their code. Did they get their program to work through trial and error? Did they lift code from another student?
“Formative assessments that give quick feedback are much better. They focus on aspects of the conceptual learning that you want children to have. Multiple-choice questions on code force both the teachers and the children to experience code reading and code comprehension, which are just so important. Just giving children a snippet of code and saying: ‘What does this do? What will be the value of the variable? How many times will this be executed?’ — it goes down to the idea of code tracing and program comprehension.
“Research has also shown that anything you do in a classroom, the children take as a signal. Going back to the constructionist thing, when you foreground personal interest, there’s a different kind of environment in the classroom, where they’re able to have a voice, they have agency. That’s one of the good things about constructionism.
“Formative assessment signals to the student what it is that you’re valuing in the learning process. They don’t always understand what it is that they’re expected to learn in programming. Is the goal creating a program that runs? Or is it something else? And so when you administer these little check-ins, they bring more alignment between a teacher’s goals for the learners and the learners’ understanding of those goals. That alignment is important and it can get lost.”
The title of Grover’s book, which could be thought to imply that computer science education consists solely of teaching students to program, may cause some raised eyebrows.
What about building robots or devices that interact with the world, computing topics like binary, or the societal impacts of technology? “I completely agree with the statement and the belief that computer science is not just about programming. I myself have been a proponent of this. But in this book I wanted to focus on programming for a couple of reasons. Programming is a central part of the computer science curriculum, at least here in the US, and it is also the part that teachers struggle with the most.
“I want to show where children struggle and how to help them.”
“As topics go, programming carries a lot of joy and angst. There is joy in computing, joy when you get it. But when a teacher is encountering this topic for the first time there is a lot of angst, because they themselves may not be understanding things, and they don’t know what it is that the children are not understanding. And there is this entire body of research on novice programming. There are the concepts, the practices, the pedagogies, and the issues of assessment. So I wanted to give the teachers all of that: everything we know about children and programming, the topics to be learnt, where they struggle, how to help them.”
Hear more from Shuchi Grover, and subscribe to Hello World
We will host Grover at our next research seminar, Tuesday 6 October at 17:00–18:30 BST, where she will present her work on formative assessment.
Hello World is our magazine about all things computing education. It is free to download in PDF format, or you can subscribe and we will send you each new issue straight to your home.
In issue 14 of Hello World, we have gathered some inspiring stories to help your learners connect with nature. From counting penguins in Antarctica to orienteering with a GPS twist, great things can happen when young people get creative with technology outdoors. You’ll find all this and more in the new issue!
Educators based in the UK can subscribe to receive print copies for free!
What’s your experience of learning to program? Have you given up and thought it just wasn’t for you? This has been the case for many people — and it’s the focus of a lot of research. Now that teaching programming is in the curriculum in many countries around the world, it’s even more important that we understand what we can do to make learning to program accessible and achievable for all students.
What is cognitive load for learners?
In education, one of the problems thought to cause students difficulty with learning anything — not just programming — is cognitive load. Cognitive load, a concept introduced in the 1980s by John Sweller, has received a lot of attention in the last few years. It is based on the idea that our working memory (the part of our memory that processes what we are currently doing) can only deal with a limited amount of information at any one time. For example, you can imagine that when you are just starting to learn to program, there is an awful lot going on in your working memory, and this can make the task of assimilating it all very challenging; selection, loops, arrays, and objects are all tricky concepts that you need to get to grips with. Cognitive load is a stress on a learner’s working memory, reducing their ability to process and learn new information.
Finding ways of teaching programming that reduce cognitive load is really key for all of us engaged in computing education, so we were delighted to welcome Dr Briana Morrison (University of Nebraska-Omaha) as the speaker at our latest research seminar. Briana’s talk was titled ‘Using subgoal Labels to Reduce Cognitive Load in Introductory Programming’.
The thrust of Briana’s and her colleagues’ research is that, as educators, we can design instructional experiences around computer programming so that they minimise cognitive load. Using worked examples with subgoal labels is one approach that has been shown to help a lot with this.
Subgoal labels help students memorise and generalise
Think back to the way you may have learned mathematics: in maths, worked examples are often used to demonstrate how to solve a problem step by step. The same can be done when teaching programming. For example, if we want to write a loop in Python, the teacher can show us a step-by-step approach using an example, and we can then apply this approach to our own task. Sounds reasonable, right?
What subgoal labels add is that, rather than just calling the steps of the worked example ‘Step 1’, ‘Step 2’, etc., the teacher uses memorable labels. For example, a subgoal label might be ‘define and initialise variables’. Such labels not only help us to remember, but more importantly, they help us to generalise the teacher’s example and grasp how to use it for many other applications.
Subgoal labels help students perform better
In her talk, Briana gave us examples of subgoal labels in use and explained how to write subgoal labels, as well as how to work with subject experts to find the best subgoal labels for a particular programming construct or area of teaching. She also shared with us some very impressive results from her team’s research examining the impact of this teaching approach.
Briana and her colleagues have carried out robust studies comparing students who were taught using subgoals with students who weren’t. The study she discussed in the seminar involved 307 students; students in the group that learned with worked examples containing subgoal labels gave more complete answers to questions, and showed that they could understand the programming constructs at a higher level, than students who learned with worked examples that didn’t contain the subgoal labels. The study also found that the impact of subgoal labels was even more marked for students in at-risk groups (i.e. students at risk of performing badly or of dropping out).
It seems that this teaching approach works really well. The study’s participants were students in introductory computer science classes at university, so it would be interesting to see whether these results can be replicated at school level, where arguably cognitive load is even more of an issue.
Briana’s seminar was very well received, with attendees asking lots of questions about the details of the research and how it could be replicated. Her talk even included some audience participation, which got us all tapping our heads and rubbing our bellies!
Very helpfully, Briana shared a list of resources related to subgoal labels, which you can access via her talk slides on our seminars page.
If you missed the seminar, you can find Briana’s presentation slides on our seminars page, where we’ll also soon upload a recording of her talk.
In our next seminar on Tuesday 14 July at 17:00–18:00 BST / 12:00–13:00 EDT / 9:00–10:00 PDT / 18:00–19:00 CEST, we’ll welcome Maria Zapata, Universidad Rey Juan Carlos, Madrid, who will be talking about computational thinking and how we can assess the computational thinking skills of very young children. To join the seminar, simply sign up with your name and email address and we’ll email you the link and instructions. If you attended Briana’s seminar, the link remains the same.
One aspect of our work as part of the National Centre for Computing Education (NCCE) is producing free materials for teachers about teaching methods and pedagogy in computing. I am excited to introduce these materials to you here!
Teachers are asking us about teaching methods
Computing was included in the national curriculum in England in 2014, and after this, continued professional development (CPD) initiatives became available to support teachers to feel confident in topics they had not previously studied. Much of the CPD focussed on learning about programming, algorithms, networking, and how computers work.
More recently however, I’ve found that increasing numbers of teachers are asking for support around teaching methods, particularly for how to support students who find programming and other aspects of computing difficult. Computing is a relatively new subject, but more and more research results are showing how to best teach it.
We offer CPD with our online courses
As part of the NCCE, we produce lots of free resources to support teachers with developing knowledge and skills in all aspects of computing. The NCCE’s Computing Hubs offer remotely delivered sessions, and we produce interactive, in-depth, free online courses for teachers to take over 3 or 4 weeks. Some of these online courses are about subject knowledge, while others focus on how to teach computing, the area referred to as pedagogical content knowledge*. For example, two of our courses are Programming Pedagogy in Primary Schools and Programming Pedagogy in Secondary Schools. Our pedagogy courses draw on the expertise and experience of many computing teachers working with students right now.
We share best practices in computing pedagogy
But that’s not all! We continually share tried and tested strategies for use in the computing classroom to help teachers, and those training to teach, support students more effectively. We believe that computing is for everyone and as such, we need a variety of possible approaches to teaching each topic up our collective sleeves, to ensure accessibility for all our students.
We develop all of this material in collaboration with in-the-classroom-now, experienced teachers and other experts, also drawing upon the latest computing education research. Our aim is to give you great, practical ideas for how to engage students who may be unmotivated or switched off, and new strategies to help you support students’ understanding of more complex computing concepts.
We support you to do classroom action research
One of the findings from decades of educational research is that teacher action research in the classroom is an extremely effective form of CPD! Teacher action research means reflecting on what the barriers to learning are in your classroom, planning an intervention (often in the form of a specific change to your teaching practice), and then evaluating whether it engenders improvement. Doing this has positive impacts both on your expertise as a teacher and on your students’ learning!
To support you with action research, we’re launching a special programme for classroom action research in computing. This takes the form of an online course, facilitated by experts in the field, lasting over a six-month period. Find out more about this opportunity.
Share your experiences with us
Right now we’re in unusual times, and surviving various combinations of home learning and remote delivery with your classes may be your greatest concern. However you’re getting on, we’d love to hear from you about your classroom practice in computing. Your experience with different ways of teaching computing in the classroom will add to our collective understanding about what works for teaching students. You can share your feedback with us, or get in touch with our pedagogy team at research@teachcomputing.org.
Other ways to learn and stay in touch:
*Back in 1987, Lee Shulman wrote: “Pedagogical content knowledge represents the blending of content and pedagogy into an understanding of how particular topics, problems or issues are organised, represented, and adapted to the diverse interests and abilities of learners, and presented for instruction.”
Using deeper learning as a framework for transformative educational experiences, Brent Richardson outlines the case for a pedagogical approach that challenges students using a Raspberry Pi. From the latest issue of Hello World magazine — out today!
A benefit of completing school and entering the workforce is being able to kiss standardised tests goodbye. That is, if you don’t count those occasional ‘prove you watched the webinar’ quizzes some supervisors require.
In the real world, assessments often happen on the fly and are based on each employee’s ability to successfully complete tasks and solve problems. It is often obvious to an employer when their staff members are unprepared.
Formal education continues to focus on accountability tools that measure base-level proficiencies instead of more complex skills like problem-solving and communication.
One of the main reasons the U.S. education system is criticised for its reliance on standardised tests is that this method of assessing a student’s comprehension of a subject can hinder their ability to transfer knowledge from an existing situation to a new situation. The effect leaves students ill-prepared for higher education and the workforce.
A study conducted by the National Association of Colleges and Employers found a significant gap between how students felt about their abilities and their employer’s observations. In seven out of eight categories, students rated their skills much higher than their prospective employers had.
Some people believe that this gap continues to widen because teaching within the confines of a standardised test encourages teachers to narrow their instruction. The focus becomes preparing students with a limited scope of learning that is beneficial for testing.
With this approach to learning, it is possible that students can excel at test-taking and still struggle with applying knowledge in new ways. Educators need to have the support to not only prepare students for tests but also to develop ways that will help their students connect to the material in a meaningful manner.
In an effort to boost the U.S. education system’s ability to increase the knowledge and skills of students, many private corporations and nonprofits directly support public education. In 2010, the Hewlett Foundation went so far as to develop a framework called ‘deeper learning’ to help guide its education partners in preparing learners for success.
The principles of deeper learning
Deeper learning focuses on six key competencies:
Master core academic content
Think critically and solve complex problems
Work collaboratively
Communicate effectively
Learn how to learn
Develop academic mindsets
This framework ensures that learners are active participants in their education. Students are immersed in a challenging curriculum that requires them to seek out and acquire new information, apply what they have learned, and build upon that to create new knowledge.
While deeper learning experiences are important for all students, research shows that schools that engage students from low-income families and students of colour in deeper learning have stronger academic outcomes, better attendance and behaviour, and lower dropout rates. This results in higher graduation rates, and higher rates of college attendance and perseverance than comparison schools serving similar students. This pedagogical approach is one we strive to embed in all our work at Fab Lab Houston.
A deeper learning timelapse project
The importance of deeper learning was undeniable when a group of students I worked with in Houston built a solar-powered time-lapse camera. Through this collaborative project, we quickly found ourselves moving beyond classroom pedagogy to a ‘hero’s journey’ — where students’ learning paths echo a centuries-old narrative arc in which a protagonist goes on an adventure, makes new friends, encounters roadblocks, overcomes adversity, and returns home a changed person.
In this spirit, we challenged the students with a simple objective: ‘Make a device to document the construction of Fab Lab Houston’. In just one sentence, participants understood enough to know where the finish line was without being told exactly how to get there. This shift in approach pushed students to ask questions as they attempted to understand constraints and potential approaches.
Students shared ideas ranging from drone video to photography robots. Together everyone began to break down these big ideas into smaller parts and better define the project we would tackle together. To my surprise, even the students that typically refused to do most things were excited to poke holes in unrealistic ideas. It was decided, among other things, that drones would be too expensive, robots might not be waterproof, and time was always a concern.
The decision was made to move forward with the stationary time-lapse camera, because although the students didn’t know how to accomplish all the aspects of the project, they could at least understand the project enough to break it down into doable parts and develop a ballpark budget. Students formed three teams and picked one aspect of the project to tackle. The three subgroups focused on taking photos and converting them to video, developing a remote power solution, and building weatherproof housing.
A group of students found sample code for Raspberry Pi that could be repurposed to take photos and store them sequentially on a USB drive. After quick success, a few ambitious learners started working to automate the image post-processing into video. Eventually, after attempting multiple ways to program the computer to dynamically turn images into video, one team member discovered a new approach: since the photos were stored with a sequential numbering system, thousands of photos could be loaded into Adobe Premiere Pro straight off the USB with the ‘Automate to Sequence’ tool in Premiere.
A great deal of time was spent measuring power consumption and calculating solar panel and battery size. Since the project would be placed on a pole in the middle of a construction site for six months, the students were challenged with making their solar-powered time-lapse camera as efficient as possible.
Waking the device after it was put into sleep mode proved to be more difficult than anticipated, so a hardware solution was tested. The Raspberry Pi computer was programmed to boot up when receiving power, take a picture, and then shut itself down. With the Raspberry Pi safely shut down, a timer relay cut power for ten minutes before returning power and starting the cycle again.
Finally, a waterproof container had to be built to house the electronics and battery. To avoid overcomplicating the process, the group sourced a plastic weatherproof ammunition storage box to modify. Students operated a 3D printer to create custom parts for the box.
After cutting a hole for the camera, a small piece of glass was attached to a 3D-printed hood, ensuring no water entered the box. On the rear of the box, they printed a part to hold and seal the cable from the solar panel where it entered the box. It only took a few sessions before the group produced a functioning prototype. The project was then placed outside for a day to test the capability of the device.
The test appeared successful when the students checked the USB drive. The drive was full of high-quality images captured every ten minutes. When the drive was connected back to Raspberry Pi, a student noticed that all the parts inside the case moved. The high temperature on the day of the test had melted the glue used to attach everything. This unexpected problem challenged students to research a better alternative and reattach the pieces.
Once the students felt confident in their device’s functionality, it was handed over to the construction crew, who installed the camera on a twenty-foot pole. The installation went smoothly and the students anxiously waited to see the results.
Less than a week after the camera went up, Houston was hit hard with the rains brought on by hurricane Harvey. The group was nervous to see whether the project they had constructed would survive. However, when they saw that their camera had survived and was working, they felt a great sense of pride.
They recognised that it was the collaborative effort of the group to problem-solve possible challenges that allowed their camera to not only survive but to capture a spectacular series of photos showing the impact of the hurricane in the location it was placed.
This is “BakerRipleyTimeLapse2” by Brent Richardson on Vimeo, the home for high quality videos and the people who love them.
A worthwhile risk
Overcoming many hiccups throughout the project was a great illustration of how the students learned how to learn and to develop an academic mindset; a setback that at the beginning of the project might have seemed insurmountable was laughable in the end.
Throughout my experience as a classroom teacher, a museum educator, and now a director of a digital makerspace, I’ve seen countless students struggle to understand the relevance of learning, and this has led me to develop a strong desire to expand the use of deeper learning.
Sometimes it feels like a risk to facilitate learning rather than impart knowledge, but seeing a student’s development into a changed person, ready to help someone else learn, makes it worth the effort. Let’s challenge ourselves as educators to help students acquire knowledge and use it.
Get your FREE copy of Hello World today
Issue 12 of Hello World is available now as a FREE PDF download. UK-based educators can also subscribe to receive Hello World directly to their door in all its shiny printed goodness. Visit the Hello World website for more information.
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Einwillligung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.