5 ms·
> I'm a little disappointed to see him attack this initiative to get more people into coding. That's because I'd rather people have the freedom to be mathemati
by ibdknox 12y ago
> I'm a little disappointed to see him attack this initiative to get more people into coding.
That's because I'd rather people have the freedom to be mathematicians, nurses, lawyers, physicists, writers, and accountants while still being able to leverage computers. Instead of forcing people to become professional programmers to get the computer to model things for you, we should focus on teaching people how to model in general and build more tools like Excel that let people do that.
Hell, I'd stand behind a movement to just teach people Excel. With Excel, we don't have to spend the next several years worrying about what flavor of MVC we have to use. Instead, we can focus on doing actually important things like curing cancer.
> Besides programmers and mathematicians, the only people I've met with the faculties to properly break things down are lawyers.
My point is we should fix that, instead of focusing on teaching people Python.
- brd 12y ago> we should focus on teaching people how to model in general Classes on logic and/or learning theory can accomplish that goal without any tools whatsoever. In fact, I'd argue we should teach people visio instead of excel if the only thing we're shooting for is mental modeling. I've always thought the world would be a much better place if people leveraged concept maps more frequently. > My point is we should fix that, instead of focusing on teaching people Python. Again, I really get your point about not wanting a generation full of programmers but having gone through programming classes in HS I think it's a non issue. I think I'm the only person from my HS programming class that went into programming as a trade. If anything, I think the thing worth attacking is the typical emphasis on the programming language as opposed to the process of programming. My HS 101 programming class was done with an overhead projector, mapping out what a loop was actually doing and visualizing the memory allocations being modified step by step. That's the sort of thing we need more of. Just shoving syntax down a kid's throat will do no good, on that we are absolutely on the same page. P.S. I think you're doing amazing work. Thank you for all you're trying to contribute to the field and the world.
- Alupis 12y ago> That's because I'd rather people have the freedom to be mathematicians, nurses, lawyers, physicists, writers, and accountants while still being able to leverage computers All of the mentioned professions make heavy use of computers. I do agree teaching basic skills with tools like spreadsheet programs, etc, are fantastic. But at some point in time, it will become a roadblock to not know how to write a basic script to automate some repetitive/remedial task. That's not to say everyone should learn how to write massive enterprise software, or have deep understanding of how a kernel works. Rather, it's to say people need to learn how to make the computer work for them in the way that suits them best, not just how some Vendor thinks they should work. Being able to write some quick script simply requires problem solving skills. There is a significant advantage to the journalist who can write their own SQL and query data out of a massive database by themselves without having to depend on someone else. There's a massive advantage to the lobbyist who can better understand statistical trends visually because they learned how to represent, consume and model the data with R. There are fields where non-programmers are the only ones who fundamentally understand their domain well enough to write software for it. Take the various sciences. How can a non-chemist accurately write a chemical modelling and simulation software without first having to learn how things work? Not very well... even if they designed the software based on some spec, it's unlikely all of the professional chemists domain knowledge from 30+ years of in-field research will accurately translate into a hired-gun's handy-work. The main issue I see in practice is people are either afraid to begin, or get some glossy-eyed look when the word "programming" is brought up. To me, that is incredibly frustrating, since programming is nothing more than writing down some words in a grammatically correct structure... "you can form complete sentences, right? Good, so you can now write a complete sentence but follow a slightly different rule."
- vonmoltke 12y ago> The main issue I see in practice is people are either afraid to begin, or get some glossy-eyed look when the word "programming" is brought up. In non-technical companies I see turf protection by IT departments as part of the root cause of this. They set themselves up as wizards who are the only ones able to make the computers do their magic and make the task seem much more difficult than it is. After all, if journalists, lobbyists, customer representatives, and such were able to write their own SQL queries, then Bob the SQL Guru™ would be out of a job. Plus, you would have to give these unwashed masses access to the systems. I'm being a little harsh to IT departments in my caricature, but my experience has been that 90% of them make the other 10% look bad. IT at my wife's company is particularly bad; if she wants data out of their database she has to request a database report from a group in Kuala Lumpur (she is in Dallas). She has to basically write the SQL query in plain English in the request in order to get exactly what she wants, because from what I can tell this group is basically an English->SQL translator. If the data is not what she wanted she has to do it all over again. Thus it takes her days to get what she could get in minutes if she had her own MySQL client. On other things I have offered to show her how to use Python to automate things, but those conversations always end with "IT won't let us install anything". In that kind of environment I'm not surprised that people who have a natural reluctance to programming would have said reluctance amplified.
- TeMPOraL 12y ago> Plus, you would have to give these unwashed masses access to the systems. This is unfortunately the kind of thinking I see with people I know who are tasked with system administration. They take pride in their work, setting up infrastructure to run unnoticed in the background, but I've noticed a tendency to simplify the job to extreme by making sure said infrastructure can't really be used. After all, if no one uses your system, they won't break it and you won't have to fix it. Users, instead of being customers, become adversaries. I don't know anyone who does that on purpose, but I see the tendency to go there unconsciously. Restrict this, limit that, block everything. Principle of least privilege. It all makes sense from security POV, but when applied internally, users have to fight with support to just get their job done. I especially dislike this when it's happening in the educational context (schools, universities, hackerspaces) - computer systems there should serve as opportunities to tinker, learn and explore. Strict limitations significantly hinder usefulness of the infrastructure while saving only little work for admins.
- oulipo 12y agoInteresting discussion by Seymour Papert & Bret Victor: http://worrydream.com/#!/MeanwhileAtCodeOrg http://worrydream.com/#!/MeanwhileAtCodeOrg The point is using computers to help people reason (because experimenting & seeing results in real-time is what enables people to create new & better ideas), not teaching coding for coding sake (to create more programmers)
- MrDosu 12y agoSo much this... The goal should be for programmers to provide tools with interfaces that one can use without actual knowledge of "the machine". Imagine driving a car would require you to have intimate knowledge of combustion engines, mechanics and the electronic systems therein vs just pedals + wheel.
- jacquesm 12y agoEvery computer program ever written constitutes such a tool.
- mod 12y agoTo add to this, I'm a developer and I have relatively little knowledge what is really happening with the machine. Where a layperson knows something like 0.1%, I know instead something like 1%. The level of detail exhibited by some in the recent "what happens when you type google.com and hit enter" thread made me further realize just how little I understand.
- jacquesm 12y agoThat's most likely because you're 'late to the party'. I was lucky enough to be born just when all this stuff got underway so I saw it progress bit-by-bit in slow motion and over 3.5 decades I could absorb the changes. If you're dumped in on the deep end in 2015 or so then it can be a bit overwhelming, but keep the faith, it will all clear up in the longer term and you'll be so much better positioned to actually achieve something. Higher level stuff really is higher level, you get more done with less writing (even if that comes at a price in the form of a loss of contact with the lower layers).
- MrDosu 12y agoThis is a bit scary. I would not be able to write functional programs without knowing at least some of the infrastructure the code runs on (albeit not down to the nand gate). If I would be a dick I would guess web programming :P.
- belorn 12y agoIf literacy is solidifying our thoughts such that they can be written, then the first way we teach children is by finger paint. Here the seed is planted, but literacy is not that disconnected for put words on the page. Literacy demand more than just expressing thoughts and require that we do so with common tools. Teach people Excel can be a first step towards computer literacy (modeling), but the first way we commonly teach children today is by gaming. World building, puzzles, RPG, and many more are areas which creates a representation of a system that can be explored or used. Some games like minecraft can o both literacy and computer literacy, where thoughts and models are both present. At this point is where I disagree with the article concept, since you then need to teach children the common tools which composition, comprehension, and modeling are practiced with.
- throwawaymsft 12y agoSeriously! Below some people are worried that Excel, "while effective", will make people write unmaintainable VBA scripts. Who cares? We aren't training people to one day invent NP-complete algorithms. We want their life to be better with a computational understanding.
- randcraw 12y agoI agree that people should learn the value of modeling and know how to do it. But in order to model, people will need tools. Natural language, even when very carefully phrased, is insufficiently clear or precise. And predicate logic isn't sufficiently numerical to support quantitation, which should be central to most models. Some kind of formal notation is required, both to specify and as well as exercise the model -- vary its parameters and evaluate results. I see no alternative to using some sort of programming language here. Personally I'd prefer it be a lot simpler and purposeful than Python. (Perhaps Z or UML?) But there's a lot of value in being able to manipulate everyday data as programmers do, now that data is omnipresent in everyone's personal and professional lives. Possessing basic skills with which to fix your car or repair a shirt has sufficient value that I can't see why anyone might prefer not to know how to program. It's just a matter if matching the right cognitive impedence in choosing the tool.