2 ms·
I took a computer science class in high school in 2009-2010. It was a pretty bad experience all around, the pace was so slow it and using Alice [1] was tortuous
by Manuel_D 3y ago
I took a computer science class in high school in 2009-2010. It was a pretty bad experience all around, the pace was so slow it and using Alice [1] was tortuous. Thankfully my university intro CS courses were far more engaging.
The fact that California only offers CS in 40% of it's high schools vs. 53% nationwide is not the metric I would care about. Quality is vastly more important in my experience. I suspect that clubs and extracurricular CS programs would have more value. People progress at vastly different paces when learning coding, and the people most likely to enjoy developing software later in life are likely bored out of their minds in the typical high school CS class.
1. https://en.m.wikipedia.org/wiki/Alice_(software) https://en.m.wikipedia.org/wiki/Alice_(software)
- davidthewatson 3y agoI 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