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

+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.


sort by: page size:

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 a beginning programmer, I'd say buy a copy of "Code Complete", then rip it into 5 parts. Read any one of the 5.

I like “The Elements of Computing Systems: Building a Modern Computer from First Principles”.

You build a whole computer from scratch through small projects.

Sure, you want learn a specific language, but you’ll grock programming in general.


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.


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


If you want to learn it from the bottom up, read Code.

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

It's a page turner and you'll know more about computers than many developers. You still won't be a programming guru from this, but its a great holistic approach that you can then supplement.


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.


buy a book. write code.

If you're serious about it, I recommend The Art of Computer Programming by Donald Knuth. You should start with volume 1.


A poor recommendation for a beginner. Dense and frankly boring.

Start with Code by Charles Petzold.

https://www.reddit.com/comments/ch0wt/a_reading_list_for_the...


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

(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.


Pretty much any book by Steve McConnell, but I'd start with Code Complete.

Regardless of where you focus your attention on next, you might want to consider filling in your understanding of really low-level foundations with books like “Code” be Charles Petzold and “The Elements of Computing Systems” by Noam Nisan and Shimon Schocken.

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


I'm also a self taught programmer, my first book about programming was "Automate the Boring Stuff with Python", then I tried to learn C and I didn't understand anything of what I read until I find "Introduction to Computing Systems" by Yale Patt and Sanjay Patel, great book.

Edit: also did 200 Codewars katas to practice, then started to build things.


I'm sorry why would you want to do that? I mean what are you trying to learn specifically? If you're trying to learn coding then you should probably start with simpler easy stuff like HTML then Javascript then Java/C++...

Otherwise most books about "computing" in general are more outdated since this field evolves so fast.

-A software engineer with 5+ years experience


I'm sorry why would you want to do that? I mean what are you trying to learn specifically? If you're trying to learn coding then you should probably start with simpler easy stuff like HTML then Javascript then Java/C++...

Otherwise most books about "computing" in general are more outdated since this field evolves so fast.

-A software engineer with 5+ years experience


I would like a Computer Science 102 book. I'm a self taught programmer and started learning through a couple CS 101 books (eg. John Guttag). Those 101 skills were enough for me to run an online business via python/django. However, I don't know what's next to make me a better programmer. I'm assuming learning algorithms is the next step, but I don't really know.
next

Legal | privacy