The Hour of Code sure has alleviated quite a few hurdles in the early stages of learning how to program by introducing “engaging” courses for people between the ages of Really Young™ and Really Old™. But what does that mean for programmers like me who are already competent in the field?
First off, Code.org was founded in 2013 as a non-profit organization. Just one year on, 20 million dollars were already poured into this agenda of pushing CS into classrooms and making it more appealing to minority groups and women. I’d call it a sort of reverse discrimination where one tries to counteract the past influences of sexism and racism by favoring the afflicted groups more than the already dominant group.
Because this is what we have to do to get people to start programming? Lure them into mainstream stuff like this? Minecraft wasn’t even mainstream in the first place, and guess who the first interviewee in the official Mojang video is? It’s the brand director of the game. These guys are not teaching kids how to program, they could do this type of block-based scripting with Scratch very easily and in a less level-oriented design. Instead, they’re driving a product by sponsoring with a company about teaching kids how to program.
Code.org is making it easier for kids to start programming, but then what’s next? What do you do after the tutorial? Where do you go? There’s no kid-friendly tutorial that explains the inner workings of Python other than if, then, else, and while.
The Hour of Code is exposing more people to the foundation of programming at the cost of significantly increasing the signal-to-noise ratio of people genuinely committed to understanding how to program. It is inevitable, that these kids must enter the adult-oriented communities in order to further understand what they are doing and get help on high-level concepts because the material for kids just covers the basics and stops there. And then parents complain that their kids are getting into adult communities and they need to be further protected blah blah blah…
People tend to view the kinds of opinions I state here as somewhat elitist, that we ought to be breeding only the best of the best programmers. But for us, this is both a blessing and a crisis. We have more people exposed to the basics, which makes it much, much easier to begin to branch off into any direction of the field, but at the same time we have much less people encouraged to travel into the field totally alone and learn much, much more along the way than just a premade tutorial telling you some things you need to know to program and omitting some “hard-to-understand” parts.
In our school, the only CS teacher has a couple of periods devoted to teaching computer science, some of which are totally full. We put big signs at the door telling people when our next programming club meeting is. Yet people do not come. Really, only one or two out of sixty or so CS students want to go to Programming Club (which is sanctioned by the school and sponsored by the CS teacher) and make a serious attempt to make a coding project.
This outlines a huge problem: people know the basics (or are spoonfed them, rather) but are not willing to learn further or apply it to a further level. At the same time, it’s like Eternal September for existing communities: the newbies never stop flooding in…