Code by Charles Petzold.
Of the ones that I haven't finished, but have at least looked at, I think I'd say:
Machine Learning for Hackers by Drew Conway and John Myles White
and
The Master Algorithm by Pedro Domingos
131–140 of 201 posts
Code by Charles Petzold.
Of the ones that I haven't finished, but have at least looked at, I think I'd say:
Machine Learning for Hackers by Drew Conway and John Myles White
and
The Master Algorithm by Pedro Domingos
GEB
Earlier quoted context omitted.
It is a fantastic book. It doesn't take u into typical algorithms (at least that I recall), but rather it explains as intuitively as possible how a computer is built up from flip flops and binary logic to assembly, intermediate language and on to full-on compilation of a useable language. Basically beginner programmers can acquire a broad understanding of the foundation the programs you're building are built on by re…
Is this book relevant only to beginners? Do you think a programmer with about 7 years of experience (in C, C++, C#, Java) will find it useful?
An interesting mix of computer science and psychology. Just started on this one recently. Highly recommended by a colleague. Seems great so far.
The Algorithm Design Manual by Skiena. Each section contains a story of some situation he was in where he faced a problem which he solved by applying one of various algo techniques (DP, divide and conquer, etc.). After reading CLRS for a class, it was nice to see how some of the most common textbook algorithms have been applied by a notable computer scientist.
Earlier quoted context omitted.
The one thing I really wish I had was a comprehensive test suite for all the exercises. They are (obviously) hard to solve and there's no other way to see if you were right but to check the solution. It's a huge flaw in most CS books, feedback without hand feeding you the answers.
I disagree with this pretty strongly, actually. The best skill you can get from SICP-level exercises is looking at the code and being completely confident that you understand it and that it is correct. The best way to use them is to write the code without running it, and once you are sure, review it with someone else to find out if you were right. This breaks down a bit around chapters four and five where you are plu…
Of course someone could use the test suite to just make changes semi-randomly until it works, but there's no reason it has to be used that way.
The gist is a model of computation based on knotting the worldlines of a certain kind of particle (well, particle/anti-parricle pairs) and measuring properties of the knots/links. It's also the theory behind Microsoft's effort to build a quantum computer.
Highly recommend at least reading the non-technical sections (ie, everything but section 3 and appendix A).
Copy of paper: https://arxiv.org/abs/0707.1889
Algorithms to Live By: The Computer Science of Human Decisions An interesting mix of computer science and psychology. Just started on this one recently. Highly recommended by a colleague. Seems great so far.
I still think it is better suited for those with little to no CS knowledge.
Algorithms to Live By: The Computer Science of Human Decisions An interesting mix of computer science and psychology. Just started on this one recently. Highly recommended by a colleague. Seems great so far.
The reasons and explanations given seem to touch around a technical, but not too technical approach to algorithms. Getting stuck in a place that probably just leaves both audiences a bit unhappy. For instance, there is a chapter that mentions that the optimal stopping point is ~37%. There is never any mention about how the 37% number is found. Of course, I could look it up but I could just as well look up the optimal stopping problem.
Aside from that, the examples come across as contrived and inapplicable. Sure merge sorting your socks sounds great, but I still will never do it!
Algorithms to Live By: The Computer Science of Human Decisions An interesting mix of computer science and psychology. Just started on this one recently. Highly recommended by a colleague. Seems great so far.
Many of the algorithms and ideas are familiar, but the novelty here is how one can map these CS lessons to improve performance on the human OS and human network.