6 ms·
Oh, one more thing I forgot to mention. Another problem with Bootstrap is that the students seem to be quite confused about control flow. They don't understand
by dhess 16y ago
Oh, one more thing I forgot to mention.
Another problem with Bootstrap is that the students seem to be quite confused about control flow. They don't understand how the whole process starts, proceeds, and then repeats itself. The confusion occurs because the students are only writing callbacks, and are never exposed to the event loop of the game engine.
Scratch does not have this problem. Scratch programmers are entirely responsible for deciding how events are sequenced (when they need to be, at least; without explicit sequencing, everything in Scratch executes in parallel by default, which is how the real world works and is therefore familiar).
I think understanding control and/or data flow is a crucial concept for introductory programming. It helps the student develop a complete mental model for how programs, when executed, create dynamic processes. For my Bootstrap classes, I came up with a pretty silly real-world scenario in an attempt to explain to them what Scheme and the game framework were doing behind the scenes, to give the students at least some sense of "who" or what was causing their functions to execute, but I'm not convinced they really understood it. There was a bit too much magic going on for my liking.
- dasil003 16y agoThis reminds me of when I was 10 years old and got a copy of Think Pascal for the Macintosh. Previously I had done the usual AppleSoft BASIC, Logo, and even some Assembler and HyperTalk. But GUI programming stopped me short—partly due to the unattainable cost of InsideMacintosh—but mostly because the basic control flow was an inscrutable mystery to me, with nary a mention in any documentation I could find.