Hacker News new | past | comments | ask | show | jobs | submit login
The Computer Science Book (2020) (thecomputersciencebook.com)
185 points by r4victor on Jan 11, 2023 | hide | past | favorite | 22 comments



It's nice to see the author spent a great deal of time and effort to share with others his learnings. However it's important to note his intention at writing this book: "I’ve chosen to focus on topics and concepts that I’ve encountered in my programming career – things that I know are important." Thus it's not an overview of Computer Science per se (which in my opinion is a fuzzy subject without clear boundaries) but subjects the author frequently encountered and perhaps heard as important things in the field.

I would also caution in how the book presents its chosen subjects as "Computer Science." Like the adage goes, "Computer Science is not so much about computers like petri dishes are about biology, or telescopes are about astronomy." There's so much beauty and variety in the field that it's really hard to just pin down in a curriculum. See "A Mathematician's Lament" [1]

I also challenge the notion that some of these subjects logically proceed from the other (some, not all).

I've got no problem with anyone reading the book, they'll be certainly much more informed about the field of computers in general. I especially appreciated the Further Reading sections to let the reader expand his learning. Thanks for sharing this post!

[1] https://www.maa.org/external_archive/devlin/LockhartsLament....


At one point I had the idea to tag each section or paragraph with a topic ID and list the topic IDs directly referenced. Then you could build a graph with the referenced topics as edges. After refactoring it into a DAG, you could do a topological sort to get a linear sequence of topics And chop it into chapters.

I took that as an indication I was procrastinating, but I think it would be a fun way to structure a book!


compare https://news.ycombinator.com/item?id=34296702

Inspired by the title "Sketches of an Elephant", I wonder if practitioners might be interested in a CS book that would be the equivalent of Körner's "The Pleasures of Counting" ( https://books.google.ch/books?redir_esc=y&hl=de&id=wUdtVHBr-... ) which is structured more like a cookbook (inductive presentation) than a textbook (deductive presentation)?

lagniappe: http://www.willamette.edu/~fruehr/haskell/evolution.html

[Edit: come to think of it, what is HN but an institution that throws up a transect of species which may be found within the general —open— interval (CS theory, MBA case studies)?]


Author here! Thank you to whoever posted this. My 2023 resolution was to market it better so this is a great help :).

The overall intent was to create a single, fairly concise volume sketching out the main areas of computer science so that developers from non-traditional backgrounds (boot camps etc) have at least some kind of map of the territory.

When I started working as a dev I really struggled with the idea that there were so many things that I should know about but I wasn’t even aware of until they blew up in my face in some way.

agomez314’s comment is very valid — my framing was “CS stuff that you will encounter as a developer”.

Happy to answer any questions.


You're welcome! I'm collecting learning resources on tech topics at https://bestresourcestolearnx.com and I was looking for a book on CS like this one for a long time. Further readings are especially good – I'm going to steal some of your recommendations ;)


This book seems perfect for me. I have a CS bachelors but didn’t always do well in some classes. I’ve been thinking about doing teach yourself cs .com but this book seems better for me because it’s more shallow which means I can get a broad refresher of my degree in a few months instead of a year or two or three.


Went to buy it and noticed your Amazon link for Australia should be amazon.com.au not just amazon.au :)


Is there any chance to get this as a PDF for offline consumption?


Looks like you can at the base URL: https://thecomputersciencebook.com/


Along with the links to the PDF, you can always download a website, https://superuser.com/questions/970323/using-wget-to-copy-we...


The Leanpub link provides a DRM PDF.

Email me if it’s unaffordable for you.


Oops sorry, somehow I missed it.


Like another commenter said, studied CS and didn't do well in every class, so excited to refresh my knowledge this year. Curious if anyone knows of a similar resource for cybersecurity (also a huge field, but ig looking for a broad overview of the landscape for a curious layperson).


I did a joint major in math and computer science for undergrad so I missed out on a lot of subjects like computer architecture, operating systems, and compilers.

This looks like the perfect depth for me to get up to speed at a relaxed pace over a few months: simpler than a textbook but more robust and instructive than blog posts, Wikipedia etc.

A few cents:

- not sure if it's already nestled in some chapters, but cryptography is the most important missing topic imo

- if there ends up being a print copy I would happily purchase it

- the name makes it hard to find: a google search for "computer science book" doesn't have a first page result


I don't have a computer science degree and probably won't get one but I would love to study it on my free time, which book or books would you all recommend that covers it well?


Computer Science is very broad so the answer will be different depending on what you'd like to focus on. Algorithms, data structures, systems, graphics, networking, more theoretical CS etc.

That said, for algorithms I could recommend CLRS, Dasgupta's Algorithms, Kleinberg's Algorithm Design. For theoretical CS: Models Of Computation by J. Savage, Sipser's Introduction to the Theory of Computation. For OS: Computer Systems A Programmer's Perspective by Bryant and O'Hallaron, Operating Systems - Three Easy Pieces by Arpaci-Dusseau.


Thank you for your input, I am planning on getting an engineering degree in computer technology or electrical engineering.

I've heard people saying that comp-sci is oversaturated and other stuff, but I don't know.


This looks great and covers a lot of interesting areas.


I skimmed it all and found it very interesting and will probably read it multiple times.


Good to see that it starts with Computability and Complexity.


This looks really good. The further reading sections in themselves contain some gold.


Indeed! I found this book completely accidentally via google and it seems to be largely unknown. Let's fix it!

It's really hard to attack such a vast subject and produce something valuable. The author did a great job.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: