8 ms·
This is completely pedantic. If you want to argue that coding is different from modeling, true, but there's a great deal of modeling implied in coding. I don't
by copsarebastards 12y ago
This is completely pedantic. If you want to argue that coding is different from modeling, true, but there's a great deal of modeling implied in coding. I don't think anyone would refer to someone who could only write if statements and for loops that didn't model anything as a coder.
And if we're going to be this pedantic: when you're saying "we don't need to teach coding, we need to teach modeling," you're saying the equivalent of "we don't need to teach reading and writing, we need to teach offloading data storage." How exactly do you plan to teach modeling in the void? There are other ways to model, but coding is by far the most expressive and widely applicable. The way you learn to offload data storage is by learning to read and write. The way you learn to model is by learning to code.
- deleted 12y ago[deleted]
- collyw 12y agoI could show you some of my ex-collegues work. There was plenty of code, but not a lot of modelling. It was a pain to decipher it.
- wanderingstan 12y agoThe analogy to writing holds here; a lot of "literate" people produce barely comprehensible writing.
- copsarebastards 12y agoTo follow the reading/writing literacy analogy: If we were talking about reading/writing literacy, you'd be looking at people's ability to write novels as a measure of their literacy. That's a pretty high standard, one by which I doubt either one of us could be considered literate (I've tried to write novels--haven't finished one yet). There are some real masterpieces of code: I'd point to the Lua or SQLite codebases as examples. But the majority of novels are not at that level and the majority of code is not at that level. I certainly have no respect for, say Stephanie Meyer (the author of Twilight) as an author, but I'm not going to look at her writing and say she's illiterate. In some sense, one could argue that it's more important a measure of code literacy for people to be able to read code than to write it. One area where this is very important is in management of software development. A core problem I'm trying to solve right now is that I'm essentially self-managed: my managers aren't code literate, so they can't actually tell whether I'm doing a good job or not. I've written reams of shitty code in a short time because of time pressure and gotten better reviews than when I spent the time to do things right, even though from my perspective I could see that the bugs that came out of doing things quick and dirty cost us more time in the long run (or even in the next few days). It's something I believed in theory before, but now I'm in a much higher-pressure environment and I've actually made the mistake a few times. If my managers were code literate, they could read my check-ins and sign off on them. And since they're not, they're essentially glorified middle-men, and I'm not sure what function they actually serve. The above problem would be solved if they were like your ex-colleagues. They don't have to know how to model, they just have to be able to understand how I modeled something.
- brational 12y ago>There are other ways to model, but coding is by far the most expressive and widely applicable. What about math?
- yourad_io 12y agoNot as approachable. Not interactive.
- copsarebastards 12y agoOkay, you have me there. I think coding and math fulfill different roles within modeling, but I'll agree that speaking in very general terms, it would be hard to say one is more expressive and widely applicable than the other for modeling.
- woah 12y agoThis is the essay of a man trying to sell a 'visual coding' tool.
- coldtea 12y agoYeah, because marketing explains everything. I, for one agree 100%, and I'm NOT selling a visual coding tool.
- woah 12y agoMy comment was a statement of fact. Maybe he was inspired to sell the visual coding tool BECAUSE of his beliefs, not the other way around.
- coldtea 12y ago>My comment was a statement of fact. "He's trying to sell a visual coding tool" would be a statement of fact. "This is the essay of a man trying to sell a 'visual coding' tool", is a snarky statement that insinuates of Chris' motives. Just like "X is a jew" is a statement of fact, but "X's essay is the essay of a jew" is an insinuation of some (sinister?) plot. >Maybe he was inspired to sell the visual coding tool BECAUSE of his beliefs, not the other way around. Or maybe we should just discuss the ideas and beliefs, and leave what he wants to sell out of it? One can agree 100% without wanting to sell anything, and is disrespectful to even hint at attributing that to marketing.
- coldtea 12y ago>This is completely pedantic. If you want to argue that coding is different from modeling, true, but there's a great deal of modeling implied in coding. I don't think anyone would refer to someone who could only write if statements and for loops that didn't model anything as a coder You'd be surprised. That's what most "introduction to programming" courses do. And for online posts and tutorials it's usually even worst. At best, they use the BS "cooking recipe" analogy for programming, but they are total failures on teaching people to model and understanding analysis.
- copsarebastards 12y ago> > This is completely pedantic. If you want to argue that coding is different from modeling, true, but there's a great deal of modeling implied in coding. I don't think anyone would refer to someone who could only write if statements and for loops that didn't model anything as a coder > You'd be surprised. That's what most "introduction to programming" courses do. And for online posts and tutorials it's usually even worse. I don't think we should refer to someone who only took an "Introduction to Programming" course as being able to code either. I'm not sure why you think I would be surprised that "Introduction to Programming" courses teach only if statements and for loops. That's exactly what I would expect. You start off kids reading and writing with alphabets, phonics, spelling words like "cat". You aren't teaching anyone to offload complex information storage at that point, you're just teaching them the building blocks of reading and writing. You wouldn't hand Crime and Punishment to a first grader or ask them to write about Foucault's panopticon. Likewise, you don't teach people about modeling banking infrastructure or webpage layout in their first course. You start them off with the basic building blocks: input, output, choices, repetition. There are some intro courses that do actually focus really heavily on complex modeling as intro courses: SICP for example, was used to teach CS 101 at MIT, which is somewhat incredible to me: either those kids are a lot smarter than me, or they really, really struggled with that. I just recently finished working through SICP and I've been working in the industry for 7 years, and it was hard. That may work for the elite students at MIT, but to expect that from the average person starting programming is a bit unrealistic.
- munchbunny 12y agoCoding is certainly a good way. However, there's also physics, statistics and probability, geometry, and I'm sure there are more. All of them are heavily mathematical in nature, but when taught well they are certainly lessons in modeling. Unfortunately for students in the US, they are rarely ever taught as lessons in modeling.
- vegedor 12y agoIt's simple, teach functional programming without any of the specifics accrued from modern CPU design. Teach it in maths: the first time I had to use my high-school CS knowledge in a job was when sorting something by zip-code. Space and Time are abstract enough foundations to not model in the void. While or for each aren't programming concepts in the first place.