These articles provide evidenced-based approaches to teaching programming.
Exploring pedagogies for teaching programming in school
This approach expands on the approach Use-Modify-Create. This is when a learner runs (uses) an existing program to see what it does, then modifies it, and then when able, creates a new project of their own.
PRIMM: A structured approach to teaching programming
PRIMM is one approach that can help teachers structure lessons in programming. PRIMM stands for Predict, Run, Investigate, Modify, Make.
Image credit: United Kingdom Department of Education
A continuum of scaffolding: from copying code to tinkering
This simple model is presented as a linear continuum of instructional approaches. The continuum includes: copying code, targeted tasks, shared programming, guided exploration, project creation, and tinkering.
Ten quick tips for teaching programming
Tip 1: Remember that there is no geek gene
Tip 2: Use peer instruction
Tip 3: Use live coding
Tip 4: Have students make predictions
Tip 5: Use pair programming
Tip 6: Use worked examples with labelled subgoals
Tip 7: Stick to one language
Tip 8: Use authentic tasks
Tip 9: Remember that novices are not experts
Tip 10: Don't just code
Image credit: 200degrees/ Pixabay