
Teach kids programming – A collection of resources - skybison
https://medium.com/p/a2dc04ea9529
======
edtechdev
The age recommendations on this are way off

This article recommends Scratch for 12 and up. Scratch is good for
kindergartners and up. The Snap fork is more appropriate for older students:
[http://byob.berkeley.edu/](http://byob.berkeley.edu/)

This article recommends Lego Mindstorms for ages 9-12 (and python and ruby).
The average age of people who used to buy Lego Mindstorms was 28. The box
recommends it for kids over 10. Lego has a robotics kit for younger kids
called WeDo. I would not introduce python or ruby to a 9 year old, unless you
want them to hate programming. Teaching programming for its own sake is a
recipe for disaster.

And again it's missing so much. For coding robots to do things see sites like
[http://fightcodegame.com/](http://fightcodegame.com/)
[http://robocode.sourceforge.net/](http://robocode.sourceforge.net/)
[http://www.nessbots.com/](http://www.nessbots.com/)

For making games, I'd start with Scratch for < 13 kids, but for older kids see
sites like [http://www.playmycode.com/](http://www.playmycode.com/)
[http://pixieengine.com/](http://pixieengine.com/)
[https://www.scirra.com/construct2](https://www.scirra.com/construct2)

~~~
wslh
The author didn't do his homework. Alice
[http://www.alice.org/](http://www.alice.org/) is missing from the list. Also
Logo is not explicitly there.

The most important issue with this kind of lists is taking programming
literally. I think "pre-programming" approaches like
[http://mydoodlegame.com/](http://mydoodlegame.com/) can be very useful before
jumping to code.

------
adambratt
CODE is an amazing book and I rarely see people mention it. I've yet to come
across a resource that is so good at joining electrical engineering and
computer science.

It starts with an abacus and 400 pages later of flip-flops, memory gates, and
microprocessors it leaves you with a fully built modern computer.

That said, I would not put it in a beginner category. I read it after 4 years
of ASM programming and building electrical gadgets and I still had to stop and
reread chapters quite a few times until I got all the concepts out of it.

If you're at all interested in how all the parts in your computer interact and
work together at the lowest level, READ THIS BOOK.

------
Steuard
I continue to be excited about the current Kickstarter for "Robot Turtles", a
board game targeting 3-8 year olds that's based on programming concepts. It
sounds like a lot of fun. There are about two weeks left to get a copy.

[http://www.kickstarter.com/projects/danshapiro/robot-
turtles...](http://www.kickstarter.com/projects/danshapiro/robot-turtles-the-
board-game-for-little-programmer)

------
fooshypants
Probably needs robot turtles:
[http://www.kickstarter.com/projects/danshapiro/robot-
turtles...](http://www.kickstarter.com/projects/danshapiro/robot-turtles-the-
board-game-for-little-programmer)

------
gghh
[http://csunplugged.org/](http://csunplugged.org/)

"Computer Science Unplugged is a collection of free learning activities that
teach Computer Science through engaging games and puzzles that use cards,
string, crayons and lots of running around."

Definitely worth a mention.

------
elisee
You might also want to check out my 3D game-making platform
[http://craftstud.io/](http://craftstud.io/) which has drag'n'drop scripting,
easy-to-use tools for making your own animated models & maps plus real-time
cooperation over the Internet.

I've taken a slightly different approach to most of the tools in the list in
that my aim is to provide a platform that can actually be used for real game
production. It's used to make all kinds of games by anyone ranging from
8-years-old to adults.

Some games made with it:
[http://play.craftstud.io/games/](http://play.craftstud.io/games/)

------
nicolethenerd
One more addition for the list - the Khan Academy programming tutorials -
[https://www.khanacademy.org/cs](https://www.khanacademy.org/cs) Very hands-
on, kid-friendly (but good for adults too) - I'd recommend them for middle
school and up.

Also, there's Berkeley's Snap!, which is a browser-based version of MIT's
Scratch, with some advanced additions like first class procedures.
([http://snap.berkeley.edu/](http://snap.berkeley.edu/))

------
Brajeshwar
This is an awesome list. I have a daughter turning 5 this december. I've been
planning and making a list of to-do to introduce her to computers by next
year.

Like most other kids of her generation, she is comfortable with touch devices
(phones, tablets) since her 2nd birthday (I saved and gifted her an iPad-1).
Now, she navigates Youtube with ease on the Mac's Trackpad and can type her
name on the Keyboard. It's time to get on to real computers, and eventually
programming. I'm excited.

------
10098
Programmable toys are also a nice way to introduce kids to programming. I
wrote my first programs (without even knowing it) on this bad boy:
[http://en.wikipedia.org/wiki/Big_Trak](http://en.wikipedia.org/wiki/Big_Trak)
(well, not exactly this one, but it's Soviet counterpart called "Elektronika
IM 11" or "Lunokhod")

------
vu3rdd
The list misses one of the most important projects designed from ground up for
pedagogy -- DrRacket environment[1].

It also missed the book built around Racket for first time programmers - Realm
of Racket[2].

[1]: [http://racket-lang.org](http://racket-lang.org) [2]:
[http://nostarch.com/realmofracket](http://nostarch.com/realmofracket)

------
greaterweb
At the bottom of the list is CodeHS[1]. I've not had much experience with many
of the others but speaking from experience my son who is 8 has enjoyed the
courses on there.

[1] [http://codehs.com/](http://codehs.com/)

------
ladelfa
Surprised not to see KidsRuby on the list. It's Ruby, packaged up with a kid-
friendly interface and turtle graphics support.
[http://www.kidsruby.com/](http://www.kidsruby.com/)

------
aroberge
[http://code.google.com/p/rur-ple/](http://code.google.com/p/rur-ple/), a
Karel-the-robot adaptation, has been used to teach Python to young kids (age
8+) in school all the way to first-year university students (some examples of
these can be found on youtube) in a number of human language. Its successor
[http://reeborg.ca](http://reeborg.ca) teaches Javascript (and will eventually
teach Python) on the web; free with no login required.

------
300bps
Microsoft Small BASIC:

[http://www.microsoft.com/en-
us/download/details.aspx?id=2296...](http://www.microsoft.com/en-
us/download/details.aspx?id=22961)

------
klrr
I recommend HTDPv2[0] together with the beginner-friendly IDE Dr. Racket. It
let you get started quickly and give you a good foundation to learn your next
language. The choice of Scheme is also excellent from a beginners perspective
since there's no syntax to learn really.

0\.
[http://www.ccs.neu.edu/home/matthias/HtDP2e/](http://www.ccs.neu.edu/home/matthias/HtDP2e/)

------
ktr100
Thank you for the list. I've found the Arduino to be a great platform for
learning. Less abstraction … A little code gets a lot of real world wow.

------
SurfScore
For kindergarten-2nd grade (5-8) I'd also recommend Kodable if you have an
iPad. It simplifies programming concepts into a fun and interactive world
where you have to guide a little fuzz ball through colored mazes. It teaches
sequence, conditions, loops, functions, and even makes debugging fun!

[http://www.surfscore.com](http://www.surfscore.com)

------
vezzy-fnord
Kudos on recommending Petzold's CODE.

------
sea6ear
I've always liked Robot Odyssey (or modern clone
[http://www.droidquest.com/](http://www.droidquest.com/)) as an early
introduction to concepts of programming and digital logic

------
mathattack
Thank you for sharing! I want to (and will) upvote the OP and all the
comments. Great discussion!

