

MIT Scratch – Teach kids to program stories, games, and animations - jcr
https://scratch.mit.edu

======
VonGuard
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](http://www.themade.org)

~~~
thunderbong
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?

~~~
waimate01
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](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".

~~~
fractallyte
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](http://www.apress.com/9781590594919)

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

Now imagine this combined with hardware robots...

------
codecurve
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!

------
saturdayplace
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/](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.

~~~
sdg1
(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...](http://scratched.gse.harvard.edu/resources/scratch-curriculum-
guide)

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

~~~
hardmath123
(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.

------
dmoo
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](http://drscratch.programamos.es) which does
an analysis on your code.

~~~
deeviant
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](https://github.com/zeewheeler/space_shooter_vgpc.git)

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

~~~
ChristerNilsson
Gosu is good, and Chingu on top of that is even better.
[https://github.com/ippa/chingu](https://github.com/ippa/chingu)

------
DeepDuh
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/](http://scratch.mit.edu/projects/941811/)

------
miket
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](http://tickleapp.com), a recently Kickstarter-backed
Scratch implementation for the iPad.

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

~~~
sdg1
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](http://support.apple.com/en-us/HT201813))

------
dmritard96
Is it on github?

~~~
nickmain
[https://github.com/LLK/scratch-flash](https://github.com/LLK/scratch-flash)

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

