TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

We should teach all our kids to code

118 pointsby apexaukover 13 years ago

21 comments

mrcharlesover 13 years ago
I'm not having children, but I have two nephews and a niece, and when they are old enough to read and use a computer without breaking them, I'm giving them each a netbook preinstalled with ubuntu, various programming tools, and some kind of video chat software so that they have access to me to ask questions at any time.<p>I want them all to know this kind of thing, regardless of anything else. Plus it will make me the coolest uncle ever.
评论 #3502156 未加载
评论 #3503685 未加载
dragonskyover 13 years ago
I'm sorry, but here in Australia and I assume from what I hear it is the same in the US, teachers are struggling to have kids leave primary school being able to write a complete sentence and add a row of numbers.<p>They are already being expected to impart to the kids sex education, anti bulling education, physical education, sun safe education, how to not eat too much crap and get fat education and many other things that in a normal society would be the responsibility of parents but the government now seems to believe should be imparted by the formal education system.<p>There are many things wrong with the modern education system, and I don't think many of them are going to be solved by imposing the requirement to teach programming on teachers who in many cases struggle themselves to even turn on a computer let alone be able to make it do what they want in any meaningful way.
评论 #3503034 未加载
DanBCover 13 years ago
There's a couple of points about modern programming systems.<p>BASIC was interpreted, and not object orientated. You'd have a book, and that book would contain every keyword, with a description of what it did, and some example code.<p>So you'd buy magazines or a book, you'd type out the programs in those books, you'd debug what you'd typed, you'd modify what you'd done, and then you'd start creating new programs. You'd write a little program, and then realise that you needed to do X; so you'd read the book and find the instruction for X, and you'd grok the example and write it in your program and debug.<p>Where is that workflow, that learning journey, recreated today? Perhaps with the "learn X the hard way" series?<p>Also, most people here are either technically brilliant or at least proficient. Now imagine the general population. These are people who just don't know how to plug in a printer. (In the days when computers had parallel ports and serial ports you could not plug the printer into the wrong port. You just had to look at the cable, and look at the computer, and try to mash the connector into all the ports. It would only fit one, and it would only fit one way. Yet I was seen as some kind of genius, by more than one person, because I could plug a printer in.) Or these are people who will not, seemingly cannot, read and act upon a short simple error message.<p>I love to think that maybe a bit of programming / coding teaching could change that, but I'm not sure it will.<p>Finally:<p>&#62; <i>Learning to code is learning to use logic and reason, and express your intent in a consistent, understandable, repeatable way. </i><p>Author uses "coding" and "programming" in weird ways. Normally programming is the design process, with pseudo-code and flowcharts and jackson structured programming charts and etc, while coding is just taking that and writing it in some language. Maybe I'm showing my age and the words are now used in a different manner, but it threw me for a while.
评论 #3504469 未加载
chillyconkerover 13 years ago
Just a couple of observations from a (mostly) computer-illiterate person:<p>The people who learnt to program computers in the 70s and 80s weren't taught at school by teachers, they taught themselves (maybe with help from friends).<p>The OSes of the 1980s were much simpler than MacOS/Linux/Windows. In particular most of them had a standard BASIC built in which was very easy to start using. One could just turn the computer on and immediately type in a program.
评论 #3501419 未加载
评论 #3501387 未加载
cabaconover 13 years ago
I recently watched Randy Pausch's "Last Lecture" (<a href="http://www.cmu.edu/randyslecture/" rel="nofollow">http://www.cmu.edu/randyslecture/</a>) where he promoted Alice (<a href="http://www.alice.org/" rel="nofollow">http://www.alice.org/</a>) as a tool for teaching kids to code. I downloaded it and played with it, and it looked pretty good. Like logo, it makes programming more fun by giving you immediate visual feedback. Like the "If this, then that" thing the article liked, it promotes the idea that programming is a lot like storytelling; the entities do what you say they do, nothing more, nothing less.<p>I found in it the potential for excitement that I found when I recently looked at the demo programmer live coding at <a href="http://iquilezles.org/live/index.htm" rel="nofollow">http://iquilezles.org/live/index.htm</a><p>The live OpenGL editor he uses for immediate feedback made me figure out how to get an OpenGL triangle rendered on my laptop right quick. I can imagine that having storytelling control over 3d characters could do the same for kids.
apexaukover 13 years ago
This is an issue I'm very passionate about, and I'm sure many others are too. I'd love to hear other's thoughts on how we educate the next generation and the best way to teach coding in 2012.
评论 #3501192 未加载
评论 #3502048 未加载
rueover 13 years ago
There's a huge and important distinction between “we should try to teach all kids to code” and “all kids should be able to code”, and it tends to get lost in the discussion.<p>Programming just isn't for everyone (and that's OK), but everyone should give it a try to find out.
评论 #3501949 未加载
narratorover 13 years ago
I've taught several basic programming classes. The ability to code differs wildly. Like sketch art, some people can't draw to save their life, while others do it effortlessly. Having a programming class as an elective would be good, but it shouldn't be forced on people who have no ability for it at all. Not everyone can be great at everything.
评论 #3502683 未加载
doolsover 13 years ago
Coding is easy and can be learned in a matter of months by anyone with a basic understanding of computers.<p>I'd rather teach my children things that get them out of the house exercising and learning to be friendly, well adjusted humans.
jbattleover 13 years ago
I have a 10 year old son who seems a natural to take an interest in programming. I tried starting him with a Basic interpreter cause that's how I started, and he struggled to stay interested - largely due to the non-graphical nature of the output.<p>The next thing we tried was Kodu from Microsoft (<a href="http://research.microsoft.com/en-us/projects/kodu/" rel="nofollow">http://research.microsoft.com/en-us/projects/kodu/</a>). He found that enjoyable - very visually appealing and you can get something basic but interesting running quickly. Getting something moderately complex became hard however due to the limited palette of design tools.<p>The next step was Scratch (<a href="http://scratch.mit.edu/" rel="nofollow">http://scratch.mit.edu/</a>) which is a step down in eye candy but a step up in control. You get a lot more flexibility but it is still very approachable. Everything is visual as well, which makes it really easy to see what's happening. Scratch allows variables and lists, control flow structures, etc and thus gets into "real" programming.<p>However, Scratch has some big limitations, especially around instantiating new 'objects' at runtime. I think the next logical step forward is Stencyl (<a href="http://www.stencyl.com" rel="nofollow">http://www.stencyl.com</a>) though there's some additional layers of abstraction that are causing a little consternation.<p>I keep trying to push Python and Java, but for my son at least, not being able to start with something visual is a big drag. Maybe next year.
评论 #3502561 未加载
code_pocketsover 13 years ago
The year was 1986, and I was on my first Disney World trip. After a couple of days of traveling up and down Florida visiting the various theme parks, my parents decided to stop at a local electronics shop.<p>Now, back at home we didn't have many fancy electronics stores, so this huge emporium of transistors was pretty amazing for all of us.<p>My mother hinted that they were going to buy us a Nintendo (NES), and I was ecstatic. I had never heard of such thing, but seeing Super Mario Bros. on the display machine was pretty mind blowing for an eight year old.<p>But, my oldest brother (who was a bigger nerd than me) did not want the NES. Crap. I was furious, and really disappointed. Instead, he wanted some stupid computer. It was big, bulky, ugly (light brown with black function keys!), and required a huge monitor to be of any use. It also required a disk drive (a 1541 model).<p>Yes, my brother wanted a Commodore C64.<p>So, my parents decided against the NES (oh the humanity!), and purchased the C64 with a 13-inch (I think) color monitor, a 1541 disk drive, and a color dot matrix Okidata printer. They must have spent like a million dollars. An amazing feat, because we were barely middle class.<p>After learning how to turn it on, writing to the diskette, printing demo images, playing Ultima, I started to code some BASIC. Nobody taught me, I just picked the manual and started coding.<p>My first programs were something along the line of:<p>10 PRINT "HELLO" 20 GOTO 10 30 END<p>Now, for an 8 year old kid who was teaching himself how to use the damn thing it was pretty awesome to pull such simple programs.<p>Then at age 9 I bought my first "computer", a Tandy PC-7 at the local Radio Shack (after saving my lunch money for months).<p>Now, as a hacker/programmer/software engineer/whatchamacallit I look back at those days and appreciate what my parents and brother did.<p>Such experience has led me to teach my nine year old niece how to "program" in HTML. She enjoys it very much, and even asked me to put Ubuntu on her desktop. My daughter will also learn how to code, even though I don't expect her to follow in my footsteps.<p>tl;dr: Teach your kids how to code. They might go on to become hackers themselves.
DanBCover 13 years ago
A few people have mentioned simple computers and BASIC.<p>They may be interested in these links.<p>(<a href="http://hackaday.com/2012/01/23/maximite-harkens-back-to-the-days-of-basic/" rel="nofollow">http://hackaday.com/2012/01/23/maximite-harkens-back-to-the-...</a>)<p>(<a href="http://geoffg.net/maximite.html" rel="nofollow">http://geoffg.net/maximite.html</a>)<p>&#62; <i>The Maximite is a small and versatile computer running a full featured BASIC interpreter with 128K of working memory.<p>It will work with a standard VGA monitor and PC compatible keyboard and because the Maximite has its own built in SD memory card and BASIC language you need nothing more to start writing and running BASIC programs.<p>The Maximite also has also 20 input/output lines which can be independently configured as analog inputs, digital inputs or digital outputs. You can measure voltage, frequencies, detect switch closure, etc and respond by turning on lights, closing relays, etc - all under control of your BASIC program.<p>The design and the firmware including the BASIC interpreter is free to download and use.</i>
simonbrownover 13 years ago
&#62; try telling that to anyone who has tried to hire developers in the past three years. Sure, much great talent is out there – but the supply and demand balance is off the scale.<p>Really? Computer science has the highest unemployment rate of all degrees in the UK.<p><a href="http://www.bbc.co.uk/news/10477551" rel="nofollow">http://www.bbc.co.uk/news/10477551</a>
评论 #3501681 未加载
评论 #3501696 未加载
andolanraover 13 years ago
So we want them to learn problem-solving (i.e. "given tools, solve problem" for any set of tools and any problem.) Given the experiences I've had trying to teach things to programmers, I'd like <i>them</i> to learn problem-solving, as well. Most programmers have a small tool-box of solutions (i.e. languages, libraries, platforms, &#38;c) and the bad ones (i.e. most of them) run DFS over that tool-box until the problem appears to go away, and start quaking in terror if you give them new tools or radically different problems.<p>Programming is a <i>kind</i> of problem-solving. Learning it makes you better at solving the kinds of problems it solves. I have seen no evidence for the assertion that the kind of discrete-approximation problem-solving style inherent in most programming necessarily makes you better at solving problems in the general case.
rayhanoover 13 years ago
Way back when, the BBC funded a programme that gave schools BBC Micro Computers and even had TV shows supporting the education and awareness... we should be embarrassed that TV today is more about the objectification of women and the whim of producers who have saturated the topics available for quality programming.
dfischerover 13 years ago
We're trying really hard to educate the next wave of talent... a lot of open-source community effort in the Ruby community.<p><a href="http://www.kidsruby.com" rel="nofollow">http://www.kidsruby.com</a>
mkr-hnover 13 years ago
I was introduced to QBASIC when I was little. I found (and still find) programming tedious and unfulfilling, but it <i>did</i> prepare me for when I needed to know basic HTML to publish a static blog a few years later. The early stuff probably wasn't essential since I would have picked it up to make basic websites and blogs later, but it might have helped a little.
rorrrover 13 years ago
I remember when we got our first computer, my dad won't let me play any games for more than a few minutes a day, but I could play the games I wrote myself as much as I wanted. That was a brilliant idea - it gave me the taste of the good games, which was a huge motivation. It did take a while to create an actual playable game (back then we didn't have easy to use graphics libraries like Processing), but then it all became easier after.<p>Most of my friends with computers at that time spent 5-6 hours a day playing games instead of learning.
评论 #3501499 未加载
评论 #3501693 未加载
评论 #3503154 未加载
评论 #3502614 未加载
评论 #3503103 未加载
georgieporgieover 13 years ago
I think the author has not met enough variety of people.<p>Yes, all schools should have a fantastic Computer Science department. And it should be more than CS, it should be "doing fun stuff with computers". However, there is a very large segment of the population who <i>cannot</i> program.<p>I've got a friend who's quite smart. She's charming and extremely capable at her job. I discovered that she has absolutely no ability to think in three dimensions. She cannot follow even a very simple series of motions. She parked her car near a post, came out, got confused, and destroyed the whole side of her car because she couldn't work out the spatial problem to get out.<p>I've known people who simply <i>cannot</i> grasp calculus. They're interesting people who offer value in the world. Calculus is a fundamental and wonderful thing to know, but that doesn't mean everyone can or should learn it.<p>I love programming, but I respect the variety of humanity enough to understand that it should not be mandatory.
评论 #3503741 未加载
评论 #3504439 未加载
评论 #3503715 未加载
theDaveBover 13 years ago
Me and my son (aged 15) are trying to develop our first iPad app but he is not interested in the programming side at all. He is happy drawing out stuff on paper for the levels etc... So am not forcing the programming no him, if he has no interest. I just want him to have the experience of getting a app on the app store and knowing he was part of it.<p>We are using the Corona SDK (in case anyone is interested).<p>Dave
billpatrianakosover 13 years ago
So the title is misleading. Really, he's saying we should teach our kids to <i>think</i> like programmers, not to actually teach them code which is a far better idea.<p>In all honesty, people have an aversion to code like they have an aversion to anything math related besides simple arithmetic. I also disagree with his slight criticism of Codeacademy as being a place where people simply learn syntax. I was 10 years old when I wanted to know how we pages were made. I learned the HTML, then as I grew older learned the syntax. I only learned what I wanted to get something done. Eventually, through learning simple syntax I gradually began to understand the logic and theory behind programming. Of course I got much deeper into it during CS classes in college. My point is, people get turned off by code. Teach them how to print 'Hello World!' and you eventually teach them the underlying principles of programming in a sneaky way. It's like wrapping medicine in a piece of cheese so your dog will swallow it. If the dog knows its there he'll likely spit it out.<p>The title got me angry at first. I don't think we should be teaching children any specialized skill they don't have an interest in. My father is a pilot and tried to make me like flying because of the same kind of "this is good for you" thinking but it didn't work out. Also, as far as everyone using computers but only a few programming them, I think that's fine. It's more important that people get a broad overview of how hardware and software works and thats all. Does everyone need to know how to rebuild an engine to drive a car? No. Knowing how to check fluid levels, change a tire, and filter your oil will suffice.<p>Maybe I took it wrong but we don't need to teach our kids to code. There are a lot of ways to teach critical thinking skills (which is what he's getting at). Critical Thinking was a first year college course I was required to take. They should be teaching that course far far earlier here in the States. I was in AP classes all the way through school and even the Advanced Placement kids weren't offered a course even close to critical thinking.
评论 #3503392 未加载
评论 #3502811 未加载