3 ms·
I was fortunate enough to see and hear Randy Pausch describe Alice's development in a lecture at CMU while he was still alive. I remember it being quite compell
by davidthewatson 3y ago
I was fortunate enough to see and hear Randy Pausch describe Alice's development in a lecture at CMU while he was still alive. I remember it being quite compelling as he discussed teaching young kids concurrency by animating a figure skater pirouetting on screen and the fact that the language made this straightforward compared to say, how this would be implemented in C++, for instance.
The problem, of course, is that the very affordance in a language like Alice that makes it approachable for novices are exactly the same constraints and limitations that drive experts insane.
The following is worth noting from the Wikipedia link you included:
"Alice is designed to appeal to specific subpopulations not normally exposed to computer programming, such as students of middle school age, by encouraging storytelling. Alice is also used at many colleges and universities in Introduction to Programming courses."
My point is simply that Alice seems like the wrong tool for the wrong age group as described by your experience but it's definitely not the right approach for someone who will major in computer science later.
- Manuel_D 3y agoAs per your quote, Alice is used in middle school and university courses. So high school is square in the middle of the target audience. The issue with Alice is that graphical, block based coding is not at all an ergonomic way to code. It drives experts and novices both insane. Sure, C++ probably isn't the best for an intro CS courses, either, but Python with some wrappers over SDL to draw sprites is not only a better teaching tool it also forms a more useful springboard to build other projects later. The only good thing Alice does is reduce the scope of things you need to know in order to achieve tangible, compelling results. But that can be done without a block based editor. Graphical, block based coding seems to be a common attempt to make coding more approachable [2] but I don't really see any convincing arguments as to why. My take is that it a mix of 1) assumption that that students are intimidated by text, and 2) aesthetic appeal from people who don't actually have to use these tools. Yes, it's impressive to see a skater spin around in 3d with just a few blocks of code in a lecture, but it's another thing to actually use it. 2. E.g., https://developers.google.com/blockly https://developers.google.com/blockly