Comment by michaelvkpdx
11 years ago
You're living in a pretty isolated world, my friend. I'd say 90% of my friends would be the audience for this. I've been coding 20 years, most of my friends are successful, grad-degree educated people in a variety of fields, and some of them are even my coworkers.
Who is supposed to teach people what code is? Our schools? Who with a CS degree and programming experience would willfully choose to teach in the USA's education system?
Or maybe the companies who make all their money from code? I think not- it wouldn't help the economic position of Apple, Google, FB, or Microsoft if everyone knew what code is and how it works. It strengthens the tech economy's stranglehold on society when code is treated as something inscrutable.
So there's really very few resources for people- even educated, successful, technically literate folk- to grok "what is code?"
Many coders would do well to read a similar article, if there was one, called, "What is Society?"
> Many coders would do well to read a similar article, if there was one, called, "What is Society?"
There was a thread a while back where software developers told me I was unreasonable to expect them to know who the vice president of the country they lived in was. I feel you here a whole bunch.
> There was a thread a while back where software developers told me I was unreasonable to expect them to know who the vice president of the country they lived in was.
It is absolutely unreasonable. The average person has no clue who the vice president happens to be ... so why should software developers?
We can complain about how clueless average people are, sure, but there's no reason to apply a higher standard to software developers.
Of course there is. Software developers (in general) are smarter and have had better educations than "average" people.
Most smart, educated people I know can name the vice president of the United States, and I don't even live in the US. I think it's completely unreasonable for someone not to know who the vice president of the country they live in is.
3 replies →
Wait, what? The average person doesn't know who the vice president of their own country is? I'm Canadian and I still know who the US vice president is. Surely most American adults do too.
7 replies →
What's the Vice President relevant to? It seems to me that for most of us it would be more relevant to know the name of e.g. the head of the FTC - and I don't think that's something you'd expect of people. Even if you did want to know about the Vice President, knowing his party or policies is surely more important than his name. A name is just a trivial fact, not important to actual understanding - and you could look it up if you ever needed it. I'm reminded of http://unreasonable.org/Feynman_and_the_map_of_the_cat .
I think that Parent made the observation that it is sad that in our information society people (in responsible positions (regarding ICT)) don't know about the fundamentals of the information society. At least, that's what I took from it and I concur.
We, as a society, should have started integrating computational thinking (Wing, 2006) as a core competency in the k-12 curriculum from the late 1980s onwards. We didn't.
anecdote
In 1991, I was in 5th grade, I saw the first computer enter the classroom in my primary school. It wasn't used but for some remedial mathematics training for a students or two and I believe the teacher did a computer course with it.
In 2010 I became a high school computer science teacher. There were three computer rooms (about 30 computers each) for the whole school (of about 1500 students) running windows XP + IE 6. Besides my class, the computer rooms were mostly used for making reports and "searching for information". Some departments did have specialized software installed (most of which came with the text books), but used it sparingly at best. On top of that, these software was mostly simple, inflexible, mostly non-interactive, non-collaborative, and "pre-fab" instructional materials. Often this software was not much more than a "digitized" version of parts of the text book with some animations, games, and procedural trainers mixed in.
My anecdote: high school student in a smallish (100k) northern Canadian city, circa 1992-1996. computer science courses ran every year. We were all taught DOS, Windows, programming in QBasic and Turbo Pascal, and (!) building web pages / using the Internet (in 1995!).
The day Netscape 1.0 came out, the teacher had us all download it from a few of CDs passed around had burned after downloading it on the class modem. The classroom was networked (coax) and figured out how to get Trumpet Winsock to work over the next few weeks to share the network with the computer with the modem. By 1996 we had a frame relay connection.
There was no curriculum other than what these two teachers could envision and sell to the achool board. Pretty thankful for that.
anecdote: I graduated in 2008 from HS. When I graduated from there the most advanced computer class offered was essentially how to open up photoshop, word, and excel. A little bit of this is adobe flash go have fun. And make a pure html web page with inline styles - no css. Now that HS has a 3d printer. Once, the computer teacher sincerely asked me how to make a href open in a new window.
I graduated college in 2012 and I learned what css was and why it was better. I took an intro to java class. Learned some stuff volunteering for NPOs doing website work. When I graduated I knew I wanted to do something in IT but not program. Now I am a software dev.
Turns out its easy to get a job and teach yourself how to code when nobody understands what coding is.
We do not love in an "information society", and people do not absolutely need to know the internal workings of computers, any more than a person in 1970 lived in a "radio society" and needed to know how radio or television waves propagated in order to hold a non-technical job.
Another anecdote.
In 2015 my teenager will start High School in a small, rural, school district and each student has a Chromebook. No, I don't know what they will be used for besides googling information, but times are changing.
I emphasized small and rural for a reason.
I know teachers at the local school district in my city. Chromebooks are used extensively in classes (elementary school, even down to 2nd grade) for researching (googling), typing practice, typing book reports, online testing, some educational games, reading, etc. They even have some educational websites they use to learn super basics of programming.
It's really amazing stuff. I wish these sort of programs existed in the US back when I was in elementary school... back then, we were lucky if we got 30 minutes a week to play with Claris Works in the school's only computer lab.
1 reply →
I see similar things happen around here (oddly enough often also in small rural schools?). As a pessimist, I wonder:
- are teachers able to choose, remix, adapt, or make new "computational" instructional materials like they are able to do with conventional instructional materials? (Stencilling and xeroxing for the win :-)
- are computers only used as supporting tools (i.e., typewriter, encyclopedia, drawing board, ...) or is computational thinking integral part of the curriculum?
- is there software like programming tools, CAS (such as maxima, or matlab, or mathematica), CAD, and other configurable and programmable professional tools available? (and will they be used beyond a module of two weeks here or there?)
- has the (core) curriculum changed at al or are we still teaching topics like it is 1982? Computer technology makes it possible for students to tackle complex authentic problems instead of "school problems" (Death to linearity! Away with nice round numbers!)
You make a good, if harsh point.
But this:
"it wouldn't help the economic position of Apple, Google, FB, or Microsoft if everyone knew what code is and how it works. It strengthens the tech economy's stranglehold on society when code is treated as something inscrutable."
Is just cynical. Tech companies aren't so fragile as to depend on general ignorance among the human population. If more people understood code, these companies could create more code. I think you point to an underlying misconception that some how technology is just a barrier to entry, and doesn't provide intrinsic value. But I do not believe this to be true.
> Who is supposed to teach people what code is? Our schools? Who with a CS degree and programming experience would willfully choose to teach in the USA's education system?
Grade school teachers aren't expected to be specialists in the field they teach. They're expected to be specialists in teaching. Usually they have a bachelors (or masters) in education and maybe another degree, but it may or may not be the thing they teach (if they even teach only one thing at all).
To put it another way, this is a bit like asking what physicists would willingly teach in the USA's education system? The answer is obviously not very many, but that's beside the point. Physics still gets taught.
> Grade school teachers aren't expected to be specialists in the field they teach. They're expected to be specialists in teaching.
Yeah, and this breaks down pretty fast, particularly when it comes to teaching the stuff you can't easily hand wave, e.g. science. Even at the middle/high school level, where teachers are supposed to have studied topic they teach at the undergraduate level in some capacity, you find plenty of foreign language teachers who are terrible speakers of the language they teach, or math teachers who basically have the same level of math as their students, with the distinction that they have access to the answers for the exercises they give. I spent some time in a US state university for grad school, and the level of some students who majored in education and later went on to teach was abysmal. It's hard to tell if the hegemony of standardized testing is the root or a symptom of the problem, but the overall picture is bleak.
This is precisely why if we want a great education system, we need to incentivize people who are practicing professionals first to then go teach. My best teachers in high school all shared those traits: a historian who had spent many years doing field research teaching history/geography, a geologist who was also a researcher for a major lab teaching natural sciences, etc.
Not everyone is made for teaching, but we as a society need to become much better at encouraging and enabling the people who enjoy it to teach in parallel to their professional activity (I would happily teach math from 8-10am before my day job 2-3 days a week if there was the structure for it.).
The people who want to become teachers just because they like kids but don't have any deep knowledge/understanding of any particular subject can teach kindergarten.
This is incidentally a weakness in the US education system. You split schools into elementary-middle-high (for no especial reason) then treat it all as 'grade school'.
In every European country I've lived in schools are generally split into primary and secondary. Primary school teachers are general educators whose primary skill is teaching but who do not need advanced knowledge in any particular subject. They usually have the same class all day, which gives them a deep insight into students' progrewss (although from a kid's point of view, if you don't get on with your teacher then school may suck). In secondary school teachers may teach more than one subject but they're required to have studied their primary subject at university and done some additional study in other subjects they teach, as well as additional study in educational methods. So your math teacher has a math degree, your history teacher a history degree and so on. People who plan to teach usually develop themselves academically in two subjects, sometimes three if they're closely related or you have special experience. For example: http://www.teachingcouncil.ie/_fileupload/Registration/Gener...
California seems to be moving towards this model too: http://www.ctc.ca.gov/credentials/leaflets/cl560c.pdf
The downside of this is that if a particular teacher is sick and another has to take the class as a substitute, the substitute teacher just babysits, or comes into class with a homework assignment from the sick teacher that should be doable during the class period. The upside is that in general students are keenly aware that teachers know what they're talking about and are considerably more expert in the subject than would be possible using the assigned textbooks.
I've ranted on HN before about how destructive of educational ends the practice of using 'Teacher's Editions of textbooks with scripts and answer keys is. It degrades teaching to a branch of bullshit artistry, and students who take a subject seriously can quickly detect a lack of true expertise.
Obviously this short comment isn't meant as an accurate descriptor of the whole state of the US education system, just the legacy of the non-specialization referred to in the grandparent comment.
The US works pretty similar to how you indicate Europe works:
1-6 (or 7 in some places) is taught single teacher who probably majored in education with the whole class (with maybe a once a week art or muisc class taught by a specialist if the school is well funded).
7 or 8 through 12th is taught with 6-8 subjects a day (or in some places 3-4 subjects with alternating days having different subjects) with teachers who teach a smaller number of subjects. At HS level, in many places in the US it is expected that the teacher will have a Bachelors related to the subject they are teaching.
2 replies →
> You split schools into elementary-middle-high (for no especial reason) then treat it all as 'grade school'.
As someone who went to school in the US, no, you're wrong.
3 replies →
Your characterization of US education in middle and high school is largely incorrect. I don't want to take time to explain all the ways.
Exactly, I did my first instructed programming in a 6th grade computer class in BASIC on Apple IIes. I think my teach at the time taught typing as well.
> Who is supposed to teach people what code is?
'But no one told me I needed to know this' stops being an excuse as of adulthood, if not earlier. Anyone who cares what coding is only needs curiosity and an internet connection, the web is full of introductory material for almost every level from almost every angle. If a professional in the current world doesn't know 'what coding is', they just don't care.
What do you mean? Theres tons, TONS of resources for learning the basics of programming.
Yes, but a lot of them go through the same hoops - Hello World, variables, conditionals, loops, arrays, functions, OK that's it take this pile of building materials and just turn it into a house mmkay.
There are two big problems for would-be programmers: there's a shortage of obvious standards on architecture/program sturcture (not least because it's hard to prove mathematically which structures are optimal), and endlessly proliferating options. For example, betweeen HTML 5, CSS, and JS, it's quite complex to put together a web page these days.
I mean look at this page on the DOM: https://developer.mozilla.org/en-US/docs/Web/API/Document_Ob... there are hundreds of subtopics, and it's not obvious which ones are most important. The Introductory page on the DOM is less-then-inviting to a non-programmer, not least because it presumes code as the optimal medium for production, when most people would rather work through a GUI and have the computer take care of the abstractions.
I wish sometimes that programmers were forced to decompose their latest and greatest algorithms into electronic circuit diagrams or diagrams or something, to remind them that translating functionality between different paradigms is a Hard Problem and that ,amy people do not like all the typing and syntactical overhead of text-based programming.
That page on DOM is the reference Manual. Do you complain that Gray's Anatomy is just too thick, how do you navigate all that info to find what pill should you take?
1 reply →
So how does that make this article a bad thing?
Also the TONS thing is kind of bad, because it becomes a lot harder for the layperson to filter out the bad resources from the good.