Estonia To Teach Programming In Schools From Age 6
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."
I can't honestly say I've endorsed a whole heck of a lot of ideas from Estonia, but this is a great idea. I only wish I could travel back in time and encourage my teachers to teach me and my piers programming at age 6. Then I'd probably be able to figure out this compiler error I'm getting right now.
But seriously, I hope that the U.S. adopts a similar program ASAP.
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.
Not only there's no good reason not to, doing otherwise (not teaching) is IMHO a travesty.
To me, personally, not being able to program is akin to being illiterate. Paper, writing instruments and books and other printed matter are widespread, it'd make one look real bad not to be able to use them. Same goes for computers, and I don't qualify using prepackaged software without any ability to script anything being real use.
A successful API design takes a mixture of software design and pedagogy.
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.
Nate
I can see the benefit of using computer programming as a method of teaching kids to approach problem solving and apply these skills in ways that are likely to seem relevant to their generation.
If they think they can raise a generation of super-nerds, good luck with that. Programming isn't hard if you are wired correctly. If you are better suited to other work, learning programming will only ever make you a mediocre programmer who could have been an elite something else (granted, those alternatives aren't always feasible).
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.
The OLPC's, meant for schools, included Scratch (and turtleart and pypy, but for me the the star is that one), so in more countries could had been introducing programming to children for years. It could be a good tool to introduce small childrens to it, as is very visual, almost a toy, but you can dig a lot on it. Not sure in which language or environment will be done in Estonia, but that could be a good approach.
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.
While I agree with the idea you present, I have to say that there is nothing wrong with teaching someone to address a problem step by step. The need to learn how to handle the turtle, before they can understand how to handle exceptions.
Really what they need is work with something like LOGO through 4th grade, basic through 6th, Pascal to 8th, and c++ until they graduate. It should be mandatory for all. Worst case scenario is you have a guy in his garage building a machine that builds a rake to give to the machine he programmed to clean up leaves. It could be worse.
No matter what, LOGO sucks but it is better than having every high school student wishing he wrote Angry Birds (Wheres the TM), while flipping burgers. It cant hurt!
Your logic doesn't work. The reality is that the cost of computing, as a whole, has dropped to the point that a fully capable system can be had for $35, give or take a keyboard/mouse/monitor. At $35 you can give each child their own unit that they can plug in and do whatever they want, rather than a handful of extremely expensive systems shared across the entire school population.
Not terribly. There's a profit margin on that keyboard that the Pi doesn't have.
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.
To want to "bring the manufacturing jobs back" is a lost cause. Programming is the new manufacturing and what Estonia is doing is brilliant. More and more everything in our daily lives is governed by software. Estonia is a small country and choosing this as their national specialty is going to prove monumental to their long-term success.
I am afraid of the unintended consequences - that the kid might be psychologically scarred for life
You really think a child might be 'scarred for life' from being introduced to programming at age 6? Really? That has to be one of the stupidest things I've ever read in my life.
My other UID is three digits.
I taught myself programming in BASIC when I was 8. For me, it was writing neat little games and such. Mostly input to variable, check variable, print something. Later I started dabbling in QBASIC's graphics functions. Sure, I haven't used BASIC in over a decade. However, what I didn't know was that I more-or-less taught myself the basics of logic, algebra, and even some simple geometry. When I got to pre-algebra and algebra in middle school, the biggest hurdle for most students was the idea that letters were numbers. Many kids just couldn't comprehend the idea of a variable much less how to manipulate them. There I was not understanding how anyone couldn't grasp that.
Teaching kids programming shouldn't be about vocational training. It should be an extension of the math program that can ease children into the mindset of dealing with abstract problem solving. Up until middle school (in my case anyway) everything was teaching basic operations (which was either rote memorization of tables or simple algorithms), mixed with some generic life skills like money, reading an analog clock, and units of volume, length, weight, etc. There was no abstract thinking involved or problem solving, just simple calculations. So when students are thrown into actually solving problems, most struggle to adapt to the mind set necessary to do that. Hell, I know many adults that fail at general problem solving. Something like programming can be a good (and fun) way to introduce children to this fundamental kind of problem solving.
Slow Down Cowboy! It's been 1 hour, 47 minutes since you last successfully posted a comment
In this day and age, rudimentary programming ability is as vital a skill as basic arithmetic. Even if you want to work a spreadsheet program, you need to do something pretty close to "programming". Just like not every 6 year old is a future Fields Medalist--or even a professional mathematician, engineer, or scientist--but still needs to be taught arithmetic in order to function, so too he should be taught programming, even though 99% of 6 year olds will not become professional programmers.
Teaching programming to a 6-year-old kid is a little bit too early
You're wrong, everyone develops at different rates. You have ancient repressive ideas of learning. I began learning .BAT (batch) commands to launch my video games more quickly -- some had to have EMM386 loaded, so I made a script to rewrite AUTOEXEC.BAT and reboot (if needed), then launch the game I wanted to play. I was only 6 years old, and had learned boolean logic and program flow. At the age of 8 I taught myself BASIC. I would have LOVED to have a teacher to ask questions. Fortunately BBSs and Libraries existed outside of school, where my real (applied) learning began.
Thanks to my ability to implement ANYTHING from long division to Trig, or even complex numbers, or socio-economic simulations I was always ahead of my class. Once you've written the code to perform basic mathematics using binary coded decimal strings (so I could "show my work" as the teacher demanded), I understood the process more intimately than the teacher herself. Indeed, by merely being exposed to numbers in different bases I could more deeply understand and explain the properties of multiples, squares, roots, etc as they related to the digits themselves than any of my teachers ever could.
I would hear some kids say, "Fuck this, When am I ever going to use this in the real world?!" -- I was able to use my knowledge as soon as I learned it; Thanks to having the ability to program I wanted to learn more, do more. Learning shit is boring if you can't use it immediately. Everyone would benefit from having the capability to script basic tasks and actually use the computers (instead of merely use programs written for them).
Even just teaching kids about binary would help. Why is the Ten's place the Ten's place? For the same Reason that the Two's place is the Two's place in binary -- That's how many numeric representations are there are in that base. When I learned to count I asked my teacher why Ten's place and Hundred's place had multipliers of ten and one hundred, and she could not answer except, "That's just the way it is." -- I was ready to understand numeric bases at the age of four.
The English language is very complex, yet children learn it years before they enter school. Six is too early?! -- You, sir, are a fool.
They would be if Perl was their first language...
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.
And I hear that the Chinese now teach programming in kindergarten.
Maybe we've got to bite the bullet and find a way to teach programming in the womb. It's the only way we can maintain our lead, right? And we can give the child-bearers a refresher course too while we're at it.
Please re-read my post. I said that I support the use of LOGO up to 6th grade. I think that the mental process required to step through a specific procedure is met well by the application. I think it sucks because personally I would have preferred pascal quite a bit earlier. LOGO forces a step by step approach to everything without a consideration for code reuse. I do think that there needs to be an early exposure to thinking that way.
You've actually never used Logo, have you? Logo is Lisp with syntactic sugar. It is a full-featured functional programming language, and to say it doesn't encourage code reuse is just mistaken. When I wrote adventure games in Logo - decades ago - the same Eliza-like natural language parser was used by non-player characters to interpret one anothers' speech actions as was used to interpret command-line input from the user.
I'm old enough to remember when discussions on Slashdot were well informed.
I first did some programming at about 6 years old.
My school (in the UK) had a "floor turtle", a simple robot on wheels that could run a LOGO program (Forward 20, Left 45, Forward 10, etc). We programmed it to run over the lines of the netball court. We didn't use any sensors or anything (I assume it had some) -- I expect older kids did that, but by the time I was older the teacher who knew how to use the software had left. Or maybe the curriculum had changed into "use the word processor", which is what most use of the computer was from when I was about 8 until 18.