dbreunig:

Good question asked by HIlary Mason, pointed out by Whitney McNamara.

I could not agree more with the sentiment: for all non-engineers learning to code should be approached not as trade education but as a component of a rounded education. The goal here isn’t writing code for production but learning how to talk, think, and work with those that do.

That said: the learn-to-code advocates have been TERRIBLE at communicating this nuance. They focus way too much on the acts, not the ideas.

To start with I’d stop saying the word “code” and remove it from all material. I’d also stop talking about so many proper nouns: Python, Ruby, R, whatever. Thinking is not about coding, it’s about concepts. Even the term ‘computer science’ is better.

It might be worth creating a language designed for understanding computer science thinking, if only to make the point 100% explicit. A language designed not for production but for education. A language with the goal of teaching us how to hold conversations with the engineers we work with and think about how one might structure problems so that they might be solved by engineers.

in the classical sense of “humanitas” or “the humanities”