Programming — Now Starting In Elementary School 162
the agent man writes "The idea of getting kids interested in programming in spite of their common perception of programming to be 'hard and boring' is an ongoing Slashdot discussion. With support of the National Science Foundation, the Scalable Game Design project has explored how to bring computer science education into the curriculum of middle and high schools for some time. The results are overwhelmingly positive, suggesting that game design is highly motivational across gender and ethnicity lines. The project is also finding new ways of tracking programming skills transferring from game design to STEM simulation building. This NPR story highlights an early and unplanned foray into bringing game-design based computer science education even to elementary schools."
Re:What do you mean, "now" starting? (Score:5, Insightful)
Yup. Started BASIC in 3rd grade at public elementary school in Tampa. Fast forward today: I asked my son what they do in his computer class, and he said "we made a song in Garage Band". WTF
Re:What do you mean, "now" starting? (Score:3, Insightful)
I started teaching myself Fortran in 7th grade when I got my Ham Radio license and heard that it was the program of choice for modeling Antennas. Of course, I was not aware of this whole calculus thing, so I couldn't actually write my first antenna modeling program until 8th grade after my dad taught me calculus over the summer.
Math is another subject we seriously need to accelerate. High School just doesn't teach enough Math, even in AP. High school graduates pursuing STEM degrees need to have a firm grasp of Vector Calculus and Differential Equations by the time they get to college. Too many entry level classes are non-calculus based because of this problem, and are therefore a waste of time.
We can do better.
Programming is treated as too "mystical" (Score:5, Insightful)
generalize to problem solving (Score:5, Insightful)
Programming is not special. Programming is the literacy of problem solving.
Facing a required task and then using known tools to construct a method the achieve the required task in logical steps.
There should be less emphasis on "programming" and more on general problem solving. Learning the general method is better than learning the specific method until you need to become as master of the specific method.
Programming can be one aspect of teaching problem solving because programming is very structured. However problem solving skills in general need to raised a lot higher than general grade school level before real programming can be done.
Re:What do you mean, "now" starting? (Score:4, Insightful)
Seriously-- there's no reason we shouldn't be teaching Algebra from the *very beginning*. I mean, come on.. what's the difference between 1 + _ = 2 and 1 + x = 2? You're figuring out the exact same thing!! The only reason I can think that we can't introduce Algebra from the start is that it scares the heck out of the teachers.
Ignoring the Actual Problem (Score:5, Insightful)
The problem isn't that we don't teach them algebra soon enough, it's that we don't teach them how to think (read: at all). It's not that mathematics doesn't teach people how to think, it does. But only in some kind of sneaky way, and people are assumed to have great logical deduction abilities like it's some inherent intuitive concept. But it doesn't work that way.
Unless you attended a rich and large high school, chances are your exposure to any level of logic is nil. Why is it only philosophy majors are the ones forced to take informal logic (and not even very much at that)? The only way you actually get an adequate exposure to formal education in rational thinking is if you're a logician.
But really I'm just deluding myself, who wants a workforce that knows how to think?
Re:A shrinking market (Score:2, Insightful)
Alright, you make some good points, but I'd argue that manufacturing jobs are leaving center stage anyway.
Look around, we build factories that require a tenth of the labor they used to. We build entire shipping centers that are more or less automated. I'm not sure that we really need manufacturing anymore. If anything China is serving as an excellent stop-gap to ease the transition to a much different kind of society.
I mean, when you get down to it, the problem is really that the amount of product per single skilled worker in a modern, automated factory is so large, that there quite frankly isn't a demand for the entire population to be employed. China has cheap labor now, but machines will become cheaper, and at that point the only thing left is engineering.
Re:What do you mean, "now" starting? (Score:5, Insightful)
Re:What do you mean, "now" starting? (Score:5, Insightful)
Logo's better than you think.
It is a scheme like language:
world model --> initial environment
procedure level -> nested environment
turtles --> thread environment
It revolves around a built-in actor model funnily named turtles.
An implementation of a multithreaded logo interpreter is trivial because of that.
If Logo was compiled to byte-code or machine code using a modern compiler it would be a competitive language assumed it had a decent library or the capability to call to other languages transparently.