Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
MIT Scratch – Teach kids to program stories, games, and animations (scratch.mit.edu)
88 points by jcr on Dec 15, 2014 | hide | past | favorite | 30 comments


We have been teaching kids Scratch for 3 years in a weekly free class in downtown Oakland. The response has been wonderful. It unleashes the creativity in kids, and some children that are utterly silent and shy open right up when they have questions about how to make their game do this or that.

I have literally heard kids shout out "Oh! That's why we learned those x y things in school!" when learning how to move sprites about on a grid. They have no idea they are learning math, and they generally have a spectacular time making even the simplest game, like a scrolling shooter, or moon lander.

My favorite discovery during our three years has been seeing how kids name their games. It's never "David's Moon Lander." It's always something more like "David's Super Awesome Cat Launching Space Lander With Flame Throwers." It's like watching kids draw anything they want with crayons: they get to theme and tweak games however they see fit.

As a volunteer organization, we can always use more teachers to help us spread Scratch to the masses. Our classes are free and offered to kids ages 8 to 14, and we do a simple game each week.

http://www.themade.org


I'm also looking at using Scratch in a school curriculum starting with children from grade 4 through grade 6. Are there any course ware, workbooks available for those grades?

How old are the children in your class?

Can you give any other suggestions about other programming languages that can be used as kids grow older?


Scratch is totally awesome, but the huge conundrum has always been where to go "after Scratch". Python isn't it, because its too textural and you can't easily share graphical games unless the recipient also has pyGame installed. Javascript hasn't been it for a lack of appropriate on-ramp, and many of the available resources (eg, CodeAcademy) are too vocationally-based and lack the fun of Scratch.

But there's now a free online tutorial system aimed at "Scratch kids" who want to take the next step. http://s2js.com -- tutors kids through the bits of Javascript they need to know in order to write graphical games that'll run on their smartdevices. It's tutorial, simple development tool, private image storage, and deployment facility all in one.

It's "Javascript as told to Scratchers", and the goal is to provide a bridge that gets them from the delights of Scratch, onto something else that will take them on their journey. S2JS isn't the destination, it's the "enthusiasm transfer tool".


Why not Smalltalk? It was, after all, designed for kids (and look where that got us... Java - pffft!)

Squeak has a comprehensive ecosystem; here's an excellent book for high-schoolers: http://www.apress.com/9781590594919

The complete pdf can also be downloaded from the associated website: http://rmod.lille.inria.fr/botsinc/

Now imagine this combined with hardware robots...



You should take a look at the ScratchEd community - they have a lot of resources for educators: http://scratched.gse.harvard.edu/

Also, we have started to build a Scratch Extension system, where Javascript can be used to extend the functionality of Scratch (you can define blocks that call web-apis, etc.) We will have more information about that in 2015.


I run a nonprofit in Arizona where we introduce 8-13 year olds to coding at 10 libraries and other locations. We start the young ones with code.org for a "quick win" and most of them dig into scratch with relish by the second week. I agree with the original post about seeing the creativity unleashed. It's amazing.

After scratch we have seen some of the kids get excited about js mostly through the khan academy resources (have you tried it)? Also code combat has been a recent favorite.

Our older and more advanced coders are ok with codecademy.

Also we have some that really want to get their work out to the world, so after a while on scratch they teach themselves html and css.

We are very particular about not lecturing, not forcing a learning approach, just facilitating as different learning styles find their way.

Also if anyone is interested we are giving away our "code club kit" including resources for starting a code club. It has been the most rewarding part of my career. Just let me know and I'll send it in email.


I'm starting a coding club for a few kids in my neighborhood and would appreciate any help with introduction resources!


just email me at my HN username at gmail and I'll send it


Gimme gimme gimme! alex at themade.org thanks!


just sent. thanks!


Scratch was my introduction to programming, around 6 years ago. Since then, I've graduated with a degree in CS and co-founded a successful (and growing) software-house startup. Without having discovered Scratch, I'm not sure I would have decided to do Computing at A-level. No A-level, No CS degree. No degree, no startup.

In my case, it was the perfect way to learn about some of the important principles that underpin programming, without necessarily realising that it was happening. Scratch just allowed me to be creative with ideas for simple games. You can take away a lot of the cornerstones of imperative programming (loops, variables, booleans, conditionals) but also evented programming concepts; which will make sense straight away in a language like Javascript.

