Thursday, November 12, 2009

Advice to a talented child

I can't believe that I'm recommending this to a child, but I think I detect an exceptional intelligence.

Try SICP. The Structure and Interpretation of Computer Programs. Until recently it was MIT's introductory computer science course.

The book is a masterpiece. It's online and free. http://mitpress.mit.edu/sicp/full-text/book/book.html

There are videos of the authors giving the lectures. Watch them and read the book at the same time. Follow along and do the exercises as you go.
http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

You will need a scheme. I found that the best by far was PLT scheme. http://www.plt-scheme.org/
And you will need to set it to use the version of scheme called R5RS for maximum compatibility. Even then it's not perfect, but google is your friend.

Don't worry if the book is too hard for you. It would have been far beyond me at your age. But I think you will be OK if you work hard.

It is a real university degree course in the maths part of CS. You won't be able to skim it. You need to do the exercises and play with the ideas in each lecture before you go on to the next.

Every exercise in the book looks hard, and most look boring. Once you get into them they are all well chosen, interesting, and do-able, and each one will teach you a valuable new thing.

If you can do it, then you will enjoy it as you have never enjoyed anything before. And you will be a much better programmer in any language. In fact you will understand that deep down all languages are the same.

Good luck, and beware that I may have overreached myself. If you don't like it, carry on playing with whatever interests you. Sooner or later you will have to read this book, or something like it, but you have plenty of time.

No comments:

Post a Comment

Followers