I received a mail from an acquaintance who'd come to the realization that his 13-year-old wanted to be programmer, specifically a games programmer. Here's the advice I gave. Perhaps others have things to add: 1. I'm tempted to tell you that the right way to learn to be a programmer is to start with LISP , or the lambda calculus , or even denotational semantics but you can come back to those after a few years getting your feet wet. 2. Lots of programming involves logic (or at least thinking logically) so learning about and enjoying logic is probably a good foundation. You could start by learning about boolean algebra since it's simple and fun and the basis for a lot of what computers do. 3. Since games programmer involves a lot of physics, you should also learn about Newton's Three Laws and Universal Gravitation and play around with things like springs and pendulums . 4. Basic trigonmetry is important to the games programmer. It'll be handy to know a