What is a good beginner computer science book for a young adult, say, a 15 year old? I want to get started in CS, but have no idea where to start. I have limited experience in programming.
Even this might be too basic for teenager, I nicely shows how to abstract problems, and is applicable for kids :
I highly recommend all CS people to take a look at: Computer Science Unplugged , just to see how CS can look different :).
For young CS minded people I recommend to develop intuition by solving programming tasks from problem solving contests, like programming contests: ACM ICPC, Olympiads in Informatics etc.
It's nice way to go into "Practical Algorithmic" , which gives you best from both worlds: programming and algorithms. Thanks to that you will be prepared to go in future in both directions: CS oriented industry (Google, Yahoo etc), and University CS.
Nice places to start:
Several favorite references which would be accessable to a highly motivated or advanced teenager.
 New Turing Omnibus by AK Dewdney. Has a grab bag of some of the more interesting key concepts of CS. A very visual approach. AK Dewdney has experience writing the mathematical games and puzzles column for Scientific American.
 Godel, Escher, Bach, the eternal golden braid by Douglas Hofstadter. Considered a classic by many. Focuses on Godel's theorem and incompleteness from a computational angle. Cited by many computer scientists as a favorite. See also Wikipedia reference
 Out of their minds: lives of 15 great computer scientists by Shasha and Lazere. Bios and interviews with many of the greats & some legends such as Cook, Knuth etc.
The Pattern On The Stone: The Simple Ideas That Make Computers, by Daniel Hillis, is a very good introduction, starting from the logic building blocks up to programming, algorithms and computer architecture.
I think Problem-Solving Strategy is an interesting book for teens. It does not need a deep mathematical background. However, if its math is too hard you can find an interesting and small book about discrete mathematics¹ to read first and then switch back to this book. I read it when I was in high school and this book motivated me to do stuff in CS.
- I think what constitutes a discrete mathematics book for teens depends on native culture and language. I know a good one in my language, but I do not know any good ones in other languages. These are related Persian books: Alphabet of Mathematics and Computer Olympiad. Mathematics for teens by Yahya Tabesh. I couldn't find its link in the web, may be is too old. Also I'm not sure I said the name correctly, I remember it because of interesting images and its beautiful cover.
Algorithmic Puzzles, by Anany Levitin & Maria Levitin.
Houses puzzles for all skill levels from readers with only middle school mathematics to seasoned puzzle solvers.
Starts with some Mathematical and Algorithmic background, sorts problems though Easy, Medium and Hard, gives both Hints and Solutions so it's great for self study.