Saturday, June 29, 2013
Review: Engines of Logic: Mathematicians and the Origin of the Computer
Review: Engines of Logic: Mathematicians and the Origin of the Computer |
Engines of Logic: Mathematicians and the Origin of the Computer Posted: |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Friday, June 28, 2013
Review: Introduction to the Theory of Computation
Review: Introduction to the Theory of Computation |
Introduction to the Theory of Computation Posted: Summary of this review: You'll find yourself getting interested in, and understanding, concepts, very easily, but if you're an advanced reader you'll often find (at the end of the chapters) that the more advanced topics/problems have been glossed over. If this is your assigned course textbook, you're lucky. If this is NOT your assigned textbook, USE it as your guide. It makes topics simpler and more intuitive. The way Sipser ropes down exotic theorems into straightforward, understandable logic is almost magical. The book scores in most areas: smoothness of flow, ease of understanding, order of presentation, motivational cues, and thoroughness in the areas covered. The problem with the book is in the number of topics covered, and in the number of examples. There are not sufficient examples in some cases, and not sufficient material in some cases. This is a small textbook. At the end of each chapter, Sipser often glosses over the more advanced issues. If doing a thorough study, one will frequently need a more complete reference. This will, of course, not be a problem if your course does not go beyond what is covered here: Finite Automata, Turing Machines, the relationship between the classes of languages, reducibility, and complexity theory. |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Thursday, June 27, 2013
Review: Compilers: Principles, Techniques, and Tools
Review: Compilers: Principles, Techniques, and Tools |
Compilers: Principles, Techniques, and Tools Posted: Aho, Ullman et. al's "Compilers" is a fantastic book and well worth studying for all computer programmers - implementing a compiler compiler will yield tangental benefits to anyone who writes programs for a living or for fun. However, the Amazon Kindle edition of this book is *awful*. First and foremost, I discovered at least one error in an algorithm that is not present in the standard edition that causes the book's proposed algorithms to be incorrect (in this case, it was algorithm 4.31 - in step 1, you should compute FIRST(alpha), not FIRST(A).) On top of that, there are spacing issues and font issues throughout the book. It appears that in many places where the standard edition had a word separated across lines, the Kindle edition merely has that word split in two with a space between its halves. Worse, the font choice used to typeset algorithms doesn't easily distinguish many greek lowercase letters from their modern English equivalents, the result being that it is fiendishly difficult to understand some algorithms (the book uses greek letters to indicate a 'sentential form', so they appear a *lot* and tend to be right next to their modern equivalents.) In other words, I would give Compilers (the Standard edition) a 5/5 (or maybe a 4/5 - it could stand to use a bit more real-world code), but this Kindle edition is rubbish and you SHOULD NOT BUY. |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Wednesday, June 26, 2013
Review: Higher-Order Perl: Transforming Programs with Programs
Review: Higher-Order Perl: Transforming Programs with Programs |
Higher-Order Perl: Transforming Programs with Programs Posted: As a programmer, your bookshelf is probably overflowing with books that did nothing to change the way you program...or think about programming. You're going to need a completely different shelf for this book. While discussing caching techniques in Chapter 3, Mark Jason Dominus points out how a large enough increase in power can change the fundamental way you think about a technology. And that's precisely what this entire book does for Perl. It raids the deepest vaults and highest towers of Computer Science, and transforms the many arcane treasures it finds---recursion, iterators, filters, memoization, partitioning, numerical methods, higher-order functions, currying, cutsorting, grammar-based parsing, lazy evaluation, and constraint programming---into powerful and practical tools for real-world programming tasks: file system interactions, HTML processing, database access, web spidering, typesetting, mail processing, home finance, text outlining, and diagram generation. Along the way it also scatters smaller (but equally invaluable) gems, like the elegant explanation of the difference between 'scope' and 'duration' in Chapter 3, or the careful exploration of how best to return error flags in Chapter 4. It even has practical tips for Perl evangelists. Dominus presents even the most complex ideas in simple, comprehensible ways, but never compromises on the precision and attention to detail for which he is so widely and justly admired. His writing is--as always--lucid, eloquent, witty, and compelling. Aptly named, this truly is a Perl book of a higher order, and essential reading for every serious Perl programmer. |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Tuesday, June 25, 2013
Review: How to Prove It: A Structured Approach
Review: How to Prove It: A Structured Approach |
How to Prove It: A Structured Approach Posted: This is it folks, the best there is! However, it could have been better. I bought the book almost 10 years ago. I am a secondary ed. math teacher and when I left college I was quite upset with myself that I had this fancy math degree and couldn't prove anything. I picked up this book and today I'm working on my PhD in mathematics! This book inspired me to that. First - What's wrong with the book. Not that there really is anything wrong with the book. I have attempted this book 3 times. I admit, the first two times I stalled (1997 - 2001) when I got to page 119. For some reason I couldn't grip those concepts such as intersecting families, etc. The preface of the book says only high school mathematics is required - that is just flat out wrong. This book is more for undergrads and maybe older fossils like me that have delved into mathematics a bit more than average. Also, like all the other reviews, there is too many exercises with no solutions. What really threw me with that is I didn't know if I was setting the written argument up properly. Sure, on the one hand, it's better to NOT have answers so you strive like a mad person to find them. Yet, it's so frustrating to not know if you did something right. The best approach is to do your best I suppose. After the third try (2004 & 2005) I finally completed the book on my own volition and I'm assuming most of my content is correct. Velleman describes math so well that I honestly admit, I have a full repetoire of tactics to use to solve mathematical proofs. I don't have the confidence to toy with the big boys yet, like correcting a 49 page proof pertaining to the 'Twin Prime Conjecture' ... but it is SO NICE to UNDERSTAND the arguments!... When I took Number Theory, I knew induction well, I know the If P Then Q arguments, it was just a blessing to know what the angle that the provers were using to prove mathematical theorems. I absolutely love this book. The cover is falling off and the pages are wearing out. I'm about to buy a new copy and start all over again. Mastery of this book, will certainly lead to a mastery of proof-writing in mathematics. I totally 100% recommend you buy this book if you are interested in mathematical proofs. |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Monday, June 24, 2013
Review: Introduction to Algorithms
Review: Introduction to Algorithms |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Sunday, June 23, 2013
Review: Introduction to Algorithms
Review: Introduction to Algorithms |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Saturday, June 22, 2013
Review: Information Theory, Inference and Learning Algorithms
Review: Information Theory, Inference and Learning Algorithms |
Information Theory, Inference and Learning Algorithms Posted: Uniting information theory and inference in an interactive and entertaining way, this book has been a constant source of inspiration, intuition and insight for me. It is packed full of stuff - its contents appear to grow the more I look - but the layering of the material means the abundance of topics does not confuse. This is _not_ just a book for the experts. However, you will need to think and interact when reading it. That is, after all, how you learn, and the book helps and guides you in this with many puzzles and problems. |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Friday, June 21, 2013
Review: Concrete Mathematics: A Foundation for Computer Science
Review: Concrete Mathematics: A Foundation for Computer Science |
Concrete Mathematics: A Foundation for Computer Science Posted: This book is perhaps one of the most beautifully written books I have ever read. All the proofs presented here are elegant. When reading the proofs in this book, you can feel that one sentence logically and smoothly follows from the previous sentence. This is partly because of the elegant and effective notations adopted by the authors. [Note: Donald Knuth, one of the authors, has been one of the biggest proponents of good mathematical notations. See his book titled "Mathematical Writing".] Other reviewers have provided a summary of this book. So, I will only say that every computer scientist and combinatorialist should read at least chapters 1, 2, 5, 7, and 9. Chapter 5 is very highly recommended. Trust me: once you have mastered these chapters, you will be able to do things your colleagues just can't. Even just familiarizing yourself with the notations in this book will help you produce proofs that you probably won't be able to otherwise. [Great ideas are of course always important in every proof - but without good notations, you probably won't be able to come up with the ideas in the first place.] There is pretty much nothing bad about this book that I am aware of. I will just say though that it takes a lot of time and effort to acquire mastery of the material. As for my own story, I started reading chapter 1 and 2 when I just got interested in discrete mathematics. It took me about 1/2 year (part time) to get through this. I came back to this book again when I took a course on "generatingfunctionology". I found that chapter 5 and 7 were indispensable. I was also forced to reread chapter 2 again because the lecturer, as most people do, just waived his hands when it comes to manipulating sums and binomial coefficients.... However, all the effort that I put in paid off in the end as I could solve problems in the final exam which all my other friends could not. In summary, I strongly recommend this book to every computer scientist and combinatorialist. I will finally remark that, if you are serious about learning concrete mathematics, you will probably find that generating functions pop up pretty much everywhere. To understand these beasts, I highly recommend Sedgewick and Flajolet's "Introduction to Analysis of Algorithms" and "Analytic Combinatorics" (not yet published, but next-to-final draft is available at Flajolet's web site), and Wilf's "Generatingfunctionology". |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Thursday, June 20, 2013
Review: Art of Computer Programming, The, Volumes 1-3 Boxed Set
Review: Art of Computer Programming, The, Volumes 1-3 Boxed Set |
Art of Computer Programming, The, Volumes 1-3 Boxed Set Posted: Art of Computer Programming, The, Volumes 1-3 Boxed Set (3rd Edition) (Vol 1-3) (Hardcover) By Donald E. Knuth These books are indisputably classics of the field, and like all classics they have religious adherents and equally firm detractors. The key difference between the two groups is that the adherents are interested in computer SCIENCE, whereas the rest are more taken with computer programming. The books are well written, quite mathematical, and abstract. The books deal with the core subjects of computer science and shy away from the trendy, and so some people tend to see them as anachronistic. Nevertheless, they are deservedly core references in computer science, and a joy for any patient, theoretically minded reader. There are three points I believe should be made. 1) a lot of the detractors of the books are saying correct things: the books don't deal with hot topics, they do present things in greater detail than is necessary in day to day programming, they are books they require a lot of the reader. What they don't recognize is that this is the intention, and that there is nothing wrong with that. The book is targeted at those with a geniune interest in theoretical computer science. 2) many reviewers complain about Knuth's typesetting system, TeX. What they fail to recognize is that TeX is incredibly useful, and about as user friendly as could be expected, for the task for which it was designed: typesetting professional quality mathematics. Anyone who challenges this statement would have to contend with virtually the entire community of people who write papers using higher mathematics, including virtually all professional physicists, mathematicians, and computer scientists. 3) some people accuse Knuth's books of being poorly written. These people are ignorant: either they have not read the works, or they would not recognize skillful writing if they saw it.... These books are splendid examples of scientific writing, and are justifiably acclaimed as such. In short, Knuth's books have ensured that the word "science" deserves its place in the phrase "computer science" |
You are subscribed to email updates from Shield To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Wednesday, June 19, 2013
Review: Engines of Logic: Mathematicians and the Origin of the Computer
Review: Engines of Logic: Mathematicians and the Origin of the Computer |
Engines of Logic: Mathematicians and the Origin of the Computer Posted: It may be initially hard to connect Leibniz's series or George Cantor's quest for infinite numbers to the modern computer, but Dr. Davis does a masterful job of showing this logical progression. The progression continues to Godel and Turing, and from Turing to the modern computer. Combining clear discussions of mathematical concepts with short biographical sketches, the intensity of some of these logical debates becomes clear. For the 20th century figures, Davis offers first hand accounts, such as seeing Godel and Einstein walking together at Princeton (and this picture is included in the book), or his own 1954 computer program of a mathematical proof. On the question of who invented the computer, Dr. Davis sides toward Turing and the influence of Turing on von Nuemann (contrast with Herman Goldstine: the Computer from Pascal to von Neumann). Davis points out that the difference in architecture between Turing and von Nuemann is still evident today in the difference between RISC and full instruction set computers. In the final chapter, Davis debates John Searle's understanding of the mind and consciousness. I hope Davis writes a book about the logical connections after Turing. These include Maurice's Karnaugh's method of minimizing boolean expressions, Jay Forester's memory and Industrial Dynamics, and perhaps Ted Codd and C.J. Dates database thinking. |
You are subscribed to email updates from Amazon to Blogger To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |
Tuesday, June 18, 2013
Review: The Linux Programmer's Toolbox
Review: The Linux Programmer's Toolbox |
The Linux Programmer's Toolbox Posted: This book is aimed at the person who has learned his way around Linux at the user level and now wants to look under the covers. It's extremely comprehensive - from how to add a Linux application that wasn't in your your initial distribution - whether you can use the binary or need to rebuild it from source - through basic facts on the kernel, devices and their drivers, processes and debugging tools. There has been a need for a book that addresses readers who do know something about computers, but not much Linux. This book fills that need extremely well. |
You are subscribed to email updates from Amazon to Blogger To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google Inc., 20 West Kinzie, Chicago IL USA 60610 |