Dry run techniques where you step through a program listing away from a computer are very powerful pedagogically as a way to teach programming as well as other computational topics (eg Turing Machines, algorithms, etc).
Two main approaches are
- role play the execution of aspects of a program
- draw dry run tables, showing the changing values of tables with a row for each line executed by the program
Role play is good as a way to give initial understanding of new programming concepts. Dry Running short program fragments then reinforces learning and acts as a diagnostic test to help students over barrier concepts.
Slides from the CAS London 2020 Conference