News for hackers. Stuff that matters.

Ask HN: What is good language / project to teach 12-year old to code?

Thinking HTML/javascript, text game, but am open to other suggestions. I am quick to pick up languages (I already write a lot of different languages). I want to make sure that I choose something interesting enough to keep his attention if he really is wanting to learn to code.
( 11 comments | 8 points | on HN )
Re:Ask HN: What is good language / project to teach 12-year ... by euroclydon on Sunday June 16, 2013 @06:53AM (#5888087)
With JavaScript/HTML, Scratch, or anything that requires the internet, I'm concerned about attention span. I don't want to commit some, "it was better in the old days" fallacy, my 6 and 8 years olds are using scratch, but when they're 12, my plan is to give them an offline PC and a printed copy of Learn Python the Hard Way. It's just too easy to be distracted by the internet. When they're 16 (we homeschool, so I can do this) I'm going to let them take a half a year off from other studies and work through The Elements of Computing Systems, where they will built their own VM, language and compiler in Java.
Re:Ask HN: What is good language / project to teach 12-year ... by csense on Wednesday June 19, 2013 @03:14PM (#5907576)
> It's just too easy to be distracted by the internet.

But OTOH a lot of documentation, help, and resources are available on the Internet. Learning to program was much more difficult in the old days when those resources weren't available.

Re:Ask HN: What is good language / project to teach 12-year ... by geedy on Sunday June 16, 2013 @01:30PM (#5889161)
This is a good point. I'll have to get a better handle on his ability to focus / get distracted.
Re:Ask HN: What is good language / project to teach 12-year ... by farseer on Sunday June 16, 2013 @06:34AM (#5888058)
Start with C#/VB. The drag and drop GUI creation in .NET is a powerful tool for new programmers and kids alike. I learnt that with VB5 when I was 13 and was creating simple GUI based apps within a few days. A powerful IDE is absoluately necessary when learning the first language because it allows a newbie to explore things without opening any technical documentation. You can also go the HTML/JS route, again with an IDE that allows drag and drop of components. Stay away from python and java for now.
Re:Ask HN: What is good language / project to teach 12-year ... by eightyone on Sunday June 16, 2013 @03:57AM (#5887813)
Check out the book Python for Kids: A Playful Introduction to Programming. It covers how to make a couple different 2D games.

http://www.amazon.com/Python-Kids-Playful-Introduction-Progr...

Re:Ask HN: What is good language / project to teach 12-year ... by geedy on Sunday June 16, 2013 @01:34PM (#5889172)
Have you used this resource much? How easy do you think it would be to adapt some of the projects in this book to javascript? Thanks!
Re:Ask HN: What is good language / project to teach 12-year ... by deadfall on Sunday June 16, 2013 @06:45AM (#5888075)
Scratch (developed by MIT) is very useful to teach kids functions/modules/loops/etc. http://scratch.mit.edu/
Re:Ask HN: What is good language / project to teach 12-year ... by kellishaver on Sunday June 16, 2013 @07:25AM (#5888135)
I've been doing HTML/JavaScript with my 11yr old. We're pair programming a little offline web app she can put on her iPod touch.
Re:Ask HN: What is good language / project to teach 12-year ... by 83a on Sunday June 16, 2013 @05:37AM (#5887952)
have you already looked at http://processing.org/ ? although i don't like java i think it's quite cool, because:

- good documentation

- many small examples you can start from

- all built in (video/sound/grafik)

- you can extend it by using java

Re:Ask HN: What is good language / project to teach 12-year ... by jamesjguthrie on Sunday June 16, 2013 @06:04AM (#5887995)
Android or iOS apps is a good idea as kids will enjoy seeing the apps they've built running on their phones.
Re:Ask HN: What is good language / project to teach 12-year ... by csense on Wednesday June 19, 2013 @03:13PM (#5907570)
Write video games in Python / Pygame.

Sweigart is a good online resource.