Teaching programming
These articles provide evidenced-based approaches to teaching programming.
Exploring pedagogies for teaching programming in school
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: 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
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
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
A-Z Handbook on Teaching Introductory Programming
This book (accessed online using the 'look inside' feature or purchased in hard copy) provides a comprehensive guide to programming for all levels. It describes a range of effective teaching strategies.
Code tracing
Code tracing
Code tracing is a well-established approach to help learners develop their program comprehension.
It involves reading and analysing code, before running it to predict its outcome.
Using worked examples supports novices to develop their programming practice
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.