6 ms·
Ask HN: Best value computer science book?
I have a book gift card for a 100€, on Amazon. Looking for inspiration?
Circle of interest : Programming languages, [Symbolic] Logic, algorithms in general sense
Circle of non-interest : AI & machine learning, video games programming
- turtleyacht 3y agoThriftBooks is on Amazon: ThriftBooks Atlanta storefront: https://www.amazon.com/s?i=merchant-items&me=A1QJ4UH6FW3UH1 https://www.amazon.com/s?i=merchant-items&me=A1QJ4UH6FW3UH1 ThriftBooks Chicago storefront: https://www.amazon.com/s?i=merchant-items&me=A365C2XG0O7B0H https://www.amazon.com/s?i=merchant-items&me=A365C2XG0O7B0H Might also be possible to purchase a Visa gift card for a little extra, and then try the official Thriftbooks site: https://www.thriftbooks.com https://www.thriftbooks.com With the converted gift card, Humble Bundle (ebooks): https://www.humblebundle.com/books https://www.humblebundle.com/books Math and CS concepts rarely expire.
- gpvos 3y agoBut which book then?
- turtleyacht 3y agoMost--if not nearly all--of the books suggested in this thread are worthy of space on the shelf (or hard drive). Compared to tsundoku¹, finishing one book is leagues ahead of one who has never started a hundred books. ¹ https://en.m.wikipedia.org/wiki/Tsundoku https://en.m.wikipedia.org/wiki/Tsundoku
- gpvos 3y agoYou still appear to be advertising a specific book selling website instead of recommending books like OP asked for.
- turtleyacht 3y agoMm, okay. ThriftBooks is my go-to for used books, because I first discovered them through Internet Archive. However, IA's partnership is with Better World Books, (BWB) which is a completely different site. Checking orders, there was a switch from BWB to ThriftBooks. I don't know how the switch happened, but you'd think I would notice when receipts stopped having anthropomorphized messages. So, I'm not able to link IA with ThriftBooks, unless OpenLibrary linked them and I happened to stick with them after the first real delivery. (Or, maybe ThriftBooks happened to have better inventory at the time.) > advertising With the above as context--well, it worked for me. Classics one or two orders of magnitude cheaper is a good deal. That brings us to > recommending books Hard to say¹ without more context. First, I'll add a constraint: don't get only one book priced at 100 euro, especially since many books in this thread are inarguably valuable for much less. Then really, what OP can afford is a collection of books. Then, there is no "one best" book. For the sheer number of exercises, can't go wrong with Deitel & Deitel How to Program series: Java, C, C++, or Python. I know folks will scream, but without much more to go on, there's enough material to get solid on fundamentals. It's not the best book on CS, but it's one of the best to get started. The way OP mentions "circle of interest" makes me assume they have some knowledge of things, so let's skip Data Structures & Algorithms, and head straight to electives: operating systems, databases, advanced algorithms, functional programming, software engineering, networking, assembly, etc. The solution here is to buy multiple books from the suggested ones in this thread, where the books * are not already available for free * are used books Along with the consideration for book bundles from Humble Bundle, where past publishers have included Pragmatic Programmer, Manning, Mercury, O'Reilly, Packt, Apress, Wiley, and No Starch Press. But that would only likely be available after converting from Amazon to a generic gift card. ¹ https://news.ycombinator.com/item?id=36566229 https://news.ycombinator.com/item?id=36566229
- nextos 3y agoProgram = Proof, Samuel Mimram: https://www.lix.polytechnique.fr/Labo/Samuel.Mimram/teaching/INF551/course.pdf https://www.lix.polytechnique.fr/Labo/Samuel.Mimram/teaching.... Also available as hardcopy in Amazon.
- medler 3y agoReally hard to make a recommendation without knowing what you know, where you’re at in your computer science education, what you’ve already read and liked, etc.
- glimshe 3y agoStructure and Interpretation of Computer Programs. If you can only buy one book about Computer Science in your life, that's the one to get. It's not dirt cheap (even used), but it's an incredible value nonetheless: https://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871 https://www.amazon.com/Structure-Interpretation-Computer-Pro...
- SinePost 3y agoIt is also available to read online for free. https://web.mit.edu/6.001/6.037/sicp.pdf https://web.mit.edu/6.001/6.037/sicp.pdf (Second edition) https://sicp.sourceacademy.org/sicpjs.pdf https://sicp.sourceacademy.org/sicpjs.pdf (JavaScript edition)
- dijit 3y agoI have this book, it's very... lispy.
- batguano 3y agoThe second edition uses Python rather the the first edition which uses the Lisp dialect Scheme.
- rgrmrts 3y agoThe second edition uses JavaScript I thought? Unless there’s also a python edition
- ChristianGeek 3y agoThere’s an unofficial Python version floating around, but you’re better off with one of the Scheme versions.
- rgrmrts 3y agoI like the Scheme version :) haven’t worked through the newer one. I do understand their impetus for it though (even if I personally don’t agree with it).
- ufo 3y agoIf you're interested in implementing programming languages: Crafting Interpreters, by Robert Nystrom https://craftinginterpreters.com/ https://craftinginterpreters.com/ Most accessible compilers book out there.
- waiwai933 3y agoDo you already have the standard undergraduate books? * Introduction to Algorithms (Cormen, Leiserson, Rivest, Stein) * Compilers: Principles, Techniques, and Tools (Aho, Lam, Sethi, Ullman) Knuth is also great to have as a reference - I've only needed to consult it professionally two or three times, but it's saved a _lot_ of time when I have.
- pcl 3y agoCLR is a fantastic book. (I haven’t read the updated editions, but I would assume the latest holds up.)
- GuestHNUser 3y agoLatest edition is remarkably good. It's my recommendation for anyone wanting to start diving into algorithms.
- dgan 3y agoWow, CLR is 239€. I do have a paid job, but dear lord
- Emigre_ 3y agoSymbolic Logic and The Game of Logic, by Lewis Carroll Operating Systems: Three Easy Pieces, by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
- rmorey 3y agoprogramming pearls is quite cheap i think
- vram22 3y agoThere is also a sequel, More Programming Pearls. I have both, and they are good. In one of them, Bentley shows some advanced uses of awk, involving its associative arrays, in a short awk program to do some sort of processing, and says that an equivalent C program would be a few hundred lines, IIRC.
- rosencrantz 3y agoMy favorite is The Turtle Book "Computer Science" by Aho & Ullman. I also liked the books "Computer Algorithms" (by Baase et al), The Wizard Book, The Dragon Book, The Tiger Book (about compiler) and "The Comet Book" (about os)
- cinntaile 3y agoIt would be nice if people could add why their suggestion is the best value computer science book, now it's just a bunch of suggestions without any context.
- patrickthebold 3y agoHere's a free algorithms book: https://jeffe.cs.illinois.edu/teaching/algorithms/book/Algorithms-JeffE.pdf https://jeffe.cs.illinois.edu/teaching/algorithms/book/Algor... It's got to be a good value!
- jtokoph 3y agoJeff was also my favorite CS instructor at UIUC. He really knew how to help you learn how to think and solve problems.
- ljhsiung 3y agoBest teacher I've ever had, hardest exams I've ever taken :( :(
- pgayed 3y agoIt is so difficult to write challenging exams that only top-tier (“devoted”) professors do.
- jtokoph 3y agoThat’s what made his classes brilliant. IIRC, the exams were not questions you could memorize the answers to. Instead they were problems you had to solve in real time. You had to exercise the problem solving and algorithm building you learned throughout the course and discover the solution. I never felt so smart, even now, than when I figured out the solution to a difficult problem on those exams.
- manu3000 3y agoHard to beat the scope of "The Elements of Computing Systems: Building a Modern Computer from First Principles": https://www.amazon.com/Elements-Computing-Systems-Building-Principles/dp/0262640686 https://www.amazon.com/Elements-Computing-Systems-Building-P... The website is here: https://www.nand2tetris.org/ https://www.nand2tetris.org/
- reaperman 3y agoanything not available on http://libgen.rs http://libgen.rs
- freefaler 3y agoor annas-archive.org
- dehrmann 3y agoIs there a shortage of good, free CS material?
- ZoomZoomZoom 3y agoThere's a few solid free books on algorithms, but I'm not aware of anything comparable to "Concepts, techniques, and models of computer programming" by Peter Van Roy and Seif Haridi available for free, (besides SICP and HtDP) so my advice is to check it out and then buy it.
- jldugger 3y agoUsed textbooks can get pretty cheap when you don't need the exact edition for the problem sets. Textbooks I still have: - Operating Systems, Tannenbaum - MINIX, Tannenbaum - Computer Networks, Tannenbaum Not schoolbooks: - UNIX & Linux System Administrator Handbook - The Linux Programming Interface - Time Management for System Administrators, Limoncelli - The Practice of System and Network Management, Limocelli et al. NonCS: - Statistics, Freedman - MLA Handbook - Technical Communication, Markel
- jldugger 3y agoOh, and one book I rather enjoyed was Ideas That Created the Future, which is not exactly a textbook (but is probably used by the author as such) so much as a survey on the history of computer science via primary sources. Each source has a 1-2 page summary providing context, but the meat is reading the original papers on computer design, Complexity Theory, various papers on logic and proofs and proofs of software properties, theorem provers, NP completeness, neural networks, etc. One thing I learned is that the idea of a computational neural network predates actual working general purpose computers by a few years, and is actually cited in the construction of computers as an inspiration. https://direct.mit.edu/books/edited-volume/5003/Ideas-That-Created-the-FutureClassic-Papers-of https://direct.mit.edu/books/edited-volume/5003/Ideas-That-C...
- readthenotes1 3y agoThe most valuable book in terms of increased income to me is _Exploring Requirements_ by Gauss and Weinberg
- frompdx 3y agoA few that I really like. - Grokking Algorithms: Simple and to the point explanations of common algorithms with pictorial representations. - Let Over Lambda: A Guide to making the most of macros in Common Lisp. - Starting Forth: Never used or hear of Forth? No problem, this book teaches this very unique language in terms that are easy to grasp. Forth is perhaps my favorite way to program microcontrollers.
- vram22 3y agoThere is also Thinking Forth, by the same author, Leo Brodie, IIRC.
- WillAdams 3y agoIf you're not familiar w/ TeX, and if _The Art of Computer Programming_ seems tough sledding (but interesting), may I suggest: https://www.amazon.com/Literate-Programming-Lecture-Notes-Donald/dp/0937073806 https://www.amazon.com/Literate-Programming-Lecture-Notes-Do... You could check out: http://literateprogramming.com/ http://literateprogramming.com/ to see if it's a good fit. Hopefully it will get reprinted soon, but there are still copies available at fairly reasonable prices.
- User23 3y agoSipser’s Introduction to the Theory of Computing is fantastic.
- fabianholzer 3y agoI can second that, but back when I took my course on computational theory, it was prohibitively expensive (~200 Euros) for a poor student.
- gtirloni 3y agoModern Operating Systems 4th Edition, Andrew Tanenbaum, ISBN 9780133591620
- careless_lisper 3y agoI'm biased towards more practical books but here you go - Designing Data-Intensive Applications by Kleppmann - not in your circle of interest necessarily but not in your circle of non-interest either. - Introduction to the Design & Analysis of Algorithms by Levitin - not very popular but a great book. Interestingly, it groups algorithms around design techniques e.g. decrease-and-conquer, divide-and-conquer, greedy, DP. - Algorithms by Sedgewick and Wayne - great algorithms book if your main programming language is Java, I keep coming back to it.