Discover the best of the web!
Learn more about Digg by taking the tour.
Scratch - A New Programming Language to Introduce Kids to Coding
news.bbc.co.uk — "Computer programming has been traditionally seen as something that is beyond most people," said Professor Mitchel Resnick, of MIT. "We have developed Scratch as a new type of programming language, which is much more accessible." Primarily aimed at children, Scratch does not require prior knowledge of complex computer languages.
- 1756 diggs
- digg it
- masterofNone, on 10/11/2007, -29/+16or, y'know, to introduce coding to kids. one of those.
- orelses, on 10/11/2007, -2/+43Port this with AJAX so I can be a desired web designer again.
- masterofNone, on 10/11/2007, -1/+104maybe you learned C++ because you learned logo and basic. they were well documented gateway drugs to code addiction.
(i started with basic on a commodore 64.) - orelses, on 10/11/2007, -27/+6Following up my last post with a serious question, What is the best gateway to get into java for an AJAX environment? Most material I read about AJAX assumes you know java, etc.. But are there any good materials online that introduce the differnet elements of AJAX from square one? It just seems there are a lot of different directions you could go with java that don't relate to the needs of an AJAX like site.
- Robotsu, on 10/11/2007, -1/+18@orelses, who said, "Port this with AJAX so I can be a desired web designer again."
This would actually be an amazing web development tool. Combine those editable/dragable blocks with a WYSIWYG editor style interface and you would have one slick program to pump out interactive pages. - orelses, on 10/11/2007, -12/+2Adobe needs to get on that... Visual Programing for Designers...
- smspence, on 10/11/2007, -2/+30orelses,
Java and JavaScript are two different things. You want JavaScript. Just google it. There are millions of tutorials out there that can jump start you on JavaScript and AJAX, and are made for people who have no prior experience whatsoever. Again, do some google searching. Also w3schools.com is a good resource. Try these two links:
http://www.w3schools.com/js/default.asp
http://www.w3schools.com/ajax/default.asp - ThndrShk2k, on 10/11/2007, -8/+1"@orelses, who said, "Port this with AJAX so I can be a desired web designer again."
This would actually be an amazing web development tool. Combine those editable/dragable blocks with a WYSIWYG editor style interface and you would have one slick program to pump out interactive pages."
Hooray for new GeoCities tools. Been too long since an update - ddrace, on 10/11/2007, -3/+9@orelses-
You're confusing Java with Javascript. They're two totally different things. (The J in AJAX stands for Javascript, not Java). If you want to get started learning Javascript, I would recommend this: http://www.w3schools.com/js/ - Charlotte_Web, on 10/11/2007, -2/+10This is pretty exciting. I don't think schools don't teach much coding anymore, aside from maybe HTML, which is a shame. I think the conventional wisdom these days is to minimize the amount of time that kids spend on computers, it's become something akin to TV watching in people's minds.
I started off learning AppleSoft BASIC, back when every Apple system came with a BASIC interpreter. It was a big disappointment when the Mac didn't follow suit, but a few years later they came out with Hypercard, an awesome tool that never got a chance to realize its full potential. If Apple had popped in TCP/IP support in the early to mid-90's, added color support, and made the tool cross-platform, Hypercard might have beaten out Flash to become the predominant multimedia browser plug-in.
I remember when I was in college and taking some language classes, I built a stack that would quiz me on hundreds of vocabulary words as well as pronounce each one using the Mac Speech system file. Not bad for a Mac Classic in the early 90's. - orelses, on 10/11/2007, -8/+0Anyone know of an ASP equal to prado php framework for AJAX? (i'm sometimes stuck using non-php servers)
- MioTheGreat, on 10/11/2007, -0/+14@orelses
Do you mean ASP.NET? If so, there is an AJAX.NET library from Microsoft.
Otherwise, what the ***** are you doing programming in old school ASP? - AegisGFX, on 10/11/2007, -5/+25This is programming in the same way paint by numbers is art.
- Charlotte_Web, on 10/11/2007, -2/+41"This is programming in the same way paint by numbers is art."
You're right, it's not true programming, but it teaches programming concepts (like object-oriented coding) and helps kids to think in terms of a logical sequence of events and conditionals as they develop their own animation. It also helps them to explore programming to see if this is something that might interest them as a hobby or career choice that they can pursue further.
In a lot of ways, computer software for kids has stagnated. Ten or twenty years ago, software companies took a lot more chances with educational titles. Carmen Sandiego and SimCity were the last big breakout hits of the educational market, and those are pretty old now. Most of what passes for educational software these days seems very formulaic. - Fordi, on 10/11/2007, -5/+4@orelses:
Do what my client does: contract out a web developer and charge his hours to your clients as an expense.
My e-mail address is fordiman.at.gmail.dot.com ^_^.
On the story topic: Why aren't they just teaching these kids Ruby? I don't use it much (most of my clients request PHP), but it's one of those things that kinda knows what you *wanted* to do - something most languages nerf pretty badly. - OverloadUT, on 10/11/2007, -1/+11I think it's hardly fair to call this a programming language. I guess it is in a sense, but you can't make anything besides animations from the sound of it.
There was an old program I had when I was really young called "Klik & Play" - it was a fantastic way to get introduced to programming. It was very visual like Scratch is, but the whole thing was centered around making interactive games instead of barely interactive animations. At one point I even made a (barely functional) Bomberman clone in Klick & Play.
http://en.wikipedia.org/wiki/Klik_&_Play - maninalift, on 10/11/2007, -0/+7I learned to program writing BASIC on a spectrum 64k with no tape drive. I couldn't save my programs so I just had to write them execute them then throw them away. It was a lesson in the impermanence of the everything (I'm thinking, like sand paintings). To add to the difficulty, if anyone came into my room without warning the door would pull the power cable out and I would lose everything.
- Fordi, on 10/11/2007, -6/+1@orelses (topic: java):
The best way to get into Java for an AJAX model is avoidance.
Ok, so that's pretty harsh.
You don't really need a *specific* language for it. Just design an interface between te client-side and the server-side for remote procedure calls. It doesn't need to be XML - nor does it even need to use XMLHttpRequest.
My stuff uses a javascript implementation of PHP's serialize() to send data in POST, and PHP returns JSON-encoded data (Using a native unserializer almost always works best - it's the parsing of a serialized object that takes process time, not the assembly. If you pass all data in the target's language, you end up with much shorter request times). I have a single PHP RPC 'server' located in /rpc of a given server. It isn't capable of anything a normal page the user would see isn't, but it allows the user to seamlessley do things to his account.
My frameworks are kinda insane - the user has a 'State' object that's embedded in MySQL, and is passed selectively back and forth to keep it up-to-date on both sides. The State object also has 'protected' and 'private' memebrs that mean much what they sound like: protected means the client can see but not change, private means the server *never* passes the information along (a password hash, for example).
Anyways, most of this is relatively easy to implement in any language. Java has a very good native-code JSON serializer, so you can implement things in a single object language if you want.
But I still say avoid server-side Java (and ASP. It works but the code you'll generate is ginormous). It's not really made for it, you know? Perl, PHP, Python, Ruby, even JScript - they're all very good. If the client wants Java, use Java, but if you've got a choice... - masamunecyrus, on 10/11/2007, -3/+1Children are at least as capable as adults in just abut everything save from physical strength; they learn faster than adults and retain more. I learnt about everything I know about computers when I was a 'child' of about 11.
- jun2san, on 10/11/2007, -0/+2The end of the video was a little akward. It seems like he was sitting there waiting for the director to say "CUT!"
- rcronk, on 10/11/2007, -3/+3Not too bad, but it does encourage terrible programming habits like "copy/paste" and "hack it together without any up front design". Of course, I learned in BASIC 30 years ago and that encouraged spaghetti code hacking too. Structured basic was a step in the right direction, but it would be cool if someone could come up with a beginner language that encouraged good coding practices.
- mikesbaker, on 10/11/2007, -0/+2this reminds me of the line drawing turtles of old. that also taught the basics of coding in the same with this thing does. this is just a lot more complex.
- smspence, on 10/11/2007, -0/+7Fordi,
You are an idiot. orelses is obviously not going to know what the hell you are talking about. But, I hope you are really impressed with your own lengthy, technical comment... because no one else is. - xShad0w, on 10/11/2007, -0/+1That's just like flash, and it doesn't matter at all about the language, the logic is the real problem, someone can sit with the directory of syntax in front of them but if they dont have any idea about where to put the code then they shouldn't be coding, so it doesn't matter at all about the syntax being easier, in my opinion flash cs3 is the best thing for kids to learn from since its very easy and there are plenty of tutorials online, thats what i started out with, now i know DX9 C# at age of 14
- Drexus, on 10/11/2007, -0/+1I see legal trouble ahead. The whole model of programming was already done by mTropolis. m-Tunes would allow any object to inherit the abilities of the stick-on properties such as mouse movement, colour and sound events. Variations are shown as behaviours. Quark bought mTropolis and like everything they acquire, killed it with it's famous touch. I wonder if Quark sold the intellectual property rights to these people.
- Angostura, on 10/11/2007, -0/+3If you are looking for Logo, there is an excellent freeware version available for the Mac from http://www.alancsmith.co.uk/. I highly recommend it, it was last updated last month.
- JAVandiver, on 10/11/2007, -4/+1@mikesbaker
You know that I was better at LOGOS than you! - JAVandiver, on 10/11/2007, -5/+1@mikesbaker
You know that I was better at LOGOS than you! - ElectricGrandpa, on 10/11/2007, -0/+2"There was an old program I had when I was really young called "Klik & Play" - it was a fantastic way to get introduced to programming. It was very visual like Scratch is, but the whole thing was centered around making interactive games instead of barely interactive animations. At one point I even made a (barely functional) Bomberman clone in Klick & Play."
I've just played with Scratch for the past 15 minutes, and as a former Klick & Play user(when I was a kid), I can tell you that's it's very similar in a lot of ways. Scratch isn't nearly as limited as they make it seem in the video, you can actually make some really cool stuff in it, it's got enough math and conditional stuff in it to make it more than just a simple animation builder. It's actually very impressive and fun to play with(and this is coming from an AS3 developer). - verifex, on 10/11/2007, -0/+1This is great news, I was introduced to programming at a young age by this:
http://en.wikipedia.org/wiki/ZZT-oop
Although scratch is only concerned with animation, it is still a vital tool, and can be used by kids much younger who only need to know how to use the mouse, from what it looks like. For junior high to high school level kids, there is this:
http://phrogram.com/
That introduces some more complex mathematical logic that is part of programming, and it is very extensible. - PURDooM, on 10/11/2007, -0/+1@Fordi - Letting a browser submit whatever it wants as a serialized PHP object is just asking for exploits when I start submitting objects with destructors and such.
- Cappez, on 10/11/2007, -0/+1For anyone who remember Logo...the successor is called StarLogo - it is similar but you can run as many turtles at the same time, so you can simulate for example how ants go about finding food. It's not that exciting though. http://education.mit.edu/starlogo/
Klik & Play was a disappointment for me when I couldn't even recreate Pacman due to some limitations of the program (like making enemies follow you, couldn't make that work)...I actually made my first game in Logo and its amazing you could actually make a game with such a simple programming language so kudus to Logo!
As for Scratch its fun to play with and intuitive to grasp. The next step for me in the kids programming world would be Flash - I know of some young teens who can make kick-ass games with Flash and as far as I know Flash / actionscript is easier than any other programming language for creating things like games and animations. - Cappez, on 10/11/2007, -0/+1http://en.wikipedia.org/wiki/StarLogo
- BruceBogtrotter, on 10/11/2007, -0/+1Phrogram is good for learning how to program basic games.
heres the link if anyone is interested
http://phrogram.com/Default.aspx - tdyer, on 10/11/2007, -0/+1sounds like labview...which i believe is used in the lego stuff, which the article says this guy made.
so at best it is a rename of an existing languange....i say boooo. - Fordi, on 10/11/2007, -0/+1@Purdoom:
That would be a problem if I didn't reject any object that wasn't a stdClass.
- JhAgA, on 10/11/2007, -10/+52It is kinda old - Windows is made with it.
- scottschiller, on 10/11/2007, -3/+3"It is kinda old - Windows is made with it."
You're forgetting Windows NT, specifically, was "Neanderthal Technology."
("First, me invent wheel. Then, me build server.")
- scottschiller, on 10/11/2007, -3/+3"It is kinda old - Windows is made with it."
- burdalane, on 10/11/2007, -3/+18This sounds like a good way to introduce kids to programming. I wouldn't mind giving it a go myself.
- forrrge, on 10/11/2007, -3/+3Agree, when I read the story, I was thinking what I could be using it for :)
- AJH16, on 10/11/2007, -7/+2I'm sorry, I still don't see the problem with learning with BASIC. It worked great for me. Also, this isn't new at all. Lego has had an almost identical (and better organized) development system for their MindStorm robotics kit for the past 7 years or so. This is not new at all. It isn't innovative, and while it might let kids have some fun and learn about following directions, it really doesn't teach anything useful about programming.
- n00bish, on 10/11/2007, -4/+5I don't see how this is actually an introduction to programming for kids. To me this looks like a neat tool, yes, but at the same time do we want our kids thinking programming is just "drag some blocks and go!"? Sure, it works great while they're young, but would you want your kids to think programming is dragging colored blocks around as in "Swordfish"? Unless it comes with some sort of scripting interface for making or editing these "blocks", I don't see any natural progression towards real programming.
It's a neat concept, but to me it really looks like another professor's toy to put on his resume, and I don't think the goal they have in mind is what is going to be met. - DreKor, on 10/11/2007, -0/+1Wouldn't the natural progression be into any object oriented language? I mean, you have really big blocks than can have smaller blocks attached to them. These smaller blocks can only be fit into bigger blocks of an appropriate type. Really, this is an incredible model for kids to learn on.
- ezweave, on 10/11/2007, -1/+1@drekor:
There are no silver bullets... but how on earth is that object oriented? Because they are physical objects does not mean they fit into the OO paradigm: encapsulation, abstraction, polymorphism, inheritance, etc.
This is not the first "visual" language. There were other examples of "kids" programming languages (who remembers "Tank Wars"?). It doesn't really start to seem like programming until you make the transition from BASIC to C.
Of course, you can only do so much in these languages... if you really are interested in visual programming there is a whole list of them on Wikipedia: http://en.wikipedia.org/wiki/Visual_programming_language but the use of these is extremely limited in production software development and/or computer science. They are for kids for a reason.
I think kids would be better served by starting in Smalltalk and maybe even LISP (think differently from an early age). - ezweave, on 10/11/2007, -0/+3I should add that OO-ness is not a goal of the designers... instead they want to get kids to think algorithmically without having to learn a complex programming language. http://web.media.mit.edu/%7Emres/papers/scratch-proposal.pdf
- jldugger, on 10/11/2007, -0/+1I actually just tried it out on Ubuntu. (Just download the Windows install, install squeak separately, and then run squeak on Scratch.image. The license is pretty liberal, so I might cook up a .deb later on).
There's actually a LOT of interesting aspects to it that are relevant to programming. The video only highlights the parts that are immediately accessible to to random Joe watching BBC, but there's variables, all the standard control flow, arithmetic operations. Message passing operations! External sensors! There's almost as much to Scratch as you want, basically. To me, it helps highlight the structure of programs in a way more immediately obvious than mere Python whitespacing. It helps demonstrate where the beginning of code execution in a program is without having to explain "char** envp," or "public static void main()". The structures are somewhat limiting, but on the other hand it provides a lot of things I wish I had when I was learning Java.
I have no doubt that when used in an elementary educational setting, teachers will neglect all these things and students will get what most people got out of that video. Programming is dancing cats. We know that's not what most programming is about, but on the other hand novice programmers shouldn't be crying oneself to sleep over recursion or pointers. Unfortunately, implementing functions and recursion isn't straightforward in Scratch. I imagine you could try some broadcast techniques, but it would get ugly in a hurry. The good news is the license is pretty liberal, allowing for duplication copying, modification, sharing, selling, sublicencing, etc, as long as the copyright notice remains. - tony23, on 10/11/2007, -1/+1Regarding BASIC - My 5-year-old son is currently learning BASIC. Worked fine for me & most other programmers I know, seems to be working fine for him, too
- redware, on 10/11/2007, -0/+0Scratch is great. I have had no problems getting my six year old son and seven year old niece starting to program. Hopefully they will mature into writing games with scratch instead of just playing other people's games. I have posted tutorials for parents and teachers at http://www.redware.com/scratch/. Enjoy teaching your kids...
- kevyn, on 10/11/2007, -0/+23http://scratch.mit.edu/
link to the scratch homepage- korneelwever, on 10/11/2007, -0/+1It can't handle the attention i guess?
http://66.102.9.104/search?q=cache:9Clq3I-Y5goJ:scratch.mit.edu/+mit+scratch&hl=en&ct=clnk&cd=1 - humpy, on 10/11/2007, -0/+2am i the only one laughing hysterically at the introduction video?
- korneelwever, on 10/11/2007, -0/+1It can't handle the attention i guess?
- amonroy, on 10/11/2007, -0/+22We are getting so much traffic from the BBC report that our server is crashing. You can check our old website here: http://weblogs.media.mit.edu/llk/scratch/
We also have a video on YouTube http://youtube.com/watch?v=ix6Hlt8xL3E- richudell, on 10/11/2007, -0/+1Is there an alternate download link?
- amonroy, on 10/11/2007, -0/+5Alternate download: http://web.media.mit.edu/~andresmh/tmp/
- amonroy, on 10/11/2007, -0/+5We are getting slashdotted and digged at the same time. I put up a static page on http://scratch.mit.edu/ that should be working now. There are links there for downloads, documents and other things. Feel free to download and try the website later.
- DarkPrince11, on 10/11/2007, -0/+4Hmm....seems reasonable...I myself started off with BASIC when I was 9 years old..this seems like well a more basic version of BASIC...
- elclipo, on 10/11/2007, -0/+3Same here. I started with BASIC back in the day. This seems interesting. My son would get a kick out of it.
- junkyinny, on 10/11/2007, -1/+13doesnt anyone remember LOGO? http://en.wikipedia.org/wiki/Logo_programming_language
- Recyclable, on 10/11/2007, -0/+2I started with logo too :)
- insovietrussia, on 10/11/2007, -0/+5Damn that stupid turtle. I said go in a spiral!
- evilregis, on 10/11/2007, -0/+1For those who want to take control of that damned turtle again: http://fmslogo.sourceforge.net/
- edtruckell, on 10/11/2007, -0/+3i thought that was the idea behind LOGO, to teach the concepts to enable you to grasp BASIC.
- ArmchairAthlete, on 10/11/2007, -0/+3Maybe it'll work better than smalltalk did with Alan Kay but I doubt it.
- brocej, on 10/11/2007, -16/+1Come on people. Do we really want to teach our kids to become nerds? I feel repressed enough having to compulsively check digg every five minutes. Children have enough problems as it is without there parents steering them down the path to geekdom. How about we teach them about girls instead.
- bjweeks, on 10/11/2007, -1/+10"How about we teach them about girls instead."
2.5 million years of evolution did that. - TheCheeta, on 10/11/2007, -0/+11Funny you ask that, because most geeks/nerds that were made fun of in school are earning well over the current average salary of their classmates. In addition, many of the "socially awkward" former kids are no longer awkward and have become socially adept. So, it might suck for the kid for a few years of school, but it definitely pays off in the end.
- Pushkin, on 10/11/2007, -0/+13Also to teach your kid to be a nerd means you had enough social skills to aquire a kid - so what's the problem?
- Fordi, on 10/11/2007, -1/+11Because I'm a damned good programmer, will very soon be married to a very pretty girl, and make about twice the national average yearly doing *freelance* work - I.E. I have most of my life free to spend that money and love that girl.
Teach a boy to pimp, and he'll be happy for his adolescence. Teach a boy to geek, and he'll be hapy for the other part of his life. - UKsHaDoW, on 10/11/2007, -0/+1Money = power = Girls my friend.
I mean look at bill gates, nice girl, nice house and a nice car, then gets caught speeding. Reckless ***** that one.
Pretty much everything you probably want. - Fordi, on 10/11/2007, -0/+1My non-geek friend Ed says the following:
"Geeks. Get. Poussy.... Punanny *laughs*. Becauuuuse they gots the money.
Who wouldn't wanna ***** a smart dude who spend a lot time on 'em, *and* got money? C'mon.
I'm trying to find a girl who's a trekkie. 'Cos she got pussy. And money. And she'll spend some time on me.
I'd ***** her, AND her klingon friends."
- bjweeks, on 10/11/2007, -1/+10"How about we teach them about girls instead."
- gmweezel, on 10/11/2007, -6/+2What's BASIC for?
- josephlucas, on 10/11/2007, -1/+1Google is your friend.
... and so it Wikipedia: http://en.wikipedia.org/wiki/BASIC - PURDooM, on 10/11/2007, -0/+1Basic is an old and mature programming language which is very forgiving in syntax and very easy to read. The latest evolution of Basic is Visual Basic.NET, which provides a dead simple way to make fully functioning Windows Applications with a WYSIWIG GUI.
- josephlucas, on 10/11/2007, -1/+1Google is your friend.
- cdtoad, on 10/11/2007, -0/+11I learned COBOL using punch cards when I was a kid... you young whipper snappers don't know what it was like in the good old days.
- dlbear, on 10/11/2007, -0/+5Yeah, I had to walk uphill in the snow both ways to get the printout from my COBOL lab. I still have some Hollerith cards I use for bookmarks.
- sadatoni, on 10/11/2007, -0/+2That right. COBOL, FORTRAN, RPG (anyone remember that one?) though not on the 96 column punch card, just the 5081 card, BAL... Wasn't it fun when you dropped the deck?
- f0ad, on 10/11/2007, -1/+2RPG isn't a dead language. I know it's still used on AS/400s. I believe they are up to version 4, maybe even beyond that.
- McLurker, on 10/11/2007, -0/+3I don't know to what extend this will introduce kids to coding. It's a way to make programs, but it doesn't seem to involve writing any code. It seems to be a way to introduce kids to using scratch.
- Fordi, on 10/11/2007, -0/+1They should be teaching Ruby. It teaches the appropritate method of coding (text) while giving them complete flexibility with their variables.
- johnhummel, on 10/11/2007, -0/+16You know what I'd like to get my kids?
A Big Trac.
Most of you probably don't remember it, but Big Trac was this little tank with a number input. Using that, you could tell it "Forward X, rotate Y degrees, fire laser Z times", etc. I had that thing figured out with a routine that would take it down the hallway, shoot my Grandpa 10 times, then come back, accounting for the carpet (so you had to tell it "turn 62 degrees" to get a 45 degree turn, things like this.
It taught basic programming of an algorithm and sequence of instructions in its own little way, and if nothing else, it was a fun idea. I wonder if I can find one of those anywhere. Yeah, I know, there are the Lego Mindstorms and I'll get them when the kids are older (8, 5, and 2 right now), so Mindstorms might be a little beyond them, though I guess I should check that out as well.- edtruckell, on 10/11/2007, -0/+1building one wouldnt be too hard surely? could do it with a PIC.
- swaxhog, on 10/11/2007, -0/+1I remember the Big Trac. It sucked batteries like there was no tomorrow.
- mucko, on 10/11/2007, -0/+1Big Trac was by far my favorite toy. I still have mine but can't seem to get it to work.
- shotgunefx, on 10/11/2007, -0/+2I loved Big Trak!
The add-on cart was a bit of a disappointment, they'd show it off to the kitchen and come back with an apple. Was a bit of a disappointment.
As an aside, don't think from the description, this is a great way too teach programming. A little too abstracted. - rcronk, on 10/11/2007, -0/+1BIG TRAK! Holy cow - I forgot that thing even existed! I think my parents vanished mine after a few weeks of annoying beeping, moving, turning, and laser firing. Wow. Memories! Hopy crap - I just found the link below - remember the thing had a trailer thing that you could tell it to empty? Oh my gosh - I'm a total geek!
http://www.bugeyedmonster.com/toys/bigtrak - CeeJayDK, on 10/11/2007, -0/+2I had a R2D2-like robot when I was a kid that could do that .. I don't remember what it was called.
Don't worry about your kids age .. Buy a Mindstorms set now and by the time they are old enough, you might be done playing with it yourself ;-)
BTW , programming a mindstorm NXT is a LOT like Scratch .. so much so that I wonder if they stole the idea from LEGO.
I built a mindstorms robot at work last month that could shoot a volley of rubberbands - Used it to shoot a coworker and she jumped up high and screamed from the shock .. it was awesome. ;-) - smackifilia, on 10/11/2007, -0/+2HELL YEAH!!! I had that R2D2 thing too! Well, my older brother did, which meant me trying to steal it and play with it as much as possible.
- srouquette, on 10/11/2007, -1/+1(@GMWeezel: Basic is a language, like Visual Basic commonly known as VB script)
I started with GW Basic, then did Pascal, then C.
what about Python to start coding ?- Pushkin, on 10/11/2007, -0/+2Python for kids: http://rur-ple.sourceforge.net/
- ipodman, on 10/11/2007, -1/+2
Neat, I was wondering what happened to Amigavision.- edtruckell, on 10/11/2007, -0/+1was that the visual ARexx scripting thing? a bit multimedia like Scala but with the ARexx port available?
- switz1873, on 10/11/2007, -0/+1Awesome concept - allowing kids to get involved with coding and programming early. Very cool.
- fallscrape, on 10/11/2007, -0/+1From the article (and good for kids? I'll let you be the judge) http://hacketyhack.net/
- cds879, on 10/11/2007, -0/+2This reminds me of Klik & Play.
http://en.wikipedia.org/wiki/Klik_%26_Play
Was used to create really basic games easily.- foolonthehill, on 10/11/2007, -0/+1Yeah, I remember Klik & Play. It seems a lot more versatile than 'Scratch' and taught a number of important programming principles. Not nearly as solid an introduction as BASIC, of course, but ideal for younger children IMO.
- bryan986, on 10/11/2007, -0/+2Reminds me of the LEGO Mindstorms RCX Code...
http://mindstorms.lego.com/eng/products/ris/rissoft.asp - ElectricGrandpa, on 10/11/2007, -0/+2"Reminds me of the LEGO Mindstorms RCX Code..."
It's made by the same guy... This scratch is actually reasonably powerful, at least more so than they make it seem in the video. I just played around with it for the past 15 minutes and had a blast. - amonroy, on 10/11/2007, -0/+1@bryan986:
Indeed, there is a connection between Logo, LEGO Mindstorms, Scratch and Squeak. Members of the Scratch team have been involved in those other projects as well as the OLPC and PicoCricket. To learn more go to http://llk.media.mit.edu
- ItsDrew, on 10/11/2007, -1/+8Isn't this violating 632 Microsoft patents?
Microsoft should buy them out and integrate these features into the next Visual Studio release.- m3t00, on 10/11/2007, -0/+1They will be applying for this one too. Here is another example of "innovation": http://builder.com.com/2100-6370_14-6154295.html
- puerrom, on 10/11/2007, -0/+0I hate articles that don't link to what they are talking about....
- greatkingrat85, on 10/11/2007, -0/+2Yeah, except the BBC one does.
- puerrom, on 10/11/2007, -0/+1Ooops i thought that the area on the right is only spam..... i was wrong...
So i like it more when the reference-Links are directly in the article. So if you write about scratch then the word scratch should be a link to the scratch site, at least the first time the word appears... - spikespeigel42, on 10/11/2007, -0/+1Wikipedia junky much?
Really though, you do have a point, i don't want to scroll all the way down a page to find something that should be intuitive.
- NGliam, on 10/11/2007, -0/+3I started 'programming' by learning ActionScript, which is the built in scripting language for Macromedia (and now Adobe) Flash. That isn't a programming language per se, but that led me to start learning HTML, JS & PHP and then also C++ and Java. ActionScript is really easy and fun, but the package is a bit costly - educational versions ftw ;P
I've seen a programming language called Kids Programming Language which was designed to help kids make games and stuff, so I tried it out and it's really stupid. I expect this to be the same, but I'm not the target audience so I guess I can't comment on it sufficiently.- TheCheeta, on 10/11/2007, -0/+2I think that a little emphasis needs to be put on the intended audience for Scratch... kids. Like... little kids. No kid is going to be able to grasp the complexities of Flash and Actionscript. Actionscript may be a good intro for someone in their early teens, but for someone around 6 to 9, not likely.
I started programming BASIC when I was 8, when there were no cool visual interfaces other than a bunch of text on a screen. VIC-20, baby! Anyway... glad to see they are still thinking of the kiddos, because otherwise, there really isn't TOO much out there for the little ones to start messing with. - keviniskool, on 10/11/2007, -0/+1I'm 13 and I still can't grasp the complexities of any programming language...
- TheCheeta, on 10/11/2007, -0/+2I think that a little emphasis needs to be put on the intended audience for Scratch... kids. Like... little kids. No kid is going to be able to grasp the complexities of Flash and Actionscript. Actionscript may be a good intro for someone in their early teens, but for someone around 6 to 9, not likely.
- imightbewrong, on 10/11/2007, -0/+4like scratch from cowboy bebop?
- firewars, on 10/11/2007, -5/+2That was horrible (the video that is). And it's not a "programming language" either.
- troublemaker, on 10/11/2007, -2/+1yeah, it's not a "language" but a set of events.
- troublemaker, on 10/11/2007, -0/+2@idioticBug:
He said programming *language*.
(Hint: Google for "define:programming language") - daveking, on 10/11/2007, -1/+0Well I'm not so sure if this kind of thing is really good. On the one hand, it may introduce more people to computer science, which is good. But on the other hand, it may give them a false sense of what it really is. I know way too many freshman computer science students that came in thinking they were just going to play games or write web pages. When we started doing actual programming, with data structures, and algorithms, and some of the associated math, they ran for the hills (in particular, the hill that the business building is on). This language might be okay for a very first introduction, but kids should not think of this as "programming", because it's not. And really, it's quite limited in what it will allow you to do. While it might make it easy to write games, try writing a compiler in it...
- jldugger, on 10/11/2007, -0/+0I'm pretty sure you can define a BNF for scratch objects. If you pay close attention, they have different shapes for different data types, including flow control. Comparisons have light green angles to them, numbers are boxy (i forgot what color they were). It might surprise you to discover that Lab View, a similar GUI oriented programming system, has an optional textual langauge behind it. One very neat aspect of this GUI system is that you don't need to define precedence -- the programmer is explicitly constructing the parse tree.
- Billkamm, on 10/11/2007, -0/+3CMU tried something like this called Alice (drag and drop programming). There have been all sorts of "easy" programming languages out there, but in my opinion isn't that what BASIC was invented for?
Let's teach our kids BASIC. That's what I learned to program when I was 7 years old. I think we just aren't giving our children enough credit for how smart they actually are.- zakaf, on 10/11/2007, -0/+1you totally beat me to it in mentioning Alice. What makes it better is that it is *specifically* directed toward 12 year old girls. In the twin cities we have a technical college called Dunwoody, and I have heard that they use Alice to teach the Information Systems students how to program. I can't help but wonder if they tell them who Alice's target audience is.
- jalexhall1989, on 10/11/2007, -1/+3Really Alice does this alot better, instead of dragging and dropping stuff on you actually have to know what an object is and what an integer is. It uses alot of the coding terms without having to worry about syntax or bad logic. http://alice.org/
My APCS teacher wanted us to enter an alice competition for our big project but we all boo'd it because we thought it wasn't real programming.- ralewis, on 10/11/2007, -0/+1Alice SUCKS...
Sorry, but we were the test dummies in our Freshmen engineering course at Virginia Tech, where engineers and computer science majors had to use Alice in order to create projects, and neither of us liked it. Programmers knew it was nothing like true programming. I believe Alice is a horrible way to introduce students to the world of programming, it leads them to a fake expectation.
Digg me down, but I hated part of my semester specifically because of Alice.
(is a Computer Science major)
- ralewis, on 10/11/2007, -0/+1Alice SUCKS...
- willistg, on 10/11/2007, -0/+3my 9 year old wanted to learn a bit of programming, so I showed her python. she was making objects in a matter of hours, though inheritance made her head explode. :P
- cthcth, on 10/11/2007, -0/+1The famed ruby guru _why has been advocating ruby for children for quite a while
http://hackety.org/
Quoth _why: "I don’t have any proof for this, but part of the idea behind Hackety Hack is to break this ridiculous myth that teaching kids to program somehow involves making games. I am sure of this much: Kids like to play games. This doesn’t mean they necessarily want to make games!! I think we spend so little time thinking about how to really REALLY teach kids that we just blurt it out."- lordmike, on 10/11/2007, -0/+0Umm.... when I was a kid I liked programming games.. in fact, that's all I really did... what else would computers be good for other than gaming, of course... I quit programming for awhile when I tried to learn assembly language as a prettenager and failed... since I knew BASIC programs could never match the quality of commercial games, and assembly was beyond my reach, I gave up programming in despair... all because I couldn't write something like "Blue Max" on my own.
Thanks,
Mike
- lordmike, on 10/11/2007, -0/+0Umm.... when I was a kid I liked programming games.. in fact, that's all I really did... what else would computers be good for other than gaming, of course... I quit programming for awhile when I tried to learn assembly language as a prettenager and failed... since I knew BASIC programs could never match the quality of commercial games, and assembly was beyond my reach, I gave up programming in despair... all because I couldn't write something like "Blue Max" on my own.
- DivisibleByZero, on 10/11/2007, -0/+2Back in my day, kids learned assembly!
- Ryosen, on 10/11/2007, -0/+2You make a joke but 6502 assembly was one of my first languages, along with Commodore BASIC. I ended up breezing through the CS program in college because I had a better understanding of what was going on because of it. It was a sad day, indeed, when they dumped Pascal as the primary language and went with Visual Basic (late 90s). I think they have since switched to Java which is a much better language to start with.
And before I kick off a holy war, they also taught C, C++, ASM (IBM 370), ADA (due to a partnership with the FAA) and COBOL, as well as some Lisp, FORTRAN and Prolog. Good times.
- Ryosen, on 10/11/2007, -0/+2You make a joke but 6502 assembly was one of my first languages, along with Commodore BASIC. I ended up breezing through the CS program in college because I had a better understanding of what was going on because of it. It was a sad day, indeed, when they dumped Pascal as the primary language and went with Visual Basic (late 90s). I think they have since switched to Java which is a much better language to start with.
- thedaemon, on 10/11/2007, -3/+3Dugg for scary man.
- jfranman, on 10/11/2007, -0/+1People underestimate the capabilities of children these days. I can put my four year old son in front of a computer and he will amaze you at the things he can do and find on the internet. I was coding when I was a wee lad in grade school starting out in BASIC and moved pretty quickly into C. Give them a chance and our kids will be teaching us a thing or two.
- shakin, on 10/11/2007, -0/+1I haven't used it in many years, but I did play around with DarkBASIC ( http://darkbasic.thegamecreators.com/ ) a little bit around 1999 - 2000. It was a pretty easy way to make Direct3D games. Performance wasn't great, but you could easily get a 3D tank driving around a battlefield shooting at things. The web site is still active and the screenshots now look more advanced. It's a pretty decent second step after you've learned BASIC and lets you do some really neat things.
- Snitzel, on 10/11/2007, -0/+0OK tom the wombat you are really progressing, i suggest you start learning 8086 assembly language now to really take your self to the next level. Get your self real intimate and cozy with the hardware.
- Fordi, on 10/11/2007, -0/+1What's funny is that I taught myself x86 assembly when I was eight using debug. I'd gotten bored with BASIC.
- stgabriel, on 10/11/2007, -1/+0I grew up programming, especially basic on my TRS-80 Coco and coco II, the commodore 64 etc in the '80s. I spent years staring into a cathode ray tube. What I should have been doing is running around outside, swimming, falling out of trees and having a frickin' life. My kids can learn foreign languages and music ins and go into IT at university instead if they're interested. I'd be sad for them if they spent more than two hours a week with a computer.
- nextemesis, on 10/11/2007, -2/+0Cant download from MIT! digg has exploded thier website! you'd have thought that MIT could handle a bit of internet being MIT and all....
BASIC is BASIC in name but not reslly, it's great, i have used BASIC to write many pointless games for people to download, play then delete, as my games got better(?!?) i moved on to C all taught with a little book, so now i use SDL and C so my games can be ported to anything, it's great, tho my C code does still resemble BASIC.
There! i made a vaugly constructive and relevant comment, my second on dig, not my seconde relevant and constructive one, it's probably my first, you uttler lot of pointless geeks with nothing better to do than write bit*xy snipes to each other or dribble over pointless starwars crap, jeesh now i'm doing it, i'm frikkin registered dig users, digging stories and everyhting, i swear i used to do constructive things on the computer.
moose to your face digg! i am now a brain washed member of the cult! my digg t shirt is on order! (not) - Spr0k3t, on 10/11/2007, -0/+2My kid is 6, and he's learning Python. Why bother with a point'n click "language" when you can do awesome stuff with object oriented design. He's even shown an interest in Ruby... man that kid is going to be a sick programmer when he gets older.
- tehmoth, on 10/11/2007, -0/+1ugh, python because significant whitespace is a good lesson to teach someone who might want to use a different programming language one day.
- rcronk, on 10/11/2007, -0/+1It's funny to watch people trip over python's significant white-space and miss the rest of the language. I think python rocks as a scripting language but I mainly use C++.
- yoda17, on 10/11/2007, -0/+1
visual scratch?
visible scratch? - Palmer586, on 10/11/2007, -0/+1When I have kids a strict diet of LOGO, then BASIC, the Python or Ruby will be all they'll get.
None of this fancy new-fangled drag and drop rubbish. I cant really see what exactly it teaches...how to drag and drop an icon to make a cat dance?- masterofNone, on 10/11/2007, -0/+2object oriented programming, properties, loops
just a few to start. - Palmer586, on 10/11/2007, -0/+1Well, if I was a kid I would'nt give a toss about any of that.
"Hell, it took me 3 seconds and I have a dancing cat!" Would be all that was going through my mind.
But hey, if it did teach just 1 kid about hierarchical design for OOP, or about when and why to use various variable types then I guess it's worth it. Even if the rest of the users are still playing with their dancing cats...
- masterofNone, on 10/11/2007, -0/+2object oriented programming, properties, loops
- vrillco, on 10/11/2007, -1/+7The important thing about any "learning" language is that there has to be NO WAY to compile the code into standalone executable files. The problem we see with software is many people will learn the beginner's language, then stop learning and jump into the world of con$ulting with their baby tools, spreading horribly buggy code and amateur algorithms, and worst of all doesn't interop with anything else on the market.
Visual Basic was a very useless tool in its first incarnations. You could do simple interfaces but there was very little functionality in the language, as you were supposed to link to DLLs built in Visual C. When MS realized the world has more idiots than smart people, they proceeded to build up VB into a more complete development platform and now with VB.Net, it's quite rich and versatile though I still wouldn't use it for large projects, simply because it doesn't lend itself well to team development and modularization.
Besides, the world doesn't need more coders. We need more idea people... true CS graduates, not IT. There's a huge difference. Computer Science is about designing algorithms and solving complex problems. Information Technology is about fixing everyday computer issues whose solution is already known. CS is like an architect, IT is like the hammer-wielding meathead that actually builds the house.- tvh2k, on 10/11/2007, -0/+3You don't happen to go to RIT, do you? So right, but typical IT vs CS argument.
- vulgrin, on 10/11/2007, -0/+3Bring back Family Computing magazine!
This was how I learned - pecking in 300 lines of basic code into my Apple II. They used to print out code listings for new games every month, and I'd painfully enter them all in, and once I'd played it a couple times, I'd set about modifying and changing the rules of the game.- Ryosen, on 10/11/2007, -0/+2The flashbacks from Computer Gazette alone are making my hands cramp. Entering in pages and pages of Hex code for some cheesy little program. The greatest innovation was when they included a checksum at the end of each line.
Speedscript (with spellcheck!) FTW! - fedak, on 10/11/2007, -0/+3I was cleaning out some old papers recently and I found a couple Family Computing, Nibble, and Compute mags from 83/84.
This is also exactly how I learned to program, countless hours of typing in programs from the hobbiest mags in the early 80's.
Nothing like typing in 3 pages of hex code and then trying to figure out what line you typo'd :)
- Ryosen, on 10/11/2007, -0/+2The flashbacks from Computer Gazette alone are making my hands cramp. Entering in pages and pages of Hex code for some cheesy little program. The greatest innovation was when they included a checksum at the end of each line.
- TaZorro, on 10/11/2007, -0/+1Logo, as a 1st grader with a basic grasp of words and sentences, was my entry into coding. Maybe not as pretty, but I think a lot closer to actual "programming". I was able to easily move into BASIC, Pascal, then C++... by college i abandoned programming altogether.. ;)
- RoboDonut, on 10/11/2007, -0/+1Why don't they just teach a REAL programming language. You know, something that they might actually be able to use later.
- Ryosen, on 10/11/2007, -1/+4Because not all 6-year olds can grok C++?
- RoboDonut, on 10/11/2007, -0/+1So it's better to fool them into thinking that programming is always done in a little drag-and-drop GUI before teaching them C++? There are other languages, you know. They could be learning Python or BASIC.
Also, I don't think 6 year olds are going to be learning any programming, it doesn't matter how nice you try to make it look. - maninalift, on 10/11/2007, -0/+1I think that a child would get a greater sense of achievement from writing BASIC, knowing that they had written something by hand and created a real executable "just like you get if you buy a piece of software", even if they only drew a few lines on the screen. And it is easy to use a few functions to move some sprites around. Even animations using characters. I can remember writing some cool character-based games (not text based, just ascii graphics).
- t35t0r, on 10/11/2007, -0/+4those blocks that he is using look exactly like the blocks in this gui perl programming application called SProg: http://sprog.sourceforge.net/screenshots/images/01_assembly.png
- rszrama, on 10/11/2007, -0/+3Played with this for a couple hours last night. Came up with a simple "platformer" example:
http://scratch.mit.edu/projects/rszrama/3188
Feel free to read about the experience here:
http://ryan.grinhost.net/2007/scratch_programming_itch
My basic feeling is that this is a rebirth of Klik 'n Play, just a little prettier. It does teach programming concepts, which is cool, but it does it in such a stifling environment that it would've been discouraging to me or kept me from moving on. Kids can start in this but then transition into a real language where all of a sudden there aren't native graphics, interactive GUIs, or easy input handling. I can see this being good and bad, and hopefully it's an effective gateway for generating interest.
The main problem is the community site is going to be cluttered with crap, so good projects will be hard to find and most of it will be a waste of time to view.
It seems to still have some bugs and be under development. I don't diss them for all the press releases, but they should upgrade their server before calling the BBC next time. : P- amonroy, on 10/11/2007, -0/+1I saw your project last night. Sorry but the link to your project is probably extremely slow.
- amonroy, on 10/11/2007, -0/+4The site is still very slow. For download go to http://web.media.mit.edu/~andresmh/tmp
It would be great if someone could post the installers as bit torrents while we get the site back up.
Thanks on behalf of the Scratch team. - PGvildys, on 10/11/2007, -0/+1I liked it the first time I used it... when it was called HYPERCARD.
- tvh2k, on 10/11/2007, -0/+1Language for children who have no knowledge of computers --- don't they call that VB?
- Topher06, on 10/11/2007, -0/+1It doesn't matter which language you learn. Someone said learing Basic was a waste of time. Its the concepts of programming that is important to understand. Control statements, loops, variable assignment, classes structures and objects, etc are whats important. Comptuer languages are just about understanding the syntax of how to implement these constructs. Once you understand these fundamentals, then you can program in any language or script you want with a little bit or practice and a good primer. Learning basic introduced you to these structures and then by the time you get to C++ etc, you better understand more complicated languages.
I don't think its necessarily important to teach kids how to program, I mean generally most kids don't know what they want to be when they grow up, so there is no point teaching them skills many might never use. The idea that learning to program will make them more effective for learning how to use a computer is lame. By the time kids today grow up, programing a computer might involve using real language constructs rather then cryptic code languages. You simply tell the computer what you want to accomplish and the computer writes the backend code. And if a kid doesn't want to become a web or software developer, then the skills really don't come into play elsewhere except perhaps having better logic skills for making effective more efficient decisions.
Anyways, kids shouldn't be forced to become geeks. If your 6 year old child is spending time learning how to program, introduce them to the outside world quickly. Nothing makes a kid fatter then spending hours in front of a TV or computer. - Huevoos, on 10/11/2007, -1/+1The kids took our jobs!!!
- fatpads, on 10/11/2007, -0/+0tk-er-jer!
....too obscure?
- fatpads, on 10/11/2007, -0/+0tk-er-jer!
-
Show 51 - 96 of 96 discussions

