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.
-
7$\begingroup$ Do you want a book to teach you about specific topics in CS (like programming etc) or would you like a book that explores CS from a high level ? For example, take a look at the answers to this question: cstheory.stackexchange.com/questions/10365/… and this question: cstheory.stackexchange.com/questions/2386/… and even this question: cstheory.stackexchange.com/questions/5188/… $\endgroup$– SureshCommented Mar 22, 2012 at 21:57
-
$\begingroup$ "Taschenbuch der Algorithmen" is a good German book that might be of help. $\endgroup$– RaphaelCommented Mar 30, 2012 at 7:09
7 Answers
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:
- Sphere On-line Judge - you can sort problems from easiest to hardest and try to solve them
- http://www.topcoder.com/ - There are many contests for HS, you can find there similarly minded people to you.
Several favorite references which would be accessable to a highly motivated or advanced teenager.
[1] 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.
[2] 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
[3] 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.
-
4
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.
A good introductory book for Computer Science is Brookshear - Computer Science: An Overview.
David Harel's Algorithmics is a classic.
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.
-
$\begingroup$ Can you name the discrete maths book you liked? I am sure Persian speaking visitors will appreciate the reference. $\endgroup$– RaphaelCommented Apr 10, 2012 at 17:32
-
$\begingroup$ @Raphael, I added my references, but seems they are old, I'm sure Persian students can find very better than this books for math, currently I'm not aware about changes. $\endgroup$– user742Commented Apr 10, 2012 at 19:16
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.