Teach Computing - our focus on pedagogy

24 July 2019

Our mission

Part of the remit of the National Centre for Computing Education (NCCE) and associated programmes is to provide professional development opportunities for teachers to strengthen their subject knowledge. However, teaching computing involves more than secure subject knowledge. Our educator community need to be equipped with strategies to teach the subject effectively, through a combination of experience and understanding of relevant pedagogical strategies.

We are committed to supporting teachers who want to understand where research has been carried out to support effective teaching and learning of computing. We have written this update to share where we are in that process, and what we are planning.

In 2019, we are focusing on sharing evidence-based practices with educators, alongside practical examples for the classroom. Our goal is to save educators time by collating and translating existing research findings and sharing what the evidence supports, as well as any limitations.

Our plans

Between now and the end of the (calendar) year, we will be developing four main initiatives to help teachers develop and iterate their practice:

  1. Earlier this year, we launched Research Bytes, a half-termly newsletter focused on sharing research into effective computing pedagogy. Each issue is packed with articles from researchers and educators, practical examples from the classroom, and news and updates.
  2. Later this year, we’ll be sharing our first pedagogy summaries for computing, including bite-sized and accessible explanations of key strategies, what the evidence suggests, and any limitations. Each strategy will come with practical examples, ready for busy teachers to use.
  3. We want to help teachers engage with discussions about effective computing pedagogy and will therefore be launching a podcast series in the autumn term filled with interviews, discussions, and practical tips from both researchers and teachers.
  4. Two online courses focusing on programming pedagogy are in the early stages of development. We will share more about this next term.

You can contribute to any of these resources by writing an article, sharing your experiences, or being a guest on the podcast — contact research@teachcomputing.org if you would like to be involved.

Our approach

We’ve been researching and developing a set of pedagogical guidelines for teaching all aspects of computing. These guidelines underpin everything we do. Having drawn on current research, as well as experience, we have identified a selection of approaches that are embedded in our content and training. Some example approaches are included in the table below.

Teaching approach What it means Useful when...
Unplugged approaches with semantic waves Exploration of a concept away from computers, followed by concrete application, which is then connected back to the abstract concept. Introducing new abstract concepts such as:
  • Binary representation
  • Data transmission
  • Sorting and searching
Guided exploration Learners have the freedom to experiment and direct their learning. Guidance is provided through generic goals, available resources, solution elements, or ad hoc support.
  • Consolidating ideas or applying learning to a new context
  • Challenging learners and fostering creativity
  • Addressing misconceptions
Vocabulary, discourse, and questioning Being consistent and correct in how we use key terminology, both in written and verbal communication.
  • Giving learners the vocabulary to describe a concept once they have understood it
  • Aiding students’ comprehension through consistent, correct, and incidental use of terms
Authentic tasks Using cross-curricular, real-world contexts for problems, scenarios, questions, and challenges. Making the tasks relevant to the learner.
  • Providing opportunities for cross-curricular learning
  • Adding value and meaning to the concepts being explored

When teaching programming, we will be drawing on a range of approaches that are supported by research. A few examples (not an exhaustive list) are included in the table below.

Teaching approach What it means Useful when...
Peer instruction Multiple choice questions are posed to pairs with the aim of forming a consensus and challenging misconceptions.
  • Assessing a group’s understanding of particular concepts
  • Addressing common or persistent misconceptions
Worked examples Sample solutions are shared with learners and annotated with subgoal labels, providing a model for similar incomplete problems.
  • Supporting beginners in developing common programming patterns
PRIMM A framework that encourages students to begin by reading code and then to Predict, Run, Investigate, Modify, and Make. (Read more here)
  • Deepening learners’ understanding of new programming concepts
  • Addressing misconceptions
  • Giving learners agency/confidence
Pair programming Two learners work together on the same task, taking it in turns to drive or navigate. The driver controls the computing device, and the navigator provides support and direction.
  • Applying programming concepts in practice
  • Pairing partners with relatively small differences in skills
  • Encouraging learners to discuss concepts
Physical computing Programming computing devices to interact with the physical world, e.g. controlling lights and motors and responding to sensor input.
  • Providing students with motivation
  • Using the concepts to drive the learning, rather than the product

We are just at the beginning of this area of the NCCE’s work and will be developing more resources that will help you use relevant research in the classroom. We’ll share more details on the Teach Computing blog in the coming weeks.


About the author
James Robinson is the Senior Learning Manager at Raspberry Pi Foundation.