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
A-Z Handbook on Teaching Introductory Programming
How we teach computing
Using worked examples supports novices to develop their programming practice
Worked examples demonstrate an ‘expert’ solution to a problem and are used in many subjects to support novices, who use the examples as blueprints for solving new but related problems.