Category Archives: Teaching

Mandatory Coding Curriculum — Stop The Stupidity

Maybe you hate math. Maybe you know someone who hates math. Maybe that’s why you came to a site called “Math Misery”. I’ve written about math misery, but in a nutshell, it’s about mandates with no patience. Forced marches are a battle strategy, not an educational one.

So, now that we’re in the 21st century, suddenly, coding is viewed as a 21st century must-have skill. Believe it or not, it was a 20th century skill and methods of automation, in general, were much older skills — we can probably trace this all the way back to specialized labor and the logistics of empire management. So in that way, the broad idea of programming / coding isn’t new. What’s more prevalent in the last 100 years is the mechanics of writing computer code — syntax, control flow structures, etc.

It looks like our education institutions sense some urgency about having computer programming / coding to be part of a modern curriculum. And kudos for working to figure out how to get it in there. But as I listen and read some of the debates, I’m a little dismayed (not shocked) that some who are involved in curriculum design / policy are defaulting to a “what can we cut out so we can put CS in” mentality and that the first thing on the chopping block is arts education. I scratch my head a bit and wonder if these people have ever actually programmed and if they have, then for how long. I’d also be curious to know what their hobbies are.

Here are a list of stupid things to do, when wanting to introduce programming into the curriculum. You judge the severity of stupidity.

Stupid #1 — Cut Out The Arts!

  • Is 3D animation just magic? Does the computer just know how to project 3D images onto a 2D surface?
  • Did this JavaScript library just get willed into existence?
  • Do all those edu-learning apps with pretty graphics just make themselves? [Actually, we may not be too far away from something that surely will feel like this.]
  • Does rendering a font on the computer screen require no artistic ability?
  • Does designing and producing an electronic keyboard (piano) require no understanding of music theory? Music history? Musicality?
  • Those animated kids’ movies required no art, right? Just programming?
  • What about all that marketing and brand development that corporations put time, energy, and money into? That’s not Arts Education right?

I’ve always maintained that Mathematics is the invisible technology that makes our society run ever more smoothly. But the thing that we call the Arts, is what brings beauty to the forefront of our senses. That comfortable chair, that pleasing sonata, that climate-controlled room, that color on your wall, the design on your clothes, they are all a result of a mix of technologies, not least of which are mathematics and arts. Skimping further on Arts curriculum proves only one thing — we aren’t interested in having this world be populated by humans, we’re interested in robots in a human body.

Stop the stupidity, don’t cut out the Arts in favor of programming. Instead, blend them together. You can hire me to help you design that curriculum.

Stupid #2 — It’s Important, Let’s Make It Mandatory!

Have we learned nothing from over a century of mandatory math hell? Here are a few predictions of what will happen with mandatory computer programming for probably 12+ years.

  • Programming sucks!
  • I will end up making a website called “programmingpain.com” or “codingcruelty.com” or something like that.
  • We’ll have songs to teach kids about when they can and can’t put a semicolon. [Hey, wait, songs are part of the arts curriculum, but that’s been cut, so maybe we won’t have songs.]
  • We’ll have infographics about student achievement on programming success.
  • Tutoring for “programming for kids” will be a multibillion dollar cottage industry.
  • We’ll have a multibillion dollar programming test prep industry.
  • We’ll see an achievement gap in certain demographics and not bother to look into, oh say, economic situation, access to resources [the one computer classroom!], silent and legal socio-economic segregation, etc.
  • We’ll discover a neurological disorder for why certain brains can’t process programming.
  • Gamification will go completely nuts.
  • I’ll end up having to STILL teach introductory computer programming in college, because after 12+ years of a mandatory curriculum students still won’t have any idea how to use a for-loop or an if-then-clause — just like they know how to work with fractions today.

Stop the stupidity. Quit mandating stuff and forcing a pace. If we want to mandate, then we need to have patience. If we relax our mandates, then I can see an argument for pushing a pace [though, I will still probably resist the argument]. If we mandate and force a pace, then it’s clear we’re not interested in teaching and learning. We’re just interested in bureaucratic throughput.

Stupid #3 — Let’s Create A Subject Called Programming

No! Stop the stupidity! Weave programming into all subjects or as many subjects as your faculty can be trained in. If we want a subject, then call it Computer Science and teach Computer Science, which is a superset of programming. But if we’re talking about it being in the primary and secondary school system, stick to programming as a practical, hands-on, project-oriented endeavor. Of course, there will be kids who crave theory and for them, have a Computer Science class as an elective.

And really, if the counter-argument is that we can’t train our faculty to learn to program, then riddle me this: if your adult faculty can’t learn to program, then with what audacity are you mandating that kids learn to program? If you expect kids — and let’s remember they are kids — to have to learn something, then every administrator and teacher had better know it as well. Otherwise, let me tell you what we have here. It’s called hypocrisy with a dollop of tyranny.

\(“\)If your adult faculty can’t learn to program, then with what audacity are you mandating that kids learn to program?

One of the biggest problems that I see with math education is that it is entirely too academic for kids. I don’t want to repeat the 100,000+ words that I’ve written here on this blog on that topic, but blast it, they are kids. Do you remember being a kid? Do you think you had enough experiential knowledge and general abstract processing to be able to understand “mathematical objects”? Some kids do and for them, give them the theory. Most kids just need to futz around and develop an internal working theory first before formalism can be kicked in. Otherwise, it’s just misery. And the general, big disclaimer: one-size-doesn’t-fit-all, yadda, yadda.

Don’t make a subject out of programming. Let it be 12 glorious years of ungraded exploration supported by the school and the community. Look at what we did for second grade! And there’s going to be more of that this coming school year! Get in touch if you’d like to know more.