So . . . NYC has decided to mandate CS in all public schools. The articles (and there are many) about this are sketchy on the details of how this will work, but here are some key points: it’s not required for graduation, and they haven’t said what grade level they’re incorporating it into.
Look, I’m all for CS being in schools, but I’m not so sure this is the right way to do it, for all kinds of reasons. Maybe as the program gets rolled out, it will seem like a better deal. But right now, call me skeptical. First, I don’t like the idea of “training” teachers. I’d prefer a real certification process. Throwing them into some workshops is not going to cut it, especially at the high school level. And, let’s say they go another route and hire programmers to teach. You’d have to “train” them to teach. Same problem, different angle.
In essence, it means CS is still getting treated like the red-headed stepchild that doesn’t deserve the same thoughtful teacher preparation and curriculum development that say, biology gets. Calling it “coding” reduces it to single thing. It’s like saying math is all multiplication. Or science is just biology. While I like the message of “anyone can do CS,” I don’t want it to seem like a six-week crash course would teach anyone everything they need to know, and that that’s all schools should offer.
All these issues and more were addressed in one of my favorite responses to the announcements, which ends with this quote:
My dream would be computer science classes that are workshops: learn, do, make, test, redo. Share examples, receive guidance and try again. Few lectures. No worksheets. Failure as a reward for trying, not an excuse for a low grade. Just making and learning. On iteration.
Don’t build computer science classes. Build and celebrate a maker culture.
That’s what I’ve done since day one. It’s mostly working.