Spiral Python
2023-07-19 , Terrace 2A

Most introductory Python books and online resources like w3schools.com try to be complete when a new concept is explained. This does not always work well for beginners. E.g. if you have just grasped how a while-loop works, it may cause too much cognitive load to also understand the break and continue options, let alone the else clause.
The learning psychologist Jerome Bruner introduced the term "spiral learning". The idea is that you don't teach all aspects of a new concept, but just enough to use it. At a later stage a teacher can revisit the subject and explain more details, when a student needs this to take the next step.
Spiral Python is a road map of subjects that can be found in any introductory book or online resource about Python, but absolutely original in the sense that it takes into account how people learn in a natural way. You do not need to know the whole language before you can use it. Spiral Python also contains exercises (to practice) and challenges (to motivate).


The idea of Spiral Python comes from the original Meccano construction kits. In Kit #1 you found building materials, some simple tools and a booklet with ideas what to build. It was possible, however, to build much cooler contraptions than those in the booklet. Meccano enabled children to be creative. Soon a kid needed Kit #2 to realise his or her ideas.

In a workshop, I can first summarise what cognitive psychology understands about learning (e.g. from "How We Learn", Dehaene 2020). Subsequently I can share our experience at Rotterdam University on what beginner programmers find difficult or misunderstand when they learn programming. In general the problem is that there is too much cognitive load, too much new ideas at once ("The Programmer's Brain", Hermans 2021). Finally I will sketch the Spiral Python approach, in which new concepts build on prior experience of students (e.g. the Python List is related to shopping lists and to-do lists) and gradually explained. At each stage of Spiral Python, students don't make just standard exercises but are challenged to be creative and follow their own passion in building software-driven products. We use libraries (turtle, opencv) and hardware (microbit, raspberry pi with sense hat) to make the software products more interesting.
Students that take the Spiral Python approach get used to extending and adapting the mental models they have made of the Python programming language, computers, networking and computing. This makes them more flexible and independent thinkers, who hopefully enjoy lifelong learning.


Expected audience expertise:

beginner

I studied Mathematics and Physics and did my PhD in Computer Science. I worked in Research and as a manager (CTO, CEO) of a series of start-up companies (Planet Internet, KPN Hotspots, KPN RFID). Currently I work for my own start-up company Real Thinks and for Rotterdam University of Applied Sciences as a professor Software Development.

My research interests are Machine Learning and Human Learning, and how we can use insights in these topics to improve education.