Flow of Control in Primary Programming Concept Introduction

Over the last year every time I introduce a new concept such as count-controlled-loops or conditional selection I have asked pupils to trace the flow of control mainly in algorithms but also occasionally in code.

We have done this alongside
-Linking the concept to everyday examples
-Roleplaying everyday algorithms
-Writing everyday algorithms

Sometimes we have done this next to the algorithm and sometimes I have faded the text or code and drawn on top of it. Mostly I like to demonstrate it by drawing it live so that pupils see the flow of control. So far I only use a line, dots for actions, a diamond for decisions and a circle for basic procedures.

I always give them a chance to draw the flow of control using their new found understanding as well as drawing flow of control elements for previously introduced concepts. My pupils have found this knowledge useful with the majority in the class, in informal surveys, saying that it increased their understanding of the concept.

Here are a few examples

Count controlled loop
Condition starts action
Condition starts actions and cound controlled loop
Condition ends indefinite loop
Condition switches between actions and cound controlled loop
Condition starts action within an indefinite loop
Condition starts action that calls a basic procedure
Nested loops that call basic procedures

So far, I have not seen them use this in design but occasionaly we have used it to help pupils see why their code has bugs.

If anyone knows of any other ideas or research that is similar to this please let me know.

Phil Bagge 30-1-2021