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."
which my kids use. Squeak is based on smalltalk and is a gentle introduction to object oriented programming concepts
why the lucky stiff has started an amazing project called Hackety Hack, in an attempt to solve the Little Coder's Predicament. It's a development platform designed for the younger coders and beginners, with an emphasis on sharing, community, ease-of-use (lots of built-in functionality), and cute cartoon characters. Currently it teaches Ruby in a series of fun lessons, but _why has stated that it might teach other languages in the future. A slick help interface comes bundled, as well as a Ruby cheat-sheet.
Come and join in the public beta testing. The forum is active and the people are nice. And don't forget to share your exciting hacks with the rest of us!
--
Eli
In the late 70's I began thinking about and, by 1986, created a way for people in restaurants to work more efficiently by manipulating graphical symbols on touchscreens. By doing this they could walk far fewer steps, stop having to create guest checks by hand, record all the transactions, largely get their work done without having to talk so much to other employees, and could put your food & beverages on your table much more quickly, and with far fewer errors. Restaurant and bar employees finally had a tool, a graphical language, that helped them do their work more efficiently. You may have seen this system, or one of the many systems copied from it. For the past 12 years it has been possible for people who buy this system to program it solely by the direct manipulation of graphical symbols - using a graphical language to create an even more sophisticated, more specialized graphical language.
Virtually anyone could benefit from having such a system, engineered by the use of graphical symbols to be of specific use to anyone in their specific situation, especially now that the graphical symbols and the language itself consists of network transparent graphical symbols. Graphical programming is all around us, actually, and it will become so predominant that people will soon find it hard to comprehend that it was not always so.
Pygsear is supposed to simplify teaching programming via Python and graphics. It's implemented as a layer on top of PyGame. The author is writing a textbook for a course using it. I haven't used it, so I don't know how effective it is, but it seems to implement the LOGO turtle as well as some sort of retained-mode graphics.
I've been teaching computers for the past 4 years to middle school students in Japan. Here are the programs I use:
:) I use the program Max's HTML Beauty for my HTML / CSS / JavaScript unit. It is also freeware and can be downloaded at http://www.htmlbeauty.com/.
Grade 6: Drape
Grade 7: Gamemaker
Grade 8: Phrogram (formerly KPL)
Grade 9: Javascript
The first two, Drape and Gamemaker, are simple-to-use drag-n-drop programming languages. Drape is no longer freely available, but you can download it, and lesson plans, from my homepage, http://www.christianthompson.com?For_Teachers/.
Gamemaker is freely available (shareware with just a few advanced features crippled). It can be downloaded at http://www.yoyogames.com/gamemaker/
Phrogram is a BASIC-like programming language that has a number of built-in function for doing things like drawing and manipulating sprites, which as we all know is what students really want to do! Strangely, I found that they're not super-keen on converting miles to kilometers! You can download it for free at http://www.phrogram.com/.
If you don't know what JavaScript is, stop reading now, please.
If any teachers out there have any other ideas, would like more information on my curriculum, or wish to collaborate on lessons, please feel free to contact me at christian[at]christianthompson.com.
Cheers,
Christian
An invasion of armies can be resisted, but not an idea whose time has come. - Victor Hugo
My research group at the MIT Media Lab developed Scratch. I just got a chance to read this thread, and thought I'd provide a little background on the project...
Scratch is deeply influenced by Logo, but aims to go beyond it in (at least) three ways:
I'd encourage you to check out the Scratch website to download the software and see what other people are creating with Scratch. There's already a great variety of projects created by the Scratch community, including strategy games http://scratch.mit.edu/projects/bmarcell/1137, science simulations http://scratch.mit.edu/projects/jay/495, paint programs http://scratch.mit.edu/projects/fab_programmer123/ 4645, and animated stories http://scratch.mit.edu/projects/vally/1224. If you have suggestions, please share them on the Forums on the Scratch website. Thanks.