DEV Community

Discussion on: What are the skills that a public school Computer Science teacher should possess?

Collapse
 
perrydbucs profile image
Perry Donham

I'd just like to point out that Structure and Interpretation uses Lisp as its base language. It takes two or three passes just to parse the quoted paragraph, and I've never fully agreed with the notion that a program "is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute." Tell that to the poor devop who is working through the weekend trying to fix a bug in production.

Scheme and the Art implies that in order to program successfully we need to first understand the science behind the machine.

I mentioned it in an earlier reply and will rephrase it here. Programming is a trade, like plumbing. Computer science is a professional occupation. It's the difference between an architect and a builder. For some reason we've conflated CS and programming, and now when we tach a middle-schooler a handful of Scheme commands, the district declares that they are literate in computer science. If we'd just acknowledge that the two are different we could effectively teach programming the same way we teach wood shop (they still do that, right?).

Collapse
 
nyambol profile image
Michael Powe

It's a shame you didn't read the first article, as it completely demolishes your argument.

I suspect you don't know much about plumbing or carpentry, or you'd know that tradesmen are also craftsmen, and take pride in what they do. They know their materials, and how to select the best and avoid the worst. It's a way of thinking and seeing. I watched the guy tiling our shower carefully align each tile and grout it into place, so that at the end of the project, the grout lines were straight in every direction and you wouldn't have known that each tile had been individually put into place. That's pride in his work.

For you, perhaps, programming is nothing but pounding out classes, and picking up a check. "Learning to program" is just learning the syntax of whatever language gets you a job, or pays the best. But that's just your choice of approach. And that rather negative attitude toward programming is exactly what provoked Natasha Chen to write her article, because that's the kind of "programming" was taught in her high school. Boring, no fun, and useless.