4 ms·
The simplest possible distinction: coding is writing code in a programming language[1][2][3], modeling is breaking down systems without regard for computer or p
by ibdknox 12y ago
The simplest possible distinction: coding is writing code in a programming language[1][2][3], modeling is breaking down systems without regard for computer or programming language and is not specific to any domain.
When we say "coding" the accepted definition has to do with giving instructions in a programming language to a computer. I'm saying that the fundamental skill for people has nothing to do with Python or computers at all.
[1]: https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=define%3A%20coding https://www.google.com/webhp?sourceid=chrome-instant&ion=1&e... - "write code for (a computer program)."
[2]: http://en.wikipedia.org/wiki/Computer_programming http://en.wikipedia.org/wiki/Computer_programming - "commonly referred to as coding"
[3]: https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#safe=off&q=coding https://www.google.com/webhp?sourceid=chrome-instant&ion=1&e... - everything on the first page is talking about writing code as instructions to a computer.
- mncolinlee 12y agoIn a technical sense, you're 100% correct. If there's a better way to teach the same concepts without actually programming, that would be really useful. In a pragmatic sense, it's not helpful to the cause. For engineers, it's easy to get concerned about the trees and miss the forest. If a time-strapped journalist comes across a highly-upvoted blog post on a tech site, the headline won't be , "Engineer suggests strong alternatives to coding in school." It'll be closer to, "Coder suggests kids shouldn't code." Pedantry is a luxury our profession heaps on the world, often without regard for how our subtle nuance is completely missed.
- ibdknox 12y ago> If there's a better way to teach the same concepts without actually programming, that would be really useful. In a pragmatic sense, it's not helpful to the cause. These seem contradictory. We can either teach a narrow swatch of people to "code" or we can search for other ways to impart the important bit: modeling. The entire argument of the essay is that we should be looking for those "really useful" ways. > If a time-strapped journalist comes across a highly-upvoted blog post on a tech site I'm not sure focusing on getting a message out to someone who won't read the entire post is a worthwhile pursuit.
- mncolinlee 12y agoMaybe I'm being too wordy. It's not what you say, but the way you say it. If you're suggesting an alternative means, don't sell it upfront as "don't teach coding."
- seanmcdirmid 12y agoWell then, by those definitions coding is to programming what typing is to writing a novel. Mostly uninteresting and barely taught at all in my UW CSE courses.
- seanmcdirmid 12y agoJust to be superclear, my problem isn't Chris's thesis, but that somehow learning programming is "learning how to code", which, given any decent computer science education, is definitely not the case (maybe a few weeks in an intro CS class, that's it). So with that in mind, I don't get how they are going to shortcut 2 or 3 years of intensive specialized training with this realization, given that we already base our education on this anyways? He also brings up something like Sherry Turkle's* software bricolage argument, which I also totally agree with. HCI was also founded on these premises (starting as a fork of the PL community focusing on VPLs). Obviously there is not much new under the sun, it's all in the execution, and I hope they succeed with that. * not surprising since...MIT
- mcphage 12y ago> modeling is breaking down systems without regard for computer or programming language and is not specific to any domain And what would you teach students to describe their models to others? Some modeling tool or technique? Yet the skill of modeling is not dependent on the particular tool used. Similarly, the skill of programming is not dependent on the specific programming language. Certainly when teaching programming, you're going to teach using a specific programming language—but if the student learns the language, and doesn't understand programming outside of that, then the teacher failed. Just as if you teach modeling, and the student learns the modeling tool used, but not modeling as a concept.