Remix.run Logo
maqp 2 days ago

Top 5 will never cover the field. Here's my top 10

* Brookshear and Brylow - Computer Science - An Overview

* Forta - Teach yourself SQL in 10 minutes

* Stallings - Computer Organization and Architecture

* Stallings - Operating Systems - Internals and Design Principles

* CLRS

* Kurose, Ross - Computer Networking - A Top Down Approach

* Sipser - Introduction to The Theory of Computation

* Stallings, Brown - Computer Security - Principles and Practice

* Aumasson - Serious Cryptography

* Russell, Norvig - Artificial Intelligence - A Modern Approach

And even this fails to cover programming languages. Python is the lingua franca of the field. Most past recommended books are getting outdated, but perhaps Matthes' Python Crash Course 3rd edition.

kenjackson a day ago | parent | next [-]

SICP still deserves to be on such lists.

I also love Concrete Mathematics.

I prefer the Tanenbaum OS books over Stallings. In particular the design and implementation book, although it is more than a decade old now.

wlruys 2 days ago | parent | prev | next [-]

Just to add to this, I think John Levine's Linkers and Loaders is also a great reference.

currysausage a day ago | parent | prev | next [-]

When I need a refresher on the basics of Python, I refer to Python Distilled, and when I want a deep dive, I turn to Fluent Python. Reading these books makes me feel like I'm sitting next to an experienced, witty colleague.

I will take a look at Python Crash Course.

rchiang a day ago | parent | prev | next [-]

I agree that five books won't ever cover every discipline withing Computer Science. Just providing an introductory book, a university-level textbook, and an expert/graduate-level reference for each discipline turns into a long list.

See if this blog post helps out with sorting through the various CS subjects: https://tolerablecoder.blogspot.com/2022/03/a-short-list-of-...

commandlinefan 2 days ago | parent | prev [-]

> * Kurose, Ross - Computer Networking - A Top Down Approach

Over TCP/IP Illustrated?

rchiang a day ago | parent [-]

I'd make the argument that TCP/IP Illustrated Volume 1 covers the details of TCP/IP in a very "packet and fields" oriented way. Volume 2 goes into a lot of the "data structures and implementation" way. That makes for a very good supplemental reference, but makes for a less than ideal introductory textbook on the subject of computer networking.

Kurose's book really does take the top-down approach from high level networking concepts through the application layer to the transport layer and downward. It provides just enough of the necessary details (here's a datagram with fields A and B) over a comprehensive list of all the details (here's every field, every field size, and a list of every field option).