Estonia To Teach Programming In Schools From Age 6 307
An anonymous reader writes "With the launch of the Raspberry Pi, computers are becoming affordable again for the younger generations. Now what we need is kids learning about computers in greater detail, including what the hardware is inside the box, and how to create rather than just use software. Estonia looks to be the pace-setter in this regard, and has just announced that it is introducing computer programming learning for all children attending school. By all, I mean from grades 1 through to 12, meaning children as young as 6 will be writing their own code and producing software. The program is called 'ProgeTiiger' and is being introduced by the Estonian Tiger Leap Foundation as a pilot scheme to some Estonian schools this year. Next year the program will expand, adding programming groups for older kids who want to carry on activities outside of the classroom. Eventually it looks as though ProgeTiiger will become just another standard part of the curriculum, just like math and language studies are."
boo (Score:5, Insightful)
Why? (Score:4, Insightful)
Why would one want all kids to know programming? We don't require all kids to know automotive design or repair, nor manufacturing techniques for flat panel displays, nor cellphone antenna design, etc.
Programming uses math? Well some arithmetic, surely, but usually not much else.
Perhaps some sort of a fun introductory course might be good as it might spark interest in programming for some students, though.
Re:boo (Score:5, Insightful)
Computer programming is not such a fundamental area of study that it deserves to be elevated to the level of "math", "reading" and "writing". To a large extent this is a zero sum game. To teach programming in primary school necessarily crowds out something else. History? Foreign language? Music? Some subject other than "computer programming" is getting the shaft.
Hopefully it's religion.
Re:Finally a country that gets it! (Score:5, Insightful)
There's no basis for this statement, unfortunately.
Perhaps we should stop teaching basic math to 6 year olds as well? Math itself is pretty abstract, as it's all numbers and not anything physical. At least with programming they can see the results of their efforts play out before them.
Re:boo (Score:3, Insightful)
Re:Why? (Score:5, Insightful)
That's the root of the issue: that programming is seen in the same light as design and manufacturing, in other words, something that only professionals with years of training should do.
It's not. Most computer users could benefit from having some (very basic) programming knowledge. For example, my dad does software translation, and he doesn't really know much about "proper programming" (I did try, unsuccessfully, to get him to learn Python), but over the years he's worked with a number of scripting languages to automate parts of his job. These days, he tends to use AutoHotkey scripts, but a number of years ago he also used Windows analogs of shell scripting and sed to automate a number of tasks, including munging (ASCII-based) document formats in various ways. He understands the basics (variables, while loops, etc.) and can use them with a simple language to make his life (much) easier.
What could Joe Average Computer User do if he knew a bit about programming? For example, he could write a userscript to fix up a gripe in website that he visits frequently. Or write a batch file or shell script to automate a daily task. Or add some more complex logic to a spreadsheet. Or write a tool to organize his music collection in exactly the way that he wants it. Or write out a long mathematical calculation into a script so that he doesn't have to type it into a calculator over and over.
Keep in mind that the steepest part of the learning curve for an average person is figuring out the initial concepts (and the younger you start, the more likely it is that you'll "get it"). Once you know the basic constructs of computer languages, you can quickly pick up on any special-purpose language. Anyone who knows, say, Javascript (or any half-decent BASIC dialect for that matter) should be able to breeze through the Python tutorial.
Now, say, teaching Software Engineering to everyone would be a silly idea. Most people couldn't care less about MVC, or proper object-oriented design.
Re:Great Idea! (Score:2, Insightful)
I'd stick a serrated knife in my own rectum before I let my child learn to program instead of playing with other kids or learning sports.
Why do you imagine the two are mutually exclusive? I, in fact, started programming at the age of six. My "best friend" at the time would come over and we would program together on my C64. He now works for Google; I'm working on a PhD in Aerospace Engineering. I had other friends who weren't into programming so much, but would still get together for games.
Have you seen kids today? Computers and cell phones are a background part of their lives - like dish washers and microwaves, and I think that is a very good thing. Would you say, "I'd stick a serrated knife in my own rectum before I let my child learn how to use a microwave", would you? There are programs and games out there that are both social and educational. (In fact, participating in open source software can even be both social and educational, although that wouldn't apply to most six-year-olds.) While I don't think they should entirely replace other forms of social interaction or educational instruction, I do think that deliberately withholding that from children will put them at a serious disadvantage. (You should, of course, teach your children how to be safe in an online setting, just as you should teach your child how to be safe "IRL" at a park, etc.)
Re:Why not? Alan Kay might ask (Score:1, Insightful)
A lot of what is wrong with software today is that too many people think that "RIGHT 90, FORWARD 100, LEFT 80" is programming.
Applying a Band-Aid on someone's finger is medicine, too, but if someone stuck a serrated knife up your recturm, I think you'd probably want someone whose training was a lot further along than RIGHT 90, FORWARD 100, LEFT 80.
Real programming begins when the turtle impacts the wall and you have to figure out how to handle it properly.
Re:boo (Score:5, Insightful)
Programming actually teaches more than just programming computers. It teaches you to build structure into your thoughts. I personally think learning foreign language or music or other subjects will in fact benefit from programming basics.
BTW i am Estonian, but did not have such luck - ran into programming in late teens.
Re:Why not? Alan Kay might ask (Score:2, Insightful)
Real programming begins when the turtle impacts the wall and you have to figure out how to handle it properly.
That's right!! If you can't code it out in hand assembled binary, it's not Real and has no real world use! And Punch Cards all the One True Interface, it's the only way to get close enough to the metal!! And everyone who ever started programming based basics is an idiot! That includes you, because I was born knowing how to program! I have a direct neural binary interface, it's an adaptation.
Re:Finally a country that gets it! (Score:2, Insightful)
Woodworking doesn't have nearly the impact on your daily life that computers do.
You act as if that's the sole purpose of teaching programming. Nice myopic thinking there.
Re:Finally a country that gets it! (Score:4, Insightful)
Yes, and this is a bad thing.
And they would be functionally computer illiterate. A bad thing when so much of our lives involves these devices.
Driving is separate from maintenance. Someone who can't drive can't pass the test to get their license. Someone incapable of maintaining their car spends lots of money at the mechanic or ends up destroying it far earlier than it would have otherwise failed.
Do you realize how important that makes programming? In the first world we have literacy rates well above 99% and for good reason. Anything less damages a nation as a whole and makes it unable to maintain a functional economy.
Programming is the new manufacturing... (Score:4, Insightful)
Re:Age 6 is a little bit too early, methinks (Score:4, Insightful)
Re:Age 6 is a little bit too early, methinks (Score:5, Insightful)
The idea that children can be "scarred for life" by learning skills that "they are not ready for yet" seems pretty common in U.S. culture. (Much less so in Europe, and even less in eastern Europe, so I'm not surprised they are doing this first in Estonia.)
The hypothesis is that if you'd teach a child something "too early" then he'd not be very good at it, and therefore feel that he "failed". This would damage his self esteem and "scar him for life".
That hypothesis has been disproven in two ways. First, children don't feel that they "failed" if they don't master a skill immediately. They enjoy the process of learning and getting better, even if it takes a long time. And they compare themselves to what they could do the day before, not to what adults can do. (They also compare themeselves to other kids the same age, and in that respect, learning a skill early is good for self-esteem.)
Second, it is acaually bad for a child when parents try to build his self esteem by only giving him tasks that he can master immediately. The good kind of self esteem comes from knowing that some things take years to master, but you can get there if you work hard.