Some notes written for CSC 313 Teaching Computing. Learning a second programming language Spatial skills and programming education Metacognitive scaffolding for programming problems