Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

(Including Amazon links, but just for convenience, buy wherever you want)

Code by Petzold (https://www.amazon.com/Code-Language-Computer-Hardware-Softw...) - non-technical (in the sense it isn't something to "work through"), covers a lot of interesting topics. Especially approachable for that age.

Elements of Computing Systems by Nisan & Schoken (https://www.amazon.com/Elements-Computing-Systems-second-Pri...) - more technical (has content to work through). I've read the first edition, not the second. Has a companion site: https://www.nand2tetris.org. It's well-written, and a motivated high schooler could work through it.

The Code Book by Singh (https://www.amazon.com/Code-Book-Science-Secrecy-Cryptograph...)

The Codebreakers by Kahn (https://www.amazon.com/Codebreakers-Comprehensive-History-Co...)

I was always interested in ciphers and such as a kid so those two books got my attention when I found them in high school/college. I'm a bit fuzzy, now, about which one I was more interested in but both were good books. (I still have them, may give them a re-read next month.)

There are a few others I have in mind, but just can't recall the titles at the moment.



sort by: page size:

While I like Petzold's "Code", it's really aimed at nontechnical audiences. Jon Stokes' "Inside the Machine" or Nisan and Schocken's textbook "The Elements of Computing Systems" are far better if you have a technical background.

There are a few amazing books out there:

Code by Charles Petzold, The Elements of Computing (Nand2Tetris course book), No Starch Press's Secret Life of Programs, Learning Computer Architecture with Raspberry Pi


Also see recommendations for "Ask HN: Books Similar to Code by Charles Petzold?": https://news.ycombinator.com/item?id=29522588

No disrespect to Petzold intended (I'm a huge fan of his technical works) but "Code" is at best at a pop-sci level. It prepares one for doing digital logic as well as "A Brief History Of Time" prepares one for doing coursework in cosmology.

Try the Brown book or Mano's "Digital Design" (my preference; took a while to remember his name) and see if it works for you. Good luck.


Code is a good motivator (and I need to buy a second copy, my copy was loaned out and then we both switched jobs, oops). A good follow-on is The Elements of Computing Systems (nand2tetris course) which starts with a more "hands-on" approach to the material in the second half of Code. "hands-on" because it's all via simulations and idealized components, but it's a good course and a motivated teen could work through it with some guidance or solo.

I will second the recommendation for CODE. Great book - you can even read that with your kids.

My tuppenceworth Some high level language VB, C# or Java then the first half of Code by Charles Petzold then The elements of computing systems by Schocken and Nisan followed by the rest of Petzold's book

I don't necessarily know of any one book that meets all of your friends requirements, but...

Tracy Kidder's The Soul of a New Machine might be good for your friend.

http://www.amazon.com/Soul-New-Machine-Tracy-Kidder/dp/03164...

Another good option might be Code: The Hidden Language of Computer Hardware and Software by Charles Petzold.

http://www.amazon.com/Code-Language-Computer-Hardware-Softwa...

Or, how about Coders at Work?

http://www.amazon.com/Coders-Work-Reflections-Craft-Programm...

Another one that I have (but haven't had time to read yet) is Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software by Scott Rosenberg. It might have something that your friend would find interesting.

http://www.amazon.com/Dreaming-Code-Programmers-Transcendent...

Another one that may be inspirational, although it's more about personalities than computer science per-se, would be Steven Levy's Hackers: Heroes of the Computer Revolution.

http://www.amazon.com/Hackers-Computer-Revolution-Steven-Lev...


I'm looking for good book for my cousin (15 yo) to infect him with programming. What would you recommend?

1. Read Code by Charles Petzold.

https://www.amazon.com/Code-Language-Computer-Developer-Prac...

2. Learn C.

3. Learn whatever interests you next.


For very foundational stuff, Charles Petzold has put out some great books.

His book Code is fantastic. He starts at simple battery and lightbulb circuits and builds and builds towards a simple CPU.

He also wrote The Annotated Turing which is a breakdown of Alan Turing seminal paper and you only need high school math to get through it.

When I was in school my favorite course was compiler design and we used Compilers: Principles, Techniques, and Tools (aka the dragon book). It’s one of the best textbooks I’ve used but that was 30 years ago. There might be something better now. Understanding parsers and lexers and (especially) state machines is something that will serve you well.


Three good books that try to introduce computer science to non-specialists from various angles:

* The Pattern on the Stone: The Simple Ideas That Make Computers Work by Danny Hillis

* D is for Digital: What a Well-Informed Person Should Know About Computers and Communications by Brian W. Kernighan (I think his Understanding the Digital World is probably a retitled newer edition of this book?)

* Code: The Hidden Language of Computer Hardware and Software by Charles Petzold

All three of these authors have had interesting and prominent careers in computing. None of these books are exactly on-point in terms of directly addressing careers, but all of them should help you understand more of the substance of what your daughter is working on and the context for other discussions you encounter.


I never formally studied CS, but I can strongly recommend Code by Charles Petzold.

If you want to learn how a computer does what it does at the absolute lowest levels, it's a great starting point. It's all written in laymans terms so it's good as a conceptual overview or for people without a strong math background. If you're interested in diving super deep into that kind of stuff I imagine it would be a great high level overview to anchor yourself.


I'd add Lauren Ipsum, a kids book about computer science I wrote with my wife: http://www.amazon.com/Lauren-Ipsum-Carlos-Bueno/dp/146117818...

For every copy we sell we're donating another, too: http://www.laurenipsum.org/141


+1 to Code (Petzold). I would absolutely start with that. One of my favorite books. The build a computer course from coursera (https://www.coursera.org/learn/build-a-computer) is the natural next step after reading code.

What book/resource would you suggest to budding teenagers who like solving problems and want to learn programming and computer science? And they want to cover both depth and breadth of CS.

Thanks but I already know that book. It's great yet I'm specifically interested in real code bc a book and real code is probably something very different... ;)

FYI there is a second edition of CODE coming out at the end of August.

I will check out Three Easy Pieces! Thanks for the rec.


The Pragmatic Programmer, is a book that's pretty popular and the one I would recommend.

Also, https://wiki.c2.com/ which is not a book, but lots of software related stuff are present.

next

Legal | privacy