8 ms·
Should kids learn to code?
- id122015 11y agoThe article is about what Steve Jobs said, that “Everyone should learn how to program.." but Steve Jobs did not allow his kids to use a computer up to a certain age. As I looked after children I can tell a certainty confirmed by others: "Millenials are cry babies". Nowadays children as small as a few years old want to do what their parents are doing, including to have a girlfriend, before they are able to stop using pampers.. http://captaincapitalism.blogspot.ro/2015/12/rant-of-day.html http://captaincapitalism.blogspot.ro/2015/12/rant-of-day.htm...
- cableshaft 11y agoWhen I was in elementary school in the 1980s, the cool kids as early as 1st grade would be "married" with someone during recess. It's all a part of children playing, there's nothing wrong with them wanting to have a "girlfriend" like their big brothers or sisters have. They also want to pretend to be firefighters and astronauts and I don't see people whining about how entitled kids are for wanting that.
- malux85 11y agoYes, even if they're not going to become programmers, coding teaches people two important skills that I see lacking: - The ability to break up large, seemingly daunting problems into smaller manageable chunks. - The ability to shift perspectives from the 50,000 foot view, down to the individual line of code view, and then back up to the 50,000 foot view, and then back down again! Variances in individuals abilities can be accounted for - jack might only be mentally capable of going to the line of code level, but I can see Mary is getting bored, so she can look at the interpreter source code - they should be encouraged to seek answers themselves. I have a close friend who is the head master of a school here in the UK, and he is really keen to get kids coding, but there's no source materials for the teachers to learn, I think there's opportunity there for anyone who wants to pick it up :)
- SmellyGeekBoy 11y agoThe ability to break up large, seemingly daunting problems into smaller manageable chunks. This is an important one. We bought our first house 5 years ago and I've been busy completely renovating it. I often get asked how I dare take on such a big and daunting project with no prior DIY experience - the answer is, it's basically what I do for a living!
- tboneatx 11y agoThat's what I always say too. I built our whole house myself. The same process applies: Split project into parts, find out how to do each part, do them. And once in a while you have a code review (inspector, building code) haha :)
- amelius 11y agoThese are more "Software Architecture" skills, than programming skills. Let's not teach kids higher-level organizational skills, but save those for later. For kids it is important that they can play, and fail often.
- Bouncingsoul1 11y ago"can play and fail often" is the perfect description of software development
- jonesb6 11y ago"Don't hire Bouncingsoul1 for new devops position" got it! Just kidding, your absolutely right. I just think we need to find a good way to communicate this to kids in an understandable way.
- malux85 11y agoI don't think there should be a difference, it's just a matter of scale. When they start off coding, it might mean an entire week spent in a single python file: The 50,000 foot view might be "Printing Restaurant Menu", the "line of code" view, might be getting the price of pizza. We're not talking architecture, or operating systems, or networking, or boolean circuit logic, or anything, we're just printing their favourite food menu - a practical example of shifting perspectives. Once they can shift easily, then we expand it in both directions - Now print menus for 10 restaurants. Now find the most expensive pizza. I think these lessons can go hand in hand with Math -- too often the main complaint with Math is that it's too abstract (When am I ever going to use this?!) whereas if the Math lesson about averages tied into the coding lesson for printing the menu (Now find the average cost of all pizzas) kids might be able to see it as useful
- zupatol 11y agoIt always sounds strange to hear a developer job is future proof. I'm a developer in Switzerland and my main impression of the market is that many jobs have left to cheaper places.
- jbuss 11y agoThere will always be people willing to pay more for a better developer.
- cableshaft 11y agoYes. It's almost like math or science or english at this point. They may go their entire life without using many of the more advanced concepts they learn in those subjects, but being aware of them is important. In the same way, they might go their whole lives without doing any serious programming, but knowing that it's possible to automate a lot of little things they use on the computer and what they should look up if they ever get the urge could help empower theirs and others lives.
- spooningtamarin 11y agoKids should learn problem solving skills. Math teachers of today are, unfortunately, quite different from those of yesterday. So, everyone believes they can do something more with programming.
- serge2k 11y agoSo many of the arguments arguments about it are really just arguments for learning math. But America sucks at teaching math, so screw that lets teach programming instead.
- davidgerard 11y agoI'll just post my Scratch blog post again: http://reddragdiva.tumblr.com/post/127964136013/it-turns-out-scratch-is-probably-the-answer http://reddragdiva.tumblr.com/post/127964136013/it-turns-out... There have been many simple languages for kids, but Scratch appears to be the one that works. Speaking to my daughter's teacher, it's not just the academically-bright kids getting into Scratch - the academically average and academically behind ones do too. It appears to satisfy requirement #1: get the kid interested. The important thing learning to program does is teach kids that the code that runs their world is a humanly tractable thing: that literally everything that any computer does is a more complicated version of a dancing ballerina animation. They don't need to become coders to benefit from having an idea of how the machinery their civilisation runs on works, and not to just think of it as unknowable wizard magic.
- MollyR 11y agoI've noticed lot of web developers I've worked with view hardware as unknowable wizard magic(or maybe disinterest) . Where do you think the line should be drawn between hardware/software? Raspberry Pi seems to have a lot of stuff for children as well.
- davidgerard 11y agoGood question! My daughter is a little geek (a gamer in particular ... and identifies as one) and I haven't got her into hardware yet ... if I can think of something a Pi could do that would actually be interesting to her, that would be an excellent approach.
- throwaway999888 11y ago> Speaking to my daughter's teacher, it's not just the academically-bright kids getting into Scratch - the academically average and academically behind ones do too. It appears to satisfy requirement #1: get the kid interested. But will Scratch make kids advance in the rat race in the long run? Because apparently that's what's important.
- weego 11y agoShould kids learn a musical instrument Should kids learn to play chess Should kids learn to play soccer Yes if it interests them. No if not. I feel like we might have solved this problem for X a number of times in the past. I'd also warn against the notion that learning to code magically improves critical thinking/task management. They are accessory skills that good developers have or have learned.
- Mikeb85 11y agoIn school (public school in Canada) I was forced to play soccer (among other sports), learn a musical instrument (participation in the school band was not optional), and code (a required course had an HTML/JS component). I also learned chess because, why the hell not? I quite enjoyed the experience of public school, and I like to think all the extra things they forced us to do made me a more rounded person. Because they were required, the cost was also subsidized, as I came from a low-income family I likely wouldn't have been able to do many of those activities outside of school. Anyhow, as far as 'coding' specifically, I do think a few basic courses in school, in an easy to learn language with a fun/easy game engine would be great. Say Ruby or Python (or even something like Scratch). I do think schools should still focus on the basics though, maths/sciences/humanities/languages, the rest is just to create well-rounded people.
- baldfat 11y ago> Yes if it interests them. No if not. If you do that with food you have a grown person eating Chicken Nuggets and Mac & Cheese for life and not know the awesome food that is around them.
- tracker1 11y agoKids tend to be naturally curious and want to help... let them help, even if it slows you down. If you cook and let them help, when they are young, they will learn. And yes, some people as adults only eat chicken nuggets and mac and cheese... though to be fair, I spent two years perfecting my mac and cheese skills (baking vs. stove top, bechamel route vs sodium citrate, sauce and cheese variations) making it about every other week.
- jfaucett 11y agoI disagree with this. I feel like the general idea of "learning to code" is simply typing commands into a machine that then get executed exactly. The coding part teaches very little, just mainly how dumb machines are compared to self-aware human beings. Kids should definately learn how to think algorithmically and understand mathematics/physics concepts (as opposed to repeating some pattern recognition which is to often the case) and if some type of coding facilitates engraining this knowledge I think that'd be great, but as of yet I haven't read a study that showed this to be the case. As a programmer, when I have kids I'm not going to teach them how to code. I'd much rather they spent time playing outside, building things with their hands, acting in plays, playing music, reading books, writing papers, doing science experiments etc. Computers are nice tools to help you do these things but they are not ends in themselves. this all IMHO of course :)
- js8 11y ago> I feel like the general idea of "learning to code" is simply typing commands into a machine that then get executed exactly. But isn't that how every skill begins? With doing very simple things, by the book? Like in your examples: building things - cutting out preprinted paper models and gluing the pieces playing music - playing scales over and over again reading & writing - reading and writing simple sentences over and over I don't know any skill where you just "jump" to creativity. It all takes time and effort, during which you actually learn the patterns. I think coding is worth learning for a simple reason - computers are pervasive and universal tools, therefore to know how to talk to them is a part of universal literacy, just like reading, writing and arithmetic.
- s-phi-nl 11y agoFor some reason, this reminds me of Richard Feynman's comments about science education in Brazil: http://v.cx/2010/04/feynman-brazil-education http://v.cx/2010/04/feynman-brazil-education "'I have discovered something else,' I continued. 'By flipping the pages at random, and putting my finger in and reading the sentences on that page, I can show you what’s the matter – how it’s not science, but memorizing, in every circumstance. Therefore I am brave enough to flip through the pages now, in front of this audience, to put my finger in, to read, and to show you.'"
- utnick 11y agoOne big skill learning to code teaches that is overlooked I think: how to look stuff up online, research, and find answers.
- deleted 11y ago[deleted]
- jeffdavis 11y agoYes, because it's a literacy issue. By that I mean that learning something about programming is a prerequisite for such a wide range of things that you will be left in the dark without basic programming knowledge. Machines have been complex for a long time, far too complex for everyone to understand. But generally, even a novice can understand any one particular detail if they care to. Engines are complex, but you can quickly read up on the cycle it goes through, and get a vague understanding. Except how the valves are controlled, because now those are computer-controlled, so you must know how a computer works to understand. Before, you could have asked some questions and got an explanation about push rods or cams or something, and walked away feeling comfortable with that explanation. So programming has become a fundamental dependency to understanding a wide range of things
- steven2012 11y agoThe answer is "If they want to". Forcing a kid to learn to code is the same as learning the violin or putting them in football. If they are interested in it, great. If not, it will be like torture.
- pinn4242 11y agoI don't get it. "Forcing a kid to learn English is the same as learning the violin. If they are interested in it, great. If not, it will be like torture." What? Coding is another language (and I should know, I created a computer language)--somewhat. I learned piano, and don't think that should be forced (I also don't think I'm threatening the jobs of concert pianists). The basics of coding should be forced, though.
- steven2012 11y agoIt's not just learning a language. It's a tool to allow you to build computer applications. Some people simply aren't interested in building apps, just like some people aren't interested in playing music or throwing/catching a football.
- pinn4242 11y agoWhere did we get to apps? How about just command line? I'm not sure if you create apps for your job, but that's not all of programming. I work on an "app" for my job, but it's a more-or-less vertical. I really don't see how teaching a child some command line or REPL (read execute print loop) stuff threatens my job. Even if that child is in India or something. I'm secure in my own abilities.
- steven2012 11y agoI have no idea what you're talking about.
- fucking_tragedy 11y agoIs knowing any of that necessary in today's world? Command of the English language is needed to function in our society and neglecting to teach a child the subject has obvious lifelong negative repercussions. Most happy and successful people will never care about typing commands into a glorified calculator.
- jonesb6 11y agoAs long as programming remains the single most reliable way to raise your socio-economic status, I don't think anyone can argue against teaching it to kids.
- jetsnoc 11y agoI believe children should learn to think critically, logically and learn about logical fallacies. Writing software can be a means to an end but learning to type code as a rote exercise without learning to design, architect and write an application is a pointless exercise.
- dboreham 11y agoI spent last year on a deep dive into this field, after volunteering to spin up a coding class for our local middle school (12-14 yo students). I have a heavy software development background but not much experience in education as a "provider". I ended up spending several hours every week hands-on in the classroom with the kids, plus time outside the classroom grading, reporting bugs in the teaching site we used to the vendor, etc. One of my own sons was in the class so I got to see something of the student side of things close up too. I learned many things from this exercise that could fill several blog posts or a book. But no time for that, so some quick thoughts: 1. It was much (much) harder to teach coding than I expected, even in the case of the very brightest students. 2. There is a latent expectation of quite strong mathematics knowledge in all programming education. I discovered however that this knowledge is pretty much absent in students of that age. For example analytic geometry is not introduced until 8th grade (14 or so) so prior to that if you want to show programming with lines on a 2D plane with Cartesian coordinates, you will get some very blank looks from the class. 3. I had assumed that teachers would be able to pick up the ability to teach coding with my help (we're talking teachers who already handle science or computer applications subjects). This turned out to be an invalid assumption. So in order to succeed the class needed to be staffed by "programming educational paraprofessionals". Such people are by their nature very busy and as a result we were not able to run the class again this year. Overall I'd say now that coding is somewhat like musical instrument playing or art -- something that is well worthwhile having in school, but not a subject that all students are going to take to. It requires a similar level of commitment and investment (consider for example that the school employs several full-time highly skilled musicians and requires around 8h/wk class+practice time for "band"). To provide comparable resources for a coding class would be extremely expensive.
- xigency 11y agoShould kids learn to code? That's a great question. I also wonder if adults should learn to code, or my peers who would be young adults. I'm 24. I started programming when I was 10 years old by reading a 'For Dummies' book teaching Basic. I hardly read the book because it came with a CD with the language and the language's help system had tutorials which I jumped into right away. I spent the next four years developing video games in Basic. I learned C and continued to make games and also started working on other types of simulation. I've picked up web programming incidentally, taken courses in high school, worked as a programmer, researcher, and software engineer, majored in computer science in college, and have a steady job as a software engineer. Earning my degree has been amazing for me because it's introduced me to highly technical aspects of the field that would otherwise be inaccessible to me or present large barriers to entry. An interesting trend is for school systems to embrace computer programming / computer science as a skill and teach it as a class or to introduce it into the curriculum in general - > Britain became the first ... to introduce compulsory computer science on the school curriculum for all children aged five to 16. Equally, though, this could be off-putting for many kids. Depending on how it is introduced, it might scare away those who would otherwise be interested in programming or less so another design field in computer science. Oddly enough: > “One 13-year-old told me she would rather be in garbage disposal than work in technology,” It's really surprising that this sentiment isn't more widely felt. Maybe it is the sort of tech-bubble, get-rich-quick, new technology enthusiasm and excitement that gets people to push through the initial, `this is boring, difficult, and unfulfilling' feeling that I would really anticipate from anyone making a cold dive into code. In fact, I've had the opportunity to mentor some kids around the ages of 10-12 and that's exactly the response I've seen to the programming or code side of development, where they will be increasingly excited to design applications in a much, much higher level way. But directing software design should really be considered a lower field than implementing it, in my very humble opinion. And this point, about some being disaffected by being compelled to learn something, underscores another unfortunate fact - and that is no matter how someone is introduced to computer science or computer programming - something will be outside of their control. Some start by programming in Python or JavaScript, some start with C (many engineers) or Java, others have began with Fortran or Basic or Visual Basic, and others begin to learn computer science with Scheme. There are so many vastly different programming languages and platforms that exist, and even different programming paradigms, and each is easier to use or understand to different minds. But it would take an expert oracle to know what the best introduction is for every individual to give them the best chance of success in computer science. Some scientists can't even agree on what text editor to use. > Puzzlingly, though, IT had the highest unemployment rate of any subject analysed by the Higher Education Statistics Agency. Here is another annoying fact. In the midst of a rise of bootcamps, there are still those who can't find jobs. And the fact that so many people can jump into monthly groups to learn to "program" doesn't mean that there is a stable, sustainable system for them to work in. If it is what I believe it is essentially web design or scripting education that's going around, there's really only a few months of work for any group of graduates, and the opportunity to float along the top at any organization that takes them on. To imply that a bootcamper will become a major technical lead in any kind of reasonable time or with anywhere near the same level of effort as a regular graduate seems extremely disingenuous, and the fact that six figure salaries are being touted as results from these camps seems to show a real economic failure. > The coding bootcamps springing up in London and Edinburgh are essentially a pop-up solution. That would be an accurate description, although I might be cynical. > ... Scratch, a computer language developed specifically for young children. I've seen Scratch and I think it's fantastic. Along with Logo and other platforms for introducing logic and computation, I think it's perfect for children and new-comers. Compare for example the sort of weights and blocks that some children are introduced to when learning algebra initially. > Perhaps that is the single most honest argument for teaching everyone to code: to give everyone an equal shot That's definitely a fair point, but there's never going to be a way for this to be true universally and that is just a fact. The ecosystem for programming and development is varied and depending on what you want to do, it's going to require vastly different skill sets. Another reality is that there are so many people doing so many different things and technology is such a competitive field that there is almost a guarantee that someone, somewhere is attempting to achieve the same thing in a complete different approach. Who has the fair advantage? Then it's explained that having experience or skills with computer programming, 'knowing how to code,' or being introduced to the field results in `Aha!' moments like ... > "‘It would be so cool if this existed,’ and then implementing it the same day – it’s like a superpower," In reality, if you have a complicated idea for something that you want to see created.. it's going to take work. If you have a simple idea, then yes, it may be simple to create! And it is empowering to have the skills to create or begin to create something, or to know where to find those resources and how to begin. Then this article ends on this point: > "How many young people ... have what it takes to be great developers? ... "But they won’t be, unless we give them the chance. This is probably the core idea to education, school, training, and jobs. In order to find opportunities... they must exist, and in order to achieve skills they must be attainable or at least known to someone. But in the same vein, how many people would make excellent astronauts if there were a much broader space program? It's something where there's always a trade-off in time and skill between anything a person might become employed doing. Shameless plug, part of why I developed the Duck programming language was to make a very accessible programming environment, and I still intend to expand it as best I can to allow easy programming! I'm also working on a new language that is lower-level and it intends to facilitate clean, efficient and safe programming while encouraging higher-level paradigms like functional programming. There aren't a lot of functional, imperative languages out there that still avoid automatic memory management, and I think that's a loss.
- pinn4242 11y agoI was doing x86 assembly coding as a teenager, and certainly didn't need nudging. I also taught myself calculus, physics, and even material engineering. I don't see any problem with kids coding. It looks like other people are comparing it to chess or soccer? I would compare it to Math, which is taught to people. I'm not sure why people would feel like only certain people can do it (like soccer or chess). I don't feel threatened if more people code. Maybe I'll create (another) language to teach my kids if I have any.
- fucking_tragedy 11y agoCoding is child abuse unless they're truly interested in learning.
- graycat 11y agoWell, yes, maybe, if the also learn to write, e.g., specifications and documentation, IMHO, currently the biggest bottleneck to progress in computing.
- deleted 11y ago[deleted]