Article on the positive and negative aspects of code comprehension strategies which code-it Gold uses
Code-it Gold Possible Progressions
There are always more than one way to use any resource. Below are a few possible ways of using these modules.
1, KS2 four year algorithm and code plan
The plan above has been written for primary schools that have been using my earlier planning. Each Year group has a programming concepts theme outlined in the right columns such as selection in Year 5 and repetition in Year 4. Complexity is also increased by going from left to right.
If your pupils are new to programming using a real programming language such as Scratch, then you would be wise to cover simpler concepts first. For example a Year 5 class who had no previous experience would benefit from exploring count controlled loops with the shape module or the Toy Give Away plan and indefinite loops with the Helicopter before moving on to selection in the projects outlined in Year 5 above.
Programming concepts covered in the KS2 four year algorithm and code plan
2, Code-it Gold Shape progression for upper KS2+
An alternative progression involves teaching as many primary shape modules in upper KS2 as pupils can get through in the time you provide. Last year I taught all these modules with my year 5 class successfully. In that instance we all kept pace with each other but you could allow pairs of pupils to work at their own pace, gathering groups of pupils to deliver the concept introductions when they are ready to move on. Whilst simpler shape modules can be used in lower key stage 2, they also make a great gradual introduction to shape programming for upper KS2 pupils and a way of reducing cognitive load and easing reluctant teachers into programming. Their is easily enough challenge in the shape progression to extend even the most experienced primary programmer.
Code-it Gold provides multiple research backed methods of teaching the same programming module to help develop teacher and pupil agency over programming concepts and ideas. If you think there is more your pupils can achieve in primary programming but are not sure how then Code-it Gold is for you. The Code-it Gold resources are free but if you need more training or inset then contact Phil Bagge via the contacts page.
Introductory elements of many modules have been influenced by the cognitive load work of Sweller and others.
Use Modify Create is the idea of Lee et al and is an option that I use in many of the modules.
PRIMM is the idea of Sue Sentence and is an adaptation of Use Modify Create. It stands for Predict, Run, Investigate, Modify, Make.
4 levels of abstraction. Jane Waite, reviewing primary teachers use of planning in programming found that there was little understanding of the difference between an algorithm and code and no coherent planning structure. She suggested that we adapt the work of Armoni and use four levels of abstraction.
Ideas level – What do I want to create in general terms
Design level -Including an algorithm, objects to use & initialisation
Code level -Where we turn algorithm into code
Run the code or execute level -Where we test the code
Some of my PRIMM modules offer an algorithm instead of code to help pupils become familiar with what these might look like. I also stress that when we are working in the planning level we use different language for algorithms than the language of code.
Concept before code has been influenced by the work of Shuchi Grover.
Progression in programming concepts has been influenced by the work of the everyday computing team. Their excellent trajectories have informed the order of many of the concepts.
Every module ends with a make/create section. There are suggestions to help those who prefer a starting point and there are very open ended challenges for those whose imagination has been sparked by the module. These have been influenced by the work of Seymour Papert.
As always all misconceptions are my own.
5th June 2019
Teaching Primary Programming with Scratch: Research-Informed Approaches
Introducing a range of research supported programming methodology that works in the classroom in a way that a non-specialist teachers can understand. Details here