Is Code.org Too Soulless To Make an Impact?
theodp writes "By trotting out politicians (Bill Clinton, Mike Bloomberg, Marco Rubio, Al Gore) and celebrities (Chris Bosh, will.i.am, Ashton Kutcher), Tuesday's Code.org launch certainly was a home run with the media. But will it actually strike a chord with kids and inspire them to code? Dave Winer has his doubts, and explains why — as someone who truly loves programming — code.org rubbed him the wrong way. 'I don't like who is doing the pitching,' says Winer, 'and who isn't. Out of the 83 people they quote, I doubt if many of them have written code recently, and most of them have never done it, and have no idea what they're talking about.' Code.org's because-you-can-make-a-lot of-money-doing-it pitch also leaves Dave cold. So, why should one code, Dave? 'Primarily you should do it because you love it, because it's fun — because it's wonderful to create machines with your mind. Hugely empowering. Emotionally gratifying. Software is math-in-motion. It's a miracle of the mind. And if you can do it, really well, there's absolutely nothing like it.' Nice. So, could Code.org use less soulless prattle from 'leaders and trendsetters' and more genuine passion from programmers?"
Just force all ninth graders to learn Scheme instead of Microsoft Word.
Ok, this is going to burn karma like crazy... but an article about a guy named Dave Winer who is complaining? Seriously?
Pretty good is actually pretty bad.
It's not soulless, it's condescending. Grabbing a bunch of random celebrities and pretending they have anything to do with learning to code is ridiculous.
If there's one thing academia doesn't need, it's crass marketing with celebrity spokespeople.
There's no -1 for "I don't get it."
I've never seen a programmer who had to be encouraged to program. Mostly, I'm interested in the people you can't get to stop programming.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
Especially for kids, but also for people with souls, "it makes money" is not a sufficient justification. Lots of things make money; anal prostitution and being a hired killer also make money.
However, you can usually get traction by pitching it as a skill that is worthy in its own right as it bestows power upon those who yield it. Like learning to play an instrument, it is fun for its own sake and also useful in isolation. It allows you to create things and have a certain type of power.
The point of coding for those who will have the "coder mentality" is that you can fix things, make them do what you need, and accommodate needs outside the generic functions that most people use. It's the same reason you learn to play a guitar, so you can write the songs you like, or learn woodworking, electronics, etc.
I don't think this appeal will ever go wrong, while the sanitized and denatured "but it's a great job!" approach will sound like more manipulative, submissive, obedient and conformist adult-logic to kids.
People who are satisfied with the status quo -- people who see a picture of Bill Clinton or Will.I.Am and think, "yeah, we're celebrating the right things" -- are not the kind of people who become passionate programmers. The best programmers the world has known have all looked at what we have and said, "This is lame, and I'm going to fix it no matter how many times my computer says, 'You coded it wrong.'" A dystopian view of the present is what drives people to run the compiler one more time, one more time, one more time, one more time, until at 3 AM they say, "FUCK YEAH, BITCH, I WIN!"
So unless that front page is trying to inspire kids by making them think, "I am going to learn enough so I can destroy asshat hairstyles like this," I think they've missed the mark.
Stop-Prism.org: Opt Out of Surveillance
I like where you're going, but can't hop on that bus.
Learning how to use a wordprocessor. Learning how to make professional looking documents that communicate well to people is a valuable skill. I'm not a fan of Word, but whether it's Word or Libre Office, 90% of the kids will directly benefit from being able to compose their thoughts on the computer.
I love programming, but the percentage of people that would have their lives improved in some significant way by a 9th grade course in Scheme seems unlikely to be 90%, where for Libre Office that number seems conservative.
You're not going to entice a kid to do anything with the promise of "math in motion".
But if you try to entice them with the promise of big money, they'll be sorely disappointed when they enter the job market unless they are incredible coders. One doesn't become incredible at hacking code (or anything) because they think it's a good job prospect, one becomes incredible by loving the activity so much that they become immersed in it. Most people who write code for a living aren't living lives of luxury, it's wrong to use guys like Mark Zuckerberg and Bill Gates as examples of what that career path will bring. That's like telling kids they should learn to play guitar so they can be the next Slash and make a bunch of money. Or telling kids they should learn creative writing so they can become the next Stephen King. You're setting most of them up for failure when that's the expectation.
A person has to love what they do before they'll have the drive to do it exceptionally well. If we want more programmers then we should prioritize teaching mathematics in schools. In many schools in America, one can graduate high school without understanding the fundamentals of algebra. That's the problem. Many people who have the potential to fall in love with mathematics and programming never have the opportunity because our school system allows irresponsible children to choose whether they want to be productive or not. We care so much about children's feelings, their self-esteem, their self-expression that we've forgotten that they're children and their opinions don't matter, their desires don't matter, and that most will grow up to be useless adults unless we force education upon them.
"From the depths of my skeptical and rationalist soul, I ask the Lord to protect me from California touchie-feeliedom."
Code.org doesn't have a messaging problem, they've got a core conceptual problem. Trying to teach more people to program, especially by making it part of a core academic curriculum, is amazingly foolish. Anyone that's taken an introductory programming class at a university can tell you it is foolish. Jeff Atwood pointed out this paper seven years ago that expands on this idea. The skinny is that 30-60% of computer science students fail at introductory programming classes and consistently do so despite changes in languages, IDEs, and teaching methodologies. Some students simply could not form mental models needed to be able to program effectively. Keep in mind this was a self-selected group of students, ones who had chosen to take up computer science as a major.
Based on this it seems apparent that if "everyone" was required to take programming courses then a majority of them would simply fail to learn the skill and only pass because schools don't like to fail students. No greater number of students would learn to program and they would have no deeper understanding of how computers or software works. Computer programming is a fine elective and is something that should be available to high school students but it is simply absurd to think that trying to teach everyone to program would lead to everyone magically enriching their lives.
Teaching advanced mathematics to students is unlike teaching programming despite the two being advanced skills. With mathematics there's a consistent domain specific language that can be used. The language of calculus builds on the languages of algebra and geometry which themselves build on simple arithmetic. If someone learns calculus (and continues to use it) it will be applicable for the rest of their lives. The language used for theory is the same one used for applications.
In computer science there's the theoretical topics where "language is an implementation issue" and then more practical topics where the language and platform is paramount. Teaching high school students high level computer science topics isn't going to leave them with practical skills since it is often non-trivial to apply those theoretical concepts (which back practical topics) to a specific language and platform. Teaching more practical programming is going to leave them in a lurch when the school's choice of language and platform doesn't end up the future of the industry. There's thousands if not millions of kids that learned BASIC on Apple ][s and C64s that have not only never used those skills since but have absolutely no conception of how to apply the core concepts learned in this classes to more modern languages and platforms.
If the goal of a programming curriculum is to teach critical thinking, problem solving, or logic there's much better ways to teach those things. Limited school budgets shouldn't be trying to cover programming for everyone. Kids would be much better off being taught how to balance a check book, plan a household budget, and if you want to use computers some basics like don't send naked pictures to your boyfriend or girlfriend because shit stays on the internet forever.. Kids interested in programming will take programming electives and focus in that area. Trying to get everyone to program simply is not going to work and it a waste of time and money that could both be better spent.
I'm a loner Dottie, a Rebel.