I've been volunteering once a week at a local school teaching 6th graders how to code, and it's really amazing how quickly many of them pick it up. Even small things like learning to mix blue and red to make purple using rgb(255,0,255) is utterly fascinating to them.<p>I asked one of the kids how he would like it if they taught programming as a subject in school. His eyes just lit up and said "that would be awesome".<p>It's also fun talking to kids about startups - the fact that you can use code to solve problems for people and start a business. They're usually more interested in building a fun game but still, you can see some flickers of awareness lighting up. A lot of these kids are selling candy to each other at school anyway, so they're pretty entrepreneurial by nature.<p>I guess this is a long winded way of saying that teaching kids to code is one of the most rewarding and challenging things you can do, and I'd highly recommend it to anyone on the fence.
><i>"Now just think how awesome you would be if you had learned how to code when you were seven years old."</i><p>Probably as awesome as I am as a baseball player, which I actually learned at age seven...and quit for spring soccer at age 9 because games and practices were so incredibly dull.<p>However, I suspect at age 9 I would have traded the prospect of a Saturday afternoon programming in a New York minute for sitting in the dugout during a baseball game.
The concept here is encouraging, but at the same time a bit disheartening when I consider how many of my peers have recently graduated or will soon graduate with expensive, decreasingly valuable degrees in subjects they love, but will have difficulty securing employment with. For instance, I have a good friend studying history right now who has recently taken up programming in an effort to spruce up his resume. I can't help but think "Why so late? Why didn't anyone nudge you in that direction when you were younger?"<p>I know my parents wanted me to truly understand new technologies, not just interact with them, so coding was an integral part of my life from an early age, but I fear many more parents probably saw the rate at which software was advancing and the promise of the internet and thought "Well, programming probably isn't that important anymore" (assuming, of course, that they had any opinion on programming at all).<p>He's a bright guy, so he'll be fine, but the fact that so many people my age will likely need to spend much longer acquiring and honing these skills (if they even bother to try) than children of the iGeneration is a bit depressing in the "Born just a bit too soon" sense.
When I watch how much my 3 year old son uses our iPad it makes me sad that there still isn't an integrated way to program the device on the device. Someone with more time than me should solve this problem.
I have started feeling indifferent to this topic.<p>How can you teach a seven year old to program? Kids of that age are hardly learning to add, subtract, multiply and divide numbers. How difficult would it be for a kid to grasp concept of function - in context of both math and programming.<p>Teaching kids how to program is not as easy and logical as it sounds. My opinion is to let a kid grasp and understand the basics - which are math, science and logic at an abstract level. Such a rush to throw everything at a kid is overkill IMHO.
Missing tassel in this puzzle IMHO: Something like Codea (iPad app, incredibly cool to learn programming to children) but as a web site, with a similar interface and "visual" objects, language Javascript.<p>After you create an app you should be also able to "name" it, so that <name>.this-site-name.com means instant-deploy of your app.<p>This is the thing more similar to BASIC of C64 that I can think, in terms of easy access, and ability to build something that you can actually distribute/show.
I hope that if I ever have kids, I'll be able to educate them as well as I can in (in no particular order):<p>1. Basic programming & general computer skills
2. A foreign language
3. The ability to learn by themselves<p>I have no desire to hothouse them of course, nor is it anything to do with improving their career prospects etc. I just look forward to sharing the fun of learning with them
Programming should be part of mandatory curriculum for students. I often sit at meetings an hear non-tech colleagues say things like "how does the internet work?" or "what are we going to do if the internet fills up". I would hope that theae ideas are taught...knowing many teachers who have very limited tech experience makes me worry...
Any opinions/experience on the best language to introduce kids to programming with? My instinct says python simply because I personally found it the easiest to get to grips with, but I guess practically anything will do.
> Now just think how awesome you would be if you had learned how to code when you were seven years old.<p>I started learning at 8 so another year wouldnt've done much.<p>In regards to the program this is really cool. I've been trying to teach my younger brother how to code to help him in his math classes at school. If you can break a math problem down far enough to be able to build a calculator for it, you must understand it, which is in fact why I started to learn to code so young.
Indeed it's really sad that here in the U.S. our school system's do not offer coding classes as electives. Though we still put a strong emphasis in offering foreign languages like French and Russian?<p>Having base coding knowledge and experience will go a longer way for our children then teaching them a foreign language like French, Russian and other languages!
I always think of this. Not because I have kids, but because I teach children coding(web development). I have 2 groups, 13-14 years olds and 15-16 years olds. The younger group learns everything twice as faster. I plan to teach my kinds basic logic, maths, chess and after coding starting from age 4.
I think it makes sense to mention the potential influence of raspberry pi on education here, it's potential that is to provide far greater accessibility to a superior coding/learning platform in education. The next few generations might just be raised as linux users.
Coding is great, but what about exposing them to some hard, meaningful problems while we're at it as well? Otherwise, we're just gonna get 10 times more photo sharing apps in the future.
<i>Now just think how awesome you would be if you had learned how to code when you were seven years old.</i><p>Not that much, if I happened to want to work in any other totally unrelated profession, like a language teacher or a chef or a doctor. Now, imagine how awesome I would be at MY chosen non-coding profession, if I had learned it since seven years old. Which actually doesn't make sense, because I hadn't made my choice of profession yet.<p>So let seven years olds just be, and if some of them are programming prodigies, OK, but not everyone has to learn to code. It's just programmers thinking they are "the shit".<p>Here's another thought: kids are the future, teach them how to behave and be considerate.
I'm sick of hearing that we need to teach kids to code. No, we don't. This idea comes from other coders who seem to be living in a bubble. It's important that we teach kids to be computer literate but coding is not an essential skill. Do we need to teach all children to be doctors? I mean, we all have a body that needs to be taken care of, right? Do we need to teach all children how to assemble an automobile engine? No, driving the car and being able to check the oil or change a flat will suffice.<p>Programming just isn't for everyone and no matter how often or loudly you scream that it is that doesn't make it so. Coding is hard and people think its boring. They won't persue it any further than they would a sport their parent puts them in that they dont like. There are things that all children should learn like reading, writing, and math but you wouldn't say all kids need to be trained in writing like a writer would or that mandatory math needs to incorporate the kind of stuff the guy from A Beautiful Mind was doing, right?<p>In the same way that we all need to know how to read, write, and do basic arithmetic, that's how we need to teach kids to code. Sketch the broad strokes of how a computer works. Give definitions of hardware and software and teach them how they interact with each other. Introduce them to the concept of binary data and how all code is just one's and zeros. After that it should just be up to the child to decide if they are fascinated enough to learn to code. Even if there is a shortage of software engineers it doesn't matter. Teaching kids to code young won't help them pursue it any further if they aren't interested. No one taught programming in schools years ago but I love it. I became fascinated with the idea that I could make the computer do anything I wanted and there are a lot more like me that did just fine without being taught it in schools. That's how any profession is, really. Pilots don't become pilots because they took an aeronautical engineering class, they do it because when they're little kids they see a plane in the sky and say "wow, I want to fly when I grow up". Same with programming. Somewhere, a kid who never has or will take a mandatory programming course before college is sitting at the computer, browsing Facebook and thinking "wow, I want to make my own websites/games/other software when I grow up".