I’m just
not sure whether or not coding is the new literacy. It’s true, like the article
said, that right now its power is concentrated in a few hands, like old-timey
scribes, and it does seem logical and democratic that it would and should eventually
filter down into everyone, so it’s no longer this mystical power and instead it’s
just like reading and everyone’s expected to do it. The devices that are
controlled by code are so ubiquitous, and they affect everyone’s lives so
radically that it does make sense for everyone to have at least a general idea
about what’s going on. There is something to be said about the comment where
not every needs to code like not everyone needs to learn how to plumb… it’s
true that it is a labour-intensive, esoteric skill when you can do it well and
be paid to do it. But also, everyone should be able to fix a clogged toilet.
Everyone owns a plunger and handles the small plumbing details on their own. I
liked the line about how not ever cook is some amazing chef, not everyone who
can write is Jane Austen, but knowing how to scramble an egg or write an email
makes your life easier. Especially since there are a lot of important ethical
decisions about all these realms of computing taking over our lives that are
coming due now and that will continue to arrive the next few years, I think it
is important that people have some background in what coding is and how it
really works. And why we do it at all. That might be the most important. I do
think the emphasis should be on the computational thinking aspect, though, like
the first article mentioned. Who on earth needs Java syntax. Who teaches
language by sitting three year olds down and explaining complex punctuation
structure. Teach people the thought behind how all this works, and what would
be most useful for them to know, the ideas and the concepts and some basic
language skills, the same way you teach relevant words to a child, like “mommy”
and “food” and “please”.
The way it’s
currently set up, I’d say that no, not everyone should be required to take a
coding class. In some new world, or if everyone had access to the 12-week
school for teachers that they were talking about where they spend a lot of time
on concepts and “why”, I think that would be useful. I just feel like it’s
weird and kinda wrong to have the vast majority of society using these devices
when how they work is a black box. Maybe it is like everybody using an
old-timey census, putting X next to some line that they don’t understand, and
it needs to change.
The
arguments for introducing everyone is that code is everyone, software is eating
the world, and that it’s the new literacy, everyone should get on board. The
big argument against that I’ve always heard is that they’re not going to need
this in their lives ever. My parents still complain about the coding class they
had to take in high school—they did the turtle game that the Vietnamese
children were playing! They always talk about how it was so useless, making the
turtle spin and how they were like I will never have to use this knowledge. I
just think if it’s going to be effective it has to be so much more about the computational
thinking aspect than just about making a turtle go because the teacher said to.
Something along the lines of “just so you know what’s going on in the world, so
you can make more well-informed technology decisions and maybe sort of see how
these concepts apply to all the apps and tech you use every day, let’s crash
course you through how programmers solve problems, what their biggest tools
are, how they think and solve and communicate. Because these problem-solving
skills aren’t inapplicable to your life as a doctor, lawyer, housewife”.
Schools are
going to face huge challenges. It’ll be expensive. They’ll have to hire or
train CS teachers, and they can’t keep CS teachers—if they’re good, they return
to industry more likely than not within a few years. Also, schools already have
curriculums, and they’re going to have to decide what takes priority and what
to cut, which I don’t think anyone mentioned. Is CS more important than
geography? What do we squeeze out for this class? I think in some young grade a
computational thinking course, exposing kids to computers and how they think
and the problem-solving steps that go along with that, should be a requirement.
I want it to be on top of existing ones, but I don’t know how feasible that is.
If anyone’s still doing script in the second grade, maybe it replaces that. I’m
biased and not really a cursive person, though, so maybe not. After that one
class, it could start being an elective or a highly-encouraged one. And then
make another required class in high school. Just gives kids something where
they have to sit down and learn a couple things about this ubiquitous tech. Logic
might also be a good component to have in that class. In high school some legit
programming might not be a bad idea, but please don’t hammer syntax and keep
focusing on ideas and problem solving.
Anyone can
learn to program. Anyone can learn to read. I think some people have more of
knack for it (some people learn to read earlier), but if you hammered it home
the way we hit children over the head with reading, everyone could get it. I
don’t think everyone needs to be able to build web-based client-server apps
with relational-database components, but I think people should know enough
turtle-spinning to get loops, enough logic to get Boolean, enough math to get
binary. I don’t want anyone to be lost in this increasingly tech society.