Skip to main content

Posts

How to support your students to write code

For many children writing code can be a daunting prospect. To help children learn to write code more easily we can use a range of scaffolded pedagogies. Initially these approaches take ownership of the code away from the students thereby giving them confidence to explore and experiment with the code.   Gradually as the students learn more and more we can reduce the amount of support until they are able to write their own programs independently.   In a previous article we looked at approaches for supporting pupils to learn to read code that included activities such as explaining, predicting and tracing code, and live demonstrations with worked examples. This follow up article presents some approaches to support pupils with writing code. Fixing broken code Children can find and fix common syntax, runtime and logical errors in a piece of code. Errors might include missing brackets, missing speech marks, spelling mistakes and missing variables declarations, for instance. Th...

Teaching Children to Read Code using Evidence-based Approaches

Before students can write code, they need to be able to read code. Computer science pedagogy is often based around the ideas of Piaget’s constructivism - where pupils develop their knowledge through exploration, and Papert’s constructionism - where pupils learn through creating artifacts. However, evidence has shown that learners need guidance to gain useful knowledge efficiently and to organise that knowledge in a clear and logical way. They need to be able to break a problem down, remove the unnecessary detail, find patterns and think algorithmically before they can start to write programs for solving problems. Just as we wouldn’t expect a young child to write prose before they can read, we need to provide guided approaches that use direct instruction and scaffolding to help our students read code before they can be expected to write code themselves. These guided approaches are needed just as much as, if not more than, creative discovery activities. Explain the code My first approach...

Knowledge Organisers

Knowledge organisers are increasingly being used to support a knowledge rich curriculum in English primary and secondary schools. The knowledge requirements alone for GCSE and A level is challenging even before coming onto higher order levels of understanding and analysis on the Bloom's taxonomy. Knowledge organisers. Knowledge organisers help to support pupils in retaining and retrieving key information and help with long term retrieval through self-testing and low stakes testing in class. In themselves they are nothing fancy. Typically, they are a single page that contains key information about a topic. They contain keywords and definitions, key facts, bullet points, labelled diagrams and other essential knowledge. They do not have extended prose and no procedural knowledge and are designed in such a way that allow for self-testing. Creating a knowledge organiser is one thing but it is how they are used is what makes them so powerful. I give out the knowledge organisers near the ...

Cognitive Load Theory

I will look at how cognitive load theory (CLT) can help us to teach computer science and particularly coding. CLT is a theory of how we learn and gain knowledge. The principal character in this field is John Sweller who is an Australian educational psychologist. It took a while for his ideas to gain acceptance in the scientific community, but they are uncontroversial and are now filtering down to secondary schools in the UK, but more slowly than they perhaps should. CLT is important for teachers because it identifies the most effective teaching methods for learning. But before I write about CLT further I need to present a simple model for how human memory works. Memory is split into short term and long term memory. Short term memory has limited capacity and can hold between three and seven chunks of information. We are consciously aware of what we are holding in short term memory. Long term memory has unlimited capacity. For us to learn anything it first needs to be transferre...

Long term memory: Spaced practice, testing and implications for curriculum design

It is a self-evident truth that the role of teachers is to facilitate student learning.  For students to learn anything there needs to be a change in their long-term memory ( Kirschner et al.,  2006 ).  The problem is that no one really understands what memory is or how to define it.  But undeterred I am nonetheless going to start with a simple model of how memory works and based on what we do know about memory I will then look at how spaced practice, low stakes testing and design of our curriculum can help with long-term memory retention. Simple model of memory There is a simple model of memory that splits memory into two components: long term memory and short term memory (Wallingham).  Our short term memory directly interacts with the environment through our senses and act as a kind of filter that determines what new learning needs to be stored in long term memory.  The problem with our short term memory is its capacity is rather limited (b...

Modelling the Spread of a Virus

I am currently in lockdown owing to the coronavirus pandemic that is sweeping the World.  It is apt therefore to present a model of epidemiology that shows how disease spreads through a population. Models of this type, but much more complex than the one presented here, are being used to inform national policies in order to reduce the devastating impact that the coronavirus is having on our societies. The model here is based on a very simple idea.  You have a population that starts off with a single individual who is infected with a virus and sets off the chain of infection.  That person then infects a number of other people according to the transmission rate (more on this later).  Those people then infect other people and so on. Initially the rate of growth of the number of people infected is exponential, that is a doubling of people with the disease for every round of infections, which demonstrates just how difficult it is to contain a virus once is has broken ou...