4 ms·
Kids Should Know How to Code
- la6470 9y agoYou mean boys right? Teaching girls how to code is waste of time they are genetically predisposed for secretary kind of work. You don't believe me? Read the google manifesto.
- la6470 9y agoWhile we are at it we might exclude black kids and the asians as well - whaddaya say?
- pfranz 9y agoThere has to be previous discussions on HN about this. Does anyone have a link? I'm probably going against the grain here, but do we need to teach kids to code? Heck, does Tim Cook know how to code? It's been 20+ years now where kids have had access to computers in schools. In the late 90's they taught typing, Word, Excel, and Power Point.* Looking at most of my friends from high school who aren't in tech, that's all they use--if that. I was a bit surprised when my brother in law mentioned my nephews, who are about to go into high school, had never used a desktop computer. I was a bit surprised at first, but don't think it'll be a problem for them and it's probably common. I think the expectation 25 years ago is that the average workhorse applications would be way more scriptable. So "a little" computer science could be done to automate repetitive things and lead to more computer science. I hear about Excel wizards and I've seen managers who are fantastic with pulling data into Power Point, but they seem very specialized to their profession. I've never had to use VBA inside of a Microsoft app. Every time I try and use AppleScript I have to dive in way more than the average person would bother (and I don't see options like that for Windows). Outside of work I might write a small Python/Shell script to scrape some web pages, or sort some data. I just can't see someone who had a class in high school doing anything useful. I do think it's good to get exposure to computer basics and even programming if they're interested. Maybe, like the article says, it's comparable to higher level math and science classes. * I thought it was a bit silly they were teaching Microsoft programs because who knows what would be around 5 years from then--I was wrong about that
- danso 9y agoI believe that we should teach everyone to code, even though I accept the reality that computing can be inherently complicated to include and maintain in a general curriculum. I don't know if Tim Cook can code. Despite Steve Jobs' fantastic ability to do talk to a technical crowd about WebObjects [0], Woz claims Jobs never wrote a single line of code in his life. But Tim Cook is Tim Cook, and Steve Jobs is Steve Jobs. For all lesser people, coding is both a powerful skill and more importantly, a profound way to think, never mind a medium for better understanding the computers that are inextricable from modern life. Yes, the "Should you learn to code" debate is a frequent one on HN. I've found that when I disagree with people here, it's because we differ about what programming can do. I don't see programming as a means to be a web dev, or dev ops, or data scientist. I see it as something more basic but more universal: the ability to make machines do exactly what we want. I teach journalism at the university level. And I force all journalism students to learn SQL, even as most of them have never done any type of scripting. My initial motive was because SQL was simply the most direct way to deal with bigger-than-Excel datasets and to do JOIN operations. I've come to appreciate that SQL is the most concise way to describe what we exactly what we want to do with data -- e.g. the simplicity and explicitness of SORT and GROUP BY, compared to memorizing the Excel menu actions for sorting and aggregation. Because I learned SQL on the job long after I studied computer science, I never really saw it as a proper programming language. To this day I don't even know to define variables and functions in SQL. But now, I see that it still embodies important programming fundamentals, including how the interpreter is literal and unforgiving, how we have to know and state exactly what we want because the interpreter doesn't assume, and how important is to know exactly what you want and what you expect -- determinism and reproducibility are inherent attributes of programming. To give an idea of how far removed today's college students are from what computing is at its core: on the first day of SQL, I explain how SQL is a language, and instead of button clicking, we write out what we want into the client using SQL syntax. Inevitably, a student will interrupt and ask how somehing about why the client isn't running my code. Or, how do we know when we've made an error. After a few years of this, I understand their confusion: they see me type a SELECT statement into the client, and yet nothing happens. Well, of course nothing happens because I haven't told the client (or REPL) to execute it. But these students are so confused because they simply do not use software that waits for the user to execute (or, not so long ago, clicking the OK button). Think about it. Typing anything into Google Chrome's address bar causes an auto completion to execute. Same with Facebook. With things like Snapchat/Tindet/Instagram, you don't do anything that remotely feels like executing a typed-in command (most users probably think a Google search query is basically an executed command). So IMO, learning programming is useful -- not necessarily to become a developer -- because you can be aware of the principles of computation without having to take a course that covers logic gates/NAND/ALUs/Assembly, etc. I teach Python for elective classes. But if journalism students don't take any other programming classes, at least they can put SQL on their resume. [0] https://www.youtube.com/watch?v=goNXogpwvAk https://www.youtube.com/watch?v=goNXogpwvAk
- kwhitefoot 9y agoNo. Kids, and computer programmers, should be taught how to think and analyse. Coding is what comes after analysis.
- danso 9y agoBut coding, taught in tandem, can facilitate and reinforce analytical thinking.
- kwhitefoot 9y agoSo can literary criticism.
- chobytes 9y ago100% agree, programming is a very powerful and practical skill for just about everyone in modern society.
- heisenbit 9y agoI'm a positive guy and more is more... Nope, for one this is a zero sum game and making coding a priority means other things have less budget - not money that may or may not be found but simply time of the kid. Coding is time intensive so where do we take that time away? Math? Reading? Writing? Kids struggling often with the basics... And is there really such a huge need for coders? Considering the retiring baby-boomers a much stronger argument could be made for nurses. And unlike nursing coding can be off-shored... It would make sense make studies and plans how do it effectively before cargo cult coding school on primary level just after that fad fizzled out.
- EliRivers 9y agoKnowing how to code seems like maybe a bit too far for most people. I think knowing how to use the kind of computers they're going to encounter would be most of the way there. Simple things; the concept of files and directories, what the typical OS desktop window managers are actually presenting and how to work with them. What the command line is and how to use it; how to search for files, how to move files, grepping and viewing and so forth. How simple configurations work, maybe even the very basics of automating some tasks using very simple scripts (edging just barely into programming there). I think people could get much, much further if they simply knew how to use typical computer systems they will be working with (which for most people basically means Windows), rather than just knew how to use some of the more common applications. The majority of people using computers just need to know how to use the computer, and can get a very long way before they need to write any code themselves if they can get some understanding and step outside the bubble of Microsoft Word or whatever they spend most time in.
- GhostVII 9y agoThe question is, what should be sacrificed in order to teach kids to code? They have a limited amount of time at school, so some other subject must be reduced significantly, to allow for enough time to actually teach them anything useful.
- cyanexttuesday 9y agoSure but I think they should also be taught practical things as well like driving, taxes, light house maintenance, and other skills most of need for everyday life over abstract math and social science. I'm a big fan of the Japanese model.
- sn9 9y agoFor example of how children can be taught to program at a surprisingly high level with a paucity of resources, see this blog post on CS in Vietnam: https://neil.fraser.name/news/2013/03/16/ https://neil.fraser.name/news/2013/03/16/ People need to raise their expectations of what children are capable of when given the right resources and environment.