MIT Media Lab Making Programming Fun For Kids
An anonymous reader passed us a link to an article on the Boston Globe's website, talking up efforts by MIT to make programming a non-threatening part of grade-school education. MIT has developed a new programming language designed to encourage experimentation and play. Called Scratch, the project eschews manuals and high-level concepts in favour of approachability. "Efforts to make computer programming accessible to young people began in the late 1970s with the advent of the personal PC, when another programming language with roots at MIT — Logo — allowed young people to draw shapes by steering a turtle around a screen by typing out commands. But the path to mastering most programming languages has been strewn with obstacles, since students needed to figure out not only the underlying logic but also master a brand new syntax, observe strict rules about semicolons and bracket use, and figure out what was causing error messages even as they learned the program."
I learned Lego Logo as a grade schooler in summer school. Great fun! Definitely one of the things that influenced my youth leading me into a CompSci future.
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
Best way for kids to learn how to program is a simple game.
ROBORALLY!
You "program" your robot with cards from your hand placed in a certain order. A turn proceeds and the cards are executed. If all goes well, you hit waypoints, and blast a few other robots to dust on the way.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
What's intrinsically hellish about computer science?
The problems I see with it are related to the entropy of the human soul. Gets especially painful when the entropy aggregates into organizational behavior.
I, for one, find reading Knuth a delightful escape from Perry Ferrel's observation: "...and the news is just another show / with sex and violence..."
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
Hax-fu?
Efforts to make computer programming accessible to young people began in the late 1970s with the advent of the personal PC, when another programming language with roots at MIT -- Logo -- allowed young people to draw shapes by steering a turtle around a screen by typing out commands.
From what I remember of Logo, few people in the class "got" it. Everyone in CS harps on and on about how great logo is, but most of my classmates in grade-school just laughed when the "turtle" did stupid things, and asked the teacher for help (ie, to fix it for them.)
To say teaching Logo "teaches programming" is akin to saying that having your kid watch you inflate your tires is "teaching car repair."
Please help metamoderate.
What's intrinsically hellish about computer science?
Hellish to non-coders. And I use "coders" there instead of the more generic "geek", because most people with a near-obsessive interest in something can qualify as some form of geek, while very few people can really code well.
You don't just need to know "the" language (sign #1 that coding doesn't suit a person - They want to learn C or Java for a few specific purposes, rather than "how to code" and "how it works" - The language doesn't matter, within reason). You need a particular type of personality (near obsessive). You need a clear mind (I mean that in the Zen way - In my teens I tried "meditating" a few times and always found it frustrating that the guides made no sense, with phrasing like "stop your internal monologue"; I finally realized that while most people apparently can't shut the voices in their head up, I have no internal monologue that needs silencing, and consider that a BIG part of what makes me a decent coder). You need the ability to think really, truly logically. The ability to sit motionless for hours at a time really helps. Finally, and perhaps most importantly, you need to break arbitrarily complex tasks down into atomic actions (which goes along with thinking logically, in the proof-theory sense).
All of those, to most people, sound hellish. Thinking in terms of formal proofs? Quieting your internal voice enough to think over it? Sitting motionless at a computer for so long your SO/family needs to remind you to eat ten hours later? Most people don't want that.
I hate how this topic usually boils down to the stereotypical us-vs-them, "Real coders do/don't"... But sometimes, you just can't escape the facts. Most people can't code, which doesn't state a temporary lack of training but rather an outright permanant inability.
Yeah, Pascal was a stricter language but IMHO the rules were less confusing than those of C++ and Java. The biggest problem that I've had with using Python for teaching young students has been the opposite - what would be a simple error in a statically typed language can become a more subtle error in python, and the error messages that it produces are really quite poor compared to even a C compiler (although not nearly as bad as C++ STL errors :). Because of this the kids I've worked with have a harder time debugging python programs than with other languages. On the other hand the ability to type lines directly into the python console is very useful and encourages learning by experimentation.
What do you do when you think, speak out loud without any thinking ahead of what you're going to say?
;-)
I don't claim that I don't think about things, or even daydream just like everyone else. I just don't do it in English (or any language that ever could exist outside my own head). I can even think in words - You probably gave the best example, when I think about how to phrase something, I do so "in" the language itself; Oddly, although I only speak one natural language (English), I do the same thing when coding - I "think" in an internal voice speaking C, for example.
Let's say you shut your eyes...do you notice anything around you?
Yes, of course - I don't claim myself in a coma.
But "conscious" doesn't mean "words". I meant more than I don't have, hmm, a narrator, I guess? As I mentioned, I found it quite a surprise when I first learned that most people do. As I understand it (second hand of course), most people would internally "say" something about almost all of the major things that pass into their awareness; I don't do that.
I've never talked to anyone who was absent an internal monologue.
Think of the smell of a crayon. Do words suffice to describe it, or did your first burst of thought contain a wave of sensory impressions and memories that include kindergarten, wax, some little girl's hair, pictures on a refridgerator, the sound of an ice-cream truck, and far, far more than that, all in one burst? Just typing that, I tried to touch on a few of the points of what the smell of crayons makes me think about, and found it incredibly restrictive. Imagine always thinking in terms of that initial burst, and you have the idea.