Using non-programming activities to teach programming concepts

By Thom Kunkeler. Posted

Originally published in Hello World Issue 10: Maths and computer science, October 2019. All information true at the time of original publishing.

Programming takes place on a computer, but research has shown the promise of using non-programming activities for teaching important concepts to novice learners. The study, conducted by Grover et al at three urban US schools, was designed with 16 non-programming activities during a 20-day programme. The research team found that the learning gains from students who followed the intervention were significantly higher, in comparison to students who followed the regular computer science curriculum.

From the moment learners engage with any programming language or tool, they will encounter variables, expressions, loops, and abstraction – the ‘VELA’ concepts – in one way or another. 

Some learners struggle with these concepts, as they assume that variables can have multiple values at the same time, whereas others might not be able to distinguish between what goes inside a loop and what precedes a loop. Although visual block-based programming environments such as Scratch, Alice, or Snap! have helped with navigating through different concepts, students still find it difficult to make sense of programming languages.

For this study, the research team designed non-programming activities to help students engage with and understand the foundation of programming concepts. Activities such as ‘Story Variables’ and ‘Cats and Ladders’ were designed to encourage students to come up with a definition of a ‘variable’ collaboratively, before applying this definition in practice. In the first activity, students discussed multiple examples where variables were present, such as: “Last week, I bought a pen for $1.50, now it costs $3,” to identify what the variable is, and how it changes over time. In the second activity, the students had to put their definition into practice by determining the length of a ladder required to reach distraught cats in ‘Cats and Ladders’. 

Students had to come up with a range of possible values that were needed to rescue the cats, and engage in abstraction by synthesising new variables based on existing ones. 

Examples of non-programming activities for the classroom

Throughout the 20-day research intervention, students participated in 16 of such activities. The research team gathered their data based on a pre- and post-assessment of students’ introductory programming skills, analysis of students’ Scratch projects, and interviews with teachers and students alike. Besides higher learning gains for students following the intervention, the findings were not linked to gender or prior academic preparation, and all grades participating in the study showed similar learning gains. For teachers, these findings should be taken as an incentive to experiment with non-programming activities for teaching difficult concepts. Try out some of these non-programming activities yourself! 

Story variables

Introducing ideas of changing quantities in the real world and giving them meaningful names

Cats and Ladders

Naming variables and creating expressions in non-programming context

3 switches

Turning light switches on/off using Booleans, Boolean operators and abstractions

Alarm clock

Modelling real-world alarm clock situations using variables, arithmetic, and logical expressions and abstractions

Further reading

Full details on the article and activities.


Free - UK only

If you’re a UK-based teacher, volunteer, librarian or something in between, we'll send each issue free to your door.



Just want to read the free PDF? Get each new issue delivered straight to your inbox. No fuss and no spam.


From £6

If you’re not a UK-based educator, you can buy print copies from our store.