It's not the usual or appropriate notion of learning by doing. It's more analogous to going through math drill exercises in a book, or following step by step instructions in a lab (doing without understanding). Research on those techniques shows that students learn less than in more higher-order activities (simulations, games, projects, etc., see e.g. Wenglinsky, 1998, Does It Compute?).
I think better introductions to programming for complete novices would include things like visual programming environments (Scratch, Blockly), or editing/tweaking levels in a game, or making alterations to an existing simple game or animation, like the Processing.js ones on jsdo.it and other sites.
Comments
It's not the usual or appropriate notion of learning by doing. It's more analogous to going through math drill exercises in a book, or following step by step instructions in a lab (doing without understanding). Research on those techniques shows that students learn less than in more higher-order activities (simulations, games, projects, etc., see e.g. Wenglinsky, 1998, Does It Compute?).
I think better introductions to programming for complete novices would include things like visual programming environments (Scratch, Blockly), or editing/tweaking levels in a game, or making alterations to an existing simple game or animation, like the Processing.js ones on jsdo.it and other sites.