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....
I took that as an indication I was procrastinating, but I think it would be a fun way to structure a book!
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)?]
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.
Email me if it’s unaffordable for you.
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
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.
I've heard people saying that comp-sci is oversaturated and other stuff, but I don't know.
It's really hard to attack such a vast subject and produce something valuable. The author did a great job.