My father is a Head Teacher at a primary school in the UK and has introduced it into the ICT curriculum to great effect. There are primary age children (< 10 years old) starting to experiment with Ruby and Python at school, as a result of positive experiences with Scratch. It's is also how I interested my younger brother in programming and he in turn took A-level computing and has applied to study CS at University. I don't think Scratch was as much of a factor in his story, but it was certainly his starting point.

Overall, I think it's a fundamental stepping stone that children should have the chance to try at school. It represents the opportunity to find out whether you enjoy programming. Until I picked it up, it had never crossed my mind that I might.

Hats off to the Scratch team!


Two things:

1) I have neither a computer science nor a teaching background. (I'm a self-taught web-dev hack) but I am interested in introducing local kids to programming. I helped run a couple Hour of Code sessions last week at my kids' elementary school, and I think I could get support there to start up some kind of after-school program. But I'm a bit lost as to what a good curriculum would look like. Anyone here have any pointers or suggestions?

2) I believe that Blockly (https://developers.google.com/blockly/) was the engine behind the Hour of Code exercise I used last week. It's available as a client-side library to include in your web applications, but I couldn't track down its license. It looks like, if one were to nail down a good curriculum, you could use Blockly to build a learning environment to accompany it.


(Member of the Scratch team here)

1) There's a super useful Scratch Curriculum guide - made by the folks from ScratchEd. http://scratched.gse.harvard.edu/resources/scratch-curriculu...

2) Blockly seems to be under the Apache license (https://github.com/google/blockly)


(5-year Scratch veteran here.)

Even though Blockly (and it's predecessor, "App Inventor") is made by Google (the great and the powerful), I have to say, I would rather be introduced to code by Scratch than by Blockly. Scratch is much simpler-looking, it has a beautiful interface, and (most importantly) it has one of the friendliest communities in case you need help or want to show off a project.


UC Berkeley's CS10 class teaches with Snap(a variant of Scratch) https://inst.eecs.berkeley.edu/~cs10/fa14/ You could get a good idea of curriculum there.


In particular, they use the BJC (Beauty and Joy of Computing) curriculum (http://bjc.berkeley.edu).


We use scratch and its clones phratch/snap/bingo at our local coderdojo to great effect. Today I discovered Dr Scratch http://drscratch.programamos.es which does an analysis on your code.


I teach a game programming club for kids in grade 6-8

I'm split on scratch. On the surface it was easy to get the kids to engage, but I didn't really feel it led to much understanding of programming as a whole. And it did not seem to hold their attention for very long.

I switched to C# XNA, with a good number of my own convenience libraries and boiler plates that allowed the kids to dig in and they haven't looked back. It's just very sad that Microsoft dumped XNA, and also that it's locked to windows which caused a lot of problems(basically only 30% of the kids had access to a windows PC and the club basically had to provide the kids access to a windows PC lab to work, which prevented many kids from being able to work on their games outside of the lab).

I'm continuing to look for another framework like XNA that has a sufficiently easy barrier to entry(with a good amount of guidance from teachers/club leaders), while really introducing the kids to programming.

For reference, here is a github snapshot of an example project I took the kids through with great success a few years back: https://github.com/zeewheeler/space_shooter_vgpc.git


My son and I have been having some fun with Gosu (https://github.com/jlnr/gosu). No problems so far running it on Windows and Ubuntu.


Gosu is good, and Chingu on top of that is even better. https://github.com/ippa/chingu


How old did you start with your son?


I have had great experiences with Scratch, but I agree that it's not great for kids in middle school. My kids are just starting elementary, and they love it to death.

For middle-school and up kids I would unreservedly recommend Racket. The curriculum at http://htdp.org is far and away the best introduction to programming concepts I've ever seen.


A few years ago I looked up what's available to make a kid interested in programming when I found this. I ended up spending quite a few days doing my own little project... that I'm almost not ashamed to link here ;-).

http://scratch.mit.edu/projects/941811/


Scratch is a great project. For those of you looking for a gentle intro to programming for your kids, I highly recommend checking out http://tickleapp.com, a recently Kickstarter-backed Scratch implementation for the iPad.


I love Scratch, but it is irresponsible of them to still not be using SSL.


Almost there with SSL - we will be rolling it out for testing by the community in the next month, and we hope to get the entire site SSL only by summer 2015. Sorry it took so long.

(One of the annoying things when we tried rolling SSL out a while back: we got a bunch of reports that users with OS X couldn't access the site - turns out the OS X's parental control blocks SSL sites by default unless explicitly allowed in the whitelist: http://support.apple.com/en-us/HT201813)


Is it on github?



must admit I am a bit skeptical about somethings longevity in 2014/2015 being built on flash...




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: