For decades, learning to program has been rooted in the process conception of knowledge. Students learned by doing: by writing code, compiling, fixing syntax errors, and gradually developing fluency ...