I've taught a few kids using Scratch and it works quite well. I'm happy to hear they're working on an HTML5 version, and hopefully it will be possible to install if offline like the current Adobe AIR version does. I teach with a few netbooks running Ubuntu, and can't always rely on having internet, so I had to install the last version of AIR that supported Linux to get it working.
There is also an unaffiliated app for Android called Pocket Code that is clearly inspired by Scratch. It works nicely on Nexus 7 tablets, and touch screens are clearly more natural for kids, but it is buggy and more limited than Scratch so I had to stop using it. Hopefully it will improve, or the Scratch team will provide their own mobile port (not a simple task, of course).
I played with Scratch for some time with my 9 year old son. They've done an excellent job with it. We ended up using Construct 2, only because they've done an even better job and it releases to HTML 5, is playable on all kinds of devices including iPad.
This (along with the existence of the HTML5 version linked elsewhere in the comments, https://github.com/LLK/scratch-html5 ) is great news! I've always hesitated to point anyone at Scratch due to its non-open license. It's great to see that problem solved.
Scratch is a multimedia authoring tool that can be used by students, scholars, teachers, and parents for a range of educational and entertainment constructivist purposes from math and science projects, including simulations and visualizations of experiments, recording lectures with animated presentations, to social sciences animated stories, and interactive art and music. Simple games may be made with it, as well.
It's unfortunate that Scratch is built upon the Flash platform. Though Scratch has been released under the GPL, it requires nonfree software in order to run. Scratch looks interesting, but I cannot recommend its use until this problem is fixed.
Google's Blockly is similar and available under the Apache License:
"Blockly is a component that may be useful for a variety of projects, including educational tools. We want developers to be able to play with Blockly, give feedback, and think of novel uses for it. All the code is free and open source."
Scratch is really cool - my 6 year old daughter enjoys it a lot even though she doesn't grasp all of it yet. But I think it's a good start in that it starts introducing some of the concepts behind making a computer do things, and making things with computers. She has fun with it too, it's pleasant, which should help develop a positive attitude.
Turtle Art (AKA Turtle Blocks) is another LOGO-derived educational language with aims similar to Scratch.
Turtle Art is free software and its block language seems more powerful and orthogonal. It can be extended with inline Python expressions or by loading Python scripts. I think it's a great way to introduce young children to the basic concepts of programming with a smooth transition to a mainstream language.
While Turtle Art is bundled with the OLPC-derived Sugar learning environment, it also works on a regular Linux desktop.
I teach programming in the classroom using Scratch and just recently started using Hopscotch for younger learners (age 9 and 10). I really dislike many of the changes in the new Hopscotch release. they feel like UX designing run amok, out of touch with the audience of young learners.
The script blocks (the code) that were front and center are now buried behind a few additional taps.
They've replaced buttons clearly labeled with text with icons that are sometimes cryptic even to me (let alone a 9 year old). Would you guess that an icon with an "i" is how you edit your code? I assumed it would just be some kind of read-only display of extended properties, not an editing capability.
And the worst and most subtle change is the de-emphasis of the X/Y Cartesian-esque grid. Before you had clearly labeled X and Y value textboxes and a grid with matching color-coded horizontal and vertical guide-lines to make it easy to understand the grid, and labeled light gridlines every 100 pixels. Now nothing is labeled or shown except while long-tapping to move a sprite's starting position. Anything that ties into math curriculum is a win (Cartesian coordinates, ordered pairs), and they took much of that goodness away in favor of a more "streamlined" UX.
I do like that they fixed the problem of moving large chunks of script blocks inside of the repeat loops though.
My daughter is a bit too young still so i haven't tried it with any actual kids yet, except myself. I liked the cleaner visual style but it might indeed be less clear now..
I saw somewhere that (now their) App Inventor makes for 13 percent of language use for education purposes, while Python is at 14 percent. They must be doing something right.
This is great. I use it for prototyping app ideas, and it works good so far. Only thing I've found to miss for my particular prototype is a "wait" function, but there's ways to build a little procedure for that.
(Also I submitted AppInventor to HN a while ago [1], but it didn't get any attention. Bad timing maybe? Either way, I think it's excellent in it's simplicity)
ISTR Scratch being available as a standalone executable, and then changing into a web app. The standalone tool made it easy to let my kid play around with while not having the whole internet there to distract him. Is the standalone app still available?
Interesting project! Just a note--I got to step 3 of 13 on the Scratch tutorial and the language switched to Dutch or something ("3 Dansen maar
Voeg een nieuw NEEM STAPPEN-blok toe. Klik in het blok en typ een min-teken.")
Scratch is great for making animated comics. It appeals to girls as well as boys. I taught kids from 6 to 12 years last year. Kids older than that got bored with it. Highly recommended.
I'm 16, and I still use Scratch from time to time. It is well suited to creating simple 2D games, although it is not efficient enough for anything particulary complex.
Agreed - I think you can get a lot of kids who might otherwise be turned off the idea of 'programming' by promoting Scratch classes as 'animation' classes.
My son's elementary school held a series of scratch programming classes; the turnout was over 90% male. That seems like a shame to me.
We love and use Scratch a lot at Coding Goûter events. Recently we also started to use the HTML-based SNAP![1] that also has the advantage to let older kids create their own custom blocks (functions). It's open source, and seems to be evolving fast. (It started as a clone of scratch, but might diverge in the future if I understand the conversations right)
[1]http://snap.berkeley.edu/
I absolutely love Scratch. I get my six year old daughter to make all of the artwork and sound effects and I end up doing all the code. I've been really looking forward to Scratch Jr, just to see if she can do more of the coding.
One thing I'd love to see is an atan2 function in the math routines. Right now if you want to do anything a little bit tricky you end up having to implement your own.
I do the same thing with my 6 year old daughter. She feels like a game designer and comes up with super crazy game ideas. Shark Salon? Sure! Let's do it!
Ah, Scratch. This is how I got started with programming (pretty late, my senior year in high school). I made a game[0] where you try and knock another player or a dumb AI off a disk.
Instead of using your media center pc could you get him a Raspberry Pi? I bought my nephew an RPi so he could use Scratch and have a computer of his own. The only challenge I had was figuring out an easy way to introduce him to Minecraft Pi edition.
To enable support, shift + click "More Blocks" and the "Add an Extension" button will appear. From there you can select the LEGO WeDo extension. [1]
If your kids are into robotics, you may also be interested in MOSS - a modular robotic construction kit [2]. MOSS also supports Scratch programming, and in fact we are releasing our extension to the public this week (I'm the lead programmer on the project.), which we'll be announcing very soon.
We've been experimenting with Scratch in classrooms here in Boulder, CO, and we're amazed at how fast kids pick up programming concepts with Scratch!
Well, I originally asked this question because awhile back the Scratch WeDo site said they didn't have support for 2.0 yet, but I just looked here [1] and found this:
> In Scratch 2.0, you can add a LEGO WeDo extension within the "More Blocks" category. Click "Add an Extension" and choose "LEGO WeDo."
There is also an unaffiliated app for Android called Pocket Code that is clearly inspired by Scratch. It works nicely on Nexus 7 tablets, and touch screens are clearly more natural for kids, but it is buggy and more limited than Scratch so I had to stop using it. Hopefully it will improve, or the Scratch team will provide their own mobile port (not a simple task, of course).