Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Books Education Programming

Ask Slashdot: Best Book For 11-Year-Old Who Wants To Teach Himself To Program? 525

New submitter waferthinmint asks "What is the best book for my son to use to teach himself to program? He wants to study on his own but everything seems to assume an instructor or a working theoretical knowledge. He's a bright kid but the right guide can make all the difference. Also, what language should he start with? When I was in HS, it was Basic or Pascal. Now, I guess, C? He has access to an Ubuntu box and an older MacBook Pro. Help me Slashdot; you're our only hope."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Best Book For 11-Year-Old Who Wants To Teach Himself To Program?

Comments Filter:
  • Python (Score:5, Informative)

    by Anonymous Coward on Thursday April 12, 2012 @03:16PM (#39662959)

    Have him learn python. On any OS.

  • Head First (Score:2, Informative)

    by Anonymous Coward on Thursday April 12, 2012 @03:17PM (#39662991)

    Most of the Head First books will be good for the young'n--I'm 30 and I still need their cheery images to keep me interested ;-)

    http://shop.oreilly.com/category/series/head-first.do

    Python is probably the language he should use first.

  • codeacademy.com (Score:3, Informative)

    by Anonymous Coward on Thursday April 12, 2012 @03:17PM (#39662993)

    I'm an experienced programmer, but I really liked the step-by-step stuff on codeacademy.com, where the language du jour is javascript, actually.

  • Find out why. (Score:4, Informative)

    by JustAnotherIdiot ( 1980292 ) on Thursday April 12, 2012 @03:21PM (#39663095)
    Different languages excel at different things, so It's probably a good idea to figure out what he plans on doing with programming knowledge.
  • Re:Python (Score:5, Informative)

    by chaosite ( 930734 ) on Thursday April 12, 2012 @03:34PM (#39663389)

    I second the python recommendation. Have a look at this (free, available in dead tree format as well as online) book:

    http://www.greenteapress.com/thinkpython/ [greenteapress.com]

  • Re:Python (Score:5, Informative)

    by Githaron ( 2462596 ) on Thursday April 12, 2012 @03:35PM (#39663421)

    Have him learn python. On any OS.

    If you are going to teach him Python, have him take CS101 at Udacity [udacity.com]. It is more fun than reading a book.

  • Re:Python (Score:5, Informative)

    by durrr ( 1316311 ) on Thursday April 12, 2012 @03:37PM (#39663445)

    Have him learn Ruby. On any OS.
    With this book: http://www.ruby-doc.org/docs/ProgrammingRuby/ [ruby-doc.org]

  • Re:Python (Score:5, Informative)

    by g0bshiTe ( 596213 ) on Thursday April 12, 2012 @03:40PM (#39663533)
    I'll 3rd that.

    Have a look here. http://www.pythonchallenge.com/ [pythonchallenge.com] I know it's been around forever and a day, but some challenges like this will show him there are practical applications to what he is learning.
  • by jtara ( 133429 ) on Thursday April 12, 2012 @03:44PM (#39663599)

    For an 11 year old? That's easy: Why's (poignant) Guide to Ruby

    Just make sure you stock-up on chunky bacon.

    (Multiple formats linked from the Wikipedia article)

    http://en.wikipedia.org/wiki/Why's_(poignant)_Guide_to_Rubyhttp://en.wikipedia.org/wiki/Why's_(poignant)_Guide_to_Ruby [wikipedia.org]

  • And for the reading (Score:4, Informative)

    by Hentes ( 2461350 ) on Thursday April 12, 2012 @03:57PM (#39663865)

    The Python manual, embedded in the official distribution contains a very nice tutorial.

  • Re:Python (Score:5, Informative)

    by jcreus ( 2547928 ) on Thursday April 12, 2012 @04:11PM (#39664135)

    Hi. Teenager here. I learnt how to program when I was about 11 (or maybe 10), self-taught. My best recommendation: let him learn how to program by himself. What I did was, and I've done such a thing for all programming languages (8, I think) I know: first, go to the first tutorial you see on the Internet. I believe I used Wikibooks (Python). And, then, leave the tutorial after knowing just the basic I/O and simple statements. Then, give yourself a project. For example, I created one which solved me the maths homework. Something you find useful. And, while doing that, one must learn more features of the language. In case you have doubts, be self-sufficient: just f*cking google it, and results will appear (learning how to google is probably a priority before programming languages!).

    So, what you said is true. Don't spend money on programming books. Let him learn by himself.

    On the other hand, regarding programming languages, I've always loved Python. Simple syntax, easy to introduce to new programmers, no pointers, great power... Furthermore, while Python keeps being my favorite, maybe, for "the current times", he would find JavaScript (+HTML+CSS) closer, for he would be able to create his own websites and that's something you often feel proud of ;). Also, it seems now everything has to be JavaScript-based...

  • Re:Python (Score:4, Informative)

    by msclrhd ( 1211086 ) on Thursday April 12, 2012 @04:33PM (#39664589)

    Python, Ruby or some other similar scripting languages are great to start on and build up an understanding -- they allow you to start small and build up an understanding of what you are doing without any "noise".

    The Khan Academy has programming videos oriented around Python (http://www.khanacademy.org/#computer-science), not sure how good they are but the Math videos are good so it'd be worth checking out.

    An advantage of python is that if you run it from the command line on its own, you get an interpreter where you can start typing commands and seeing the results (e.g. 2+5 'hello world'.split(' ') ':'.join(['a', 'b']) ).

    The other language mentioned here is JavaScript. The main problems with starting with JavaScript as a language is what other non-scripting languages suffer from: there is a lot you have to do to get up and running (there is nothing like hearing "just ignore the public static void bit for now" when learning to program) -- especially when you have to read a different markup (html) to get started.

    If you do decide to go down the JavaScript route, use something that makes it interactive and fun. See the "Bret Victor - Inventing on Principle" video (http://vimeo.com/36579366) for a good idea on that w.r.t. the 2D drawing APIs where you have the JavaScript on one side and the picture it generates on the other and what you change on the JavaScript side gets immediately picked up on the picture side. See http://gabrielflor.it/water [gabrielflor.it] for an implementation of this!

    More generally, a good choice to start with is something that gives you decent feedback quickly and something that allows you to experiment and have fun with it.

On the eighth day, God created FORTRAN.

Working...