(Part 2) Top products from r/AskComputerScience
We found 40 product mentions on r/AskComputerScience. We ranked the 376 resulting products by number of redditors who mentioned them. Here are the products ranked 21-40. You can also go back to the previous section.
21. Computer Systems: A Programmer's Perspective (2nd Edition)
Sentiment score: 1
Number of reviews: 2
22. Computer Systems: A Programmer's Perspective (3rd Edition)
Sentiment score: 1
Number of reviews: 2
23. The Art of UNIX Programming (The Addison-Wesley Professional Computng Series)
Sentiment score: 2
Number of reviews: 2
24. AI Game Programming Wisdom 2 (Game Development Series)
Sentiment score: 2
Number of reviews: 2
Used Book in Good Condition
25. Coders at Work: Reflections on the Craft of Programming
Sentiment score: 2
Number of reviews: 2
Apress
27. Introduction to Automata Theory, Languages, and Computation (3rd Edition)
Sentiment score: 2
Number of reviews: 2
28. Game Programming GEMS 3 (GAME PROGRAMMING GEMS SERIES) (v. 3)
Sentiment score: 2
Number of reviews: 2
NewMint ConditionDispatch same day for order received before 12 noonGuaranteed packagingNo quibbles returns
29. Game Programming Gems (GAME PROGRAMMING GEMS SERIES)
Sentiment score: 2
Number of reviews: 2
Used Book in Good Condition
30. Modern C++ Design: Generic Programming and Design Patterns Applied
Sentiment score: 2
Number of reviews: 2
31. The Information: A History, A Theory, A Flood
Sentiment score: 2
Number of reviews: 2
Vintage Books
32. Game Programming Gems 5 (GAME PROGRAMMING GEMS SERIES) (v. 5)
Sentiment score: 2
Number of reviews: 2
Used Book in Good Condition
33. AI Game Programming Wisdom (Game Development Series)
Sentiment score: 2
Number of reviews: 2
Used Book in Good Condition
34. Writing Solid Code (Microsoft Programming Series)
Sentiment score: 2
Number of reviews: 2
Used Book in Good Condition
35. The Art of Computer Programming, Volumes 1-4A Boxed Set
Sentiment score: 2
Number of reviews: 2
Volume 1: Fundamental AlgorithmsVolume 2: Seminumerical AlgorithmsVolume 3: Sorting and SearchingVolume 4A: Combinatorial Algorithms
36. Concrete Mathematics: A Foundation for Computer Science (2nd Edition)
Sentiment score: 2
Number of reviews: 2
37. The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine
Sentiment score: 2
Number of reviews: 2
John Wiley & Sons
38. Cracking the Coding Interview: 189 Programming Questions and Solutions
Sentiment score: 1
Number of reviews: 2
39. The Pragmatic Programmer: From Journeyman to Master
Sentiment score: 1
Number of reviews: 2
Save up to 15% when buying these two titles together.The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users.It covers topi...
If you're looking to learn Python then Practical Programming: An Introduction to Computer Science Using Python 3 is what I recommend. How to Think Like a Computer Scientist: Learning with Python is also very good.
Now in terms of the question that you ask in the title - this is what I recommend:
Job Interview Prep
Junior Software Engineer Reading List
Read This First
Fundementals
Understanding Professional Software Environments
Mentality
History
Mid Level Software Engineer Reading List
Read This First
Fundementals
Software Design
Software Engineering Skill Sets
Databases
User Experience
Mentality
History
Specialist Skills
In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.
Caclulus track is typically required. Linear algebra is pretty useful (and often required). If you really wanna go into CS specific maths.... pick up a book on Discrete Math and give it a go. If you want to be really hardcore, pickup Concrete Mathematics ... good luck, hard book.
Honestly, you're probably better off spending that time learning a programming language. Specifically, whatever language your school teaches mostly. Math in a CS bachelor isn't very intense until you get into senior/graduate level courses.
Programming is language agnostic; it sounds like you're looking for breadth rather than depth, so:
Those are the only books I ever used, and I've had no problem programming in any (serious) language I've come across.
Scala, Mozart, etc. cover more "programming paradigms" than C++, but there are more resources for C++ than those languages, so it is a good balance between breadth and support. If you would rather learn a few languages than one language then I would suggest the combination of an ML, C, Python, XSLT, and Scheme. Spend two weeks in each language and make sure you've implemented something nontrivial in each, and make sure that implementation is idiomatic.
There's also Knuth et al's Concrete Mathematics. The writing style is very loose and casual but it quickly moves from fairly easy intro level stuff to graduate level mathematics, so whether you find it useful as an intro book depends on your background. It is however, and excellent discrete book if you work through it slowly and methodically.
Check out The Annotated Turing by Charles Petzold. It's Turing's paper on the Entscheidungsproblem which introduces Turing Machines, annotated with a lot of background information and some stuff about Turing's career. Very interesting stuff.
I can also recommend Code, by the same author which describes how a computer works from basic principles. It's doesn't have a lot of material on Turing, but it's certainly an interesting read for anyone interested in Comp Sci.
I thought Coders at Work: Reflections on the Craft of Programming was a really enjoyable read.
It's just a collection of interviews. The book features some really interesting programmers such Ken Thompson, Joe Armstrong, Peter Norvig, and Donald Knuth. I had a great time reading their stories.
The "Spot the bug" posts here are like that although I think they are c++ (http://blogs.msdn.com/b/rsamona/).
Books like Writing Solid Code (http://www.amazon.com/Writing-Solid-Microsoft-Programming-Series/dp/1556155514) are also helpful if you're going to be writing a lot of C or C++ code. It has some helpful ideas about how to build C code that is debuggable.
Course: UC Berkeley OS & Systems Programming
The Art of Unix Programming
There are many similar resources out there. Extract keywords, web search, repeat. Best of luck!
Turing's Cathedral: The Origins of the Digital Universe https://www.amazon.com/dp/1400075998/ref=cm_sw_r_cp_api_i_AToIDb7FX1A9D
Its about the creation of the institue for advanced study with Von Neumann, Oppenheimer and the rest of them. Fascinating story about the politics around the creation of modern computer science.
The Annotated Turing is fantastic! Also check out Turing's Cathedral for some insight into how his 1936 paper influenced computing into the next few decades and The Essential Turing to read Turing in his own words.
For a look at how Turing influenced information theory (and a fascinating general introduction to its history), check out The Information.
If you only read one work on the topic, it should be The Art of Computer Programming by Don Knuth: https://www.amazon.com/dp/0321751043/
The textbook for MIT's 6.001 (introduction to computer science) is the much loved Structure and Interpretation of Computer Programs by Abelson, Sussman, and Sussman: https://www.amazon.com/dp/0262510871/ . Originally it was in Scheme but the 2nd edition is in Python.
Finally, because people asking about computer science are often asking about something a bit broader than pure computer science, I recommend Code: The Hidden Language of Computer Hardware and Software by Charles Petzold. It is a thorough tour of computing in practice at every level, top to bottom. https://www.amazon.com/dp/073560505X/
It seems that your comment contains 1 or more links that are hard to tap for mobile users.
I will extend those so they're easier for our sausage fingers to click!
Here is link number 1 - Previous text "1"
Here is link number 2 - Previous text "2"
Here is link number 3 - Previous text "3"
Here is link number 4 - Previous text "4"
Here is link number 5 - Previous text "5"
Here is link number 6 - Previous text "6"
Here is link number 7 - Previous text "7"
Here is link number 8 - Previous text "1"
Here is link number 9 - Previous text "2"
Here is link number 10 - Previous text "3"
Here is link number 11 - Previous text "4"
----
^Please ^PM ^/u/eganwall ^with ^issues ^or ^feedback! ^| ^Delete
Thanks, I already have a book on this I was planning on reading: Introduction to Automata Theory, Languages, and Computation. I just started reading CLRS though, do you think it would be helpful to finish it or are the two mostly unrelated?
Logic, Number theory, Graph Theory and Algebra are all too much for you to handle on your own without first learning the basics. In fact, most of those books will probably expect you to have some mathematical maturity (that is, reading and writing proofs).
I don't know how theoretical your CS program is going to be, but I would recommend working on your discrete math, basic set theory and logic.
This book will teach you how to write proofs, basic logic and set theory that you will need: http://www.amazon.com/How-Prove-It-Structured-Approach/dp/0521675995
I can't really recommend a good Discrete Math textbook as most of them are "meh", and "How to Prove It" does contain a lot of the material usually taught in a Discrete Math course. The extra topics you will find in discrete maths books is: basic probability, some graph theory, some number theory and combinatorics, and in some books even some basic algebra and algorithm analysis. If I were you I would focus mostly on the combinatorics and probability.
Anyway, here's a list of discrete math books. Pick the one you like the most judging from the reviews:
Don't bother trying to learn too much too soon, as you really do need to let time for the math to sink in.
As someone who hated math, this turned out to be one of my absolute favourite books in college:
http://www.amazon.co.uk/gp/product/1408263238?psc=1&redirect=true&ref_=oh_aui_detailpage_o06_s00
Probably not what you're looking for though.
Are you looking for pure computer science or do programming books count?
The pragmatic programmer is a great book, and an enjoyable read:
http://www.amazon.co.uk/Pragmatic-Programmer-Andrew-Hunt/dp/020161622X/ref=sr_1_1?ie=UTF8&qid=1422386669&sr=8-1&keywords=pragmatic+programmer
Go read Cracking the Coding Interview. It covers pretty much everything they are likely to ask you and has a bunch of practice questions with solutions/rationale.
I read Computer Systems A programmer's perspective on my first BSc year in Software Engineering.
Start with the fundamentals so has a good foundation to build on
Thank you. I really want to go into the 'Curse the entire field of CS and maths' level. This is the book I was suggested via PM. I'll try the first approach you suggest, then I'll scale up since we are a small group of people trying to learn together so I think that a couple of heads tackling into a problem might solve it.