I don't teach Python programming until Year 9 but then we spend the entire Spring term on it. I really feel it needs a whole term as it takes a long time to embed and master these new skills, even with lots of preparatory units.
Here is an outline of my Python unit:
This may seem very slow but, in my experience, this time is needed. I use a multitude of strategies to scaffold, stretch and help pupils embed and master each new skill as we go. See sections that follow in the menu above on code commenting, debugging etc. for details.
Consider these pedagogical approaches when teaching programming:
I have created gapped worksheets for this unit. This is because:
So matter how simple the gap-filling, I find that they have to read and digest what is on the board or what we are discussing in order to be able to do this.