Tyranny of Numbers

I’ve always found a strange disconnect between my experience in coding and how it is taught in school.  Back in the ‘80s, matheletes owned computer science, and still do today.  More interested in the theoretical number games they could play on computers than in actually building things, I found myself making sprites and digital media and coding games while everyone else wanted to make math… I quickly failed out of that culture.
 
My self-taught experience was one of hacking and building.  Tweaking pieces of code and refining them until I got the desired result.  I could see the logical construction, but it was never numerical for me, it was mechanical.  Later in life I worked as a millwright and an auto mechanic before coming back to computers as a technician.  I’ve always had a love of machines and computers have always been included in that mechanical empathy.  That mathematics stole coding from me is something I’ve always regretted.
 
That tyranny of numbers still holds sway in coding no matter what attempts are made to pry it free.  I’m previewing a video for my computer studies class and came across this bit:
So there you have it.  Had we developed computers with different intent, our analytic engines or even better, universal engines (!), wouldn’t have been confused with calculators.

One of the perilous moments I experienced while getting my philosophy degree was trying to get the mandatory symbolic logic credit.  My first attempt had me in a classroom full of science majors all taking symbolic logic because it was being delivered as a math course.  I fled the scene and worried that I’d never get this credit, the math-bullying in that class was something else.  I ended up taking symbolic logic the next semester and getting an A in it.  Why?  Because it wasn’t taught by a math major.  I can appreciate logic, I have trouble with it when it gets abstracted in numbers.

The term ‘computer’ is prejudicial.  Computers were originally people who did tedious math problems, mechanical computers supplanted them, but modern computers aren’t number crunchers.  Modern code on a modern computer is a construction of complex logic that produces results well beyond mere calculation, to reduce that process to mathematics is absurdly simplistic.  

The whole thing makes me want to change my department from “Computer Studies” to “Universal Engines” and escape from the confusion of a historically inaccurate name, and that tyranny of numbers.

Coding Is A Hands-on Skill

Originally published on Dusty World in July, 2013 – WIRED caught up to me in 2017 with The Next Big Blue Collar Job Is Coding.

I’m frustrated at how computer science seems to own coding.  In Ontario it is now an orphaned subject unto itself.  There is no way someone without a degree in computer science can teach coding, though coding isn’t computer science any more than auto mechanics is theoretical physics.

This reminds me of the Big Bang Theory when Leonard’s car breaks down.  He asks, “does anyone here know how internal combustion engines work?” and all the the scientists in the car laugh and nod.  He then asks, “can anyone here fix a car?” And all the heads go down and they say no.

Computer science is the theoretical end of a spectrum of coding that goes from hands-on hacking through professional coding and into academic research.  That only math quants who were looking for a second teachable pretty much like their first can teach it greatly limits its appeal to the general population.

Code.org agrees with me, as does Steve Jobs, as does Codeacademy, Khan Academy and many other online groups.  These organizations are proliferating because we are not offering our students meaningful access to computer programming.

If we’re going to treat coding (as a part of digital fluency in general) like other basic skills (literacy, numeracy), then we need to free up coding from the bizarre limitations placed upon it by the Ministry of Education and computer scientists.

Can you imagine if all the autoshop teachers had to be theoretical physicists or engineers before they could apply that knowledge to repairing vehicles?  It’s a ridiculous idea, yet that is precisely what we are doing with coding in Ontario schools.  There are many ways a teacher could approach computer programming, limiting it to an extreme, theoretical end of the spectrum doesn’t respect the variety of people who get into coding, and it doesn’t offer students that variety in the classroom.  Coding isn’t a theoretically biased branch of knowledge, in fact I’d argue that coding has much more in common with stochastic technical skills.

We are killing a vital 21st Century fluency stone dead with arbitrary limitations.  Coding should be a technology course, it should be hands on, and it should work hand in hand with engineering (because that is what it is and what it does).  That it is artificially separated into a null space between mathematics and computer studies helps no one other than old school computer scientists, and there aren’t many of them.  The irony is that many of the math teachers with comp-sci as a teachable don’t want to teach it because they never kept up with it other than as a theoretical/academic course of study in university; they don’t love coding, it was simply an easy way to extend their mathematical degree work.

Computer science, like theoretical physics, is a vital subject, but it’s highly specialized and how we teach it should recognize that.  Coding is a skill anyone can learn, and should.