Saturday, August 31, 2013

Introduction to Algorithms (Hardcover)

Introduction to Algorithms (Hardcover)


Introduction to Algorithms (Hardcover)

Posted:

Introduction to Algorithms (Hardcover)
By Thomas H. Cormen

Compilers: Principles, Techniques, and Tools (2nd Edition) (Hardcover)

Posted:

Compilers: Principles, Techniques, and Tools (2nd Edition) (Hardcover)
By Ravi Sethi

Operating System Concepts, Seventh Edition (Hardcover)

Posted:

Operating System Concepts, Seventh Edition (Hardcover)
By Abraham Silberschatz

Introduction to the Theory of Computation (Hardcover)

Posted:

Introduction to the Theory of Computation (Hardcover)
By Michael Sipser

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (Hardcover)

Posted:

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (Hardcover)
By Donald E. Knuth

Pin It Now!

The Art of Computer Programming, Volumes 1-4A Boxed Set

The Art of Computer Programming, Volumes 1-4A Boxed Set


The Art of Computer Programming, Volumes 1-4A Boxed Set

Posted:

The Art of Computer Programming, Volumes 1-4A Boxed Set (Hardcover)
By Donald E. Knuth

Since reviews of the book content can be found elsewhere, I thought I'd review the actual collection that I bought - these four books and the box that they came in.

They are beautiful, the off-white coloured dust jackets make a pleasing change to the other pure white books that I have on my desk, and the box sets the set apart from everything else.

Also, since purchasing this set, the following things have happened.

1) My IQ increased by 1 point as soon as I placed the box on my bookshelf
2) The Women in my IT department increased their rating of me by 1.5. Apparently I'm now an 8 (9 if I take my glasses off) my colleagues report that this is a 0.5 increase in rating over a non-boxed collection of these books.
3) I have found that taking one book out, opening to a random page and inhaling deeply, when combined with a double-shot coffee, will ensure good spirits and coding karma for at least the next 4 hours.

My only complaint about this set is the fact that they are fairly snugly fit in the box. this requires actually tipping the box forward to select a book, you cannot fit your finger over the top of any one book to pull it out. The exaggerated action of doing this, however invokes jealous looks and dreamy eyes from my male and female/gay colleagues respectively so is worth it.

in short: buy this set!


Pin It Now!

Friday, August 30, 2013

The Little Schemer - 4th Edition (Paperback)

The Little Schemer - 4th Edition (Paperback)


The Little Schemer - 4th Edition (Paperback)

Posted:

The Little Schemer - 4th Edition (Paperback)
By Matthias Felleisen

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)

Posted:

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)
By Noam Nisan

Pin It Now!

Thursday, August 29, 2013

Compilers: Principles, Techniques, and Tools (2nd Edition) (Hardcover)

Compilers: Principles, Techniques, and Tools (2nd Edition) (Hardcover)


Compilers: Principles, Techniques, and Tools (2nd Edition) (Hardcover)

Posted:

Compilers: Principles, Techniques, and Tools (2nd Edition) (Hardcover)
By Ravi Sethi

Operating System Concepts, Seventh Edition (Hardcover)

Posted:

Operating System Concepts, Seventh Edition (Hardcover)
By Abraham Silberschatz

Introduction to the Theory of Computation (Hardcover)

Posted:

Introduction to the Theory of Computation (Hardcover)
By Michael Sipser

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (Hardcover)

Posted:

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (Hardcover)
By Donald E. Knuth

Types and Programming Languages (Hardcover)

Posted:

Types and Programming Languages (Hardcover)
By Benjamin C. Pierce

Pin It Now!

Wednesday, August 28, 2013

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)


The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)

Posted:

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)
By Noam Nisan

Pin It Now!

Design Patterns: Elements of Reusable Object-Oriented Software

Design Patterns: Elements of Reusable Object-Oriented Software


Design Patterns: Elements of Reusable Object-Oriented Software

Posted:

Design Patterns: Elements of Reusable Object-Oriented Software (Hardcover)
By Richard Helm

This book really changed my way of thinking about object-oriented design. The idea is that when designing a new class hierarchy, though implementation details may differ, you often find yourself using the same kinds of solutions over and over again. Rather than approaching each design task out of context as an individual, isolated problem, the strategy is to study the task and identify the underlying design pattern most likely to be applicable, and follow the class structure outlined by that pattern. It's a "cookbook" school of design that works amazingly well.

There are other advantages to this book. It isolates 23 of the most common patterns and presents them in detail. You wouldn't think that 23 patterns would be enough, but once you become adept at recognizing patterns, you'll find that a large fraction of the patterns you use in practice are among these 23. For each pattern, the book carefully presents the intent of the pattern, a motivating example, consequences of using that pattern, implementation considerations and pitfalls, sample code (C++ or Smalltalk), known uses of that pattern in real-world applications, and a list of related patterns.

Upon first reading, you will start to recognize these patterns in the frameworks you see. Upon second reading, you'll begin to see how these patterns can help you in your own designs, and may also start to see new patterns not listed in the book. Once you become familiar with the pattern concept, you will be able to originate your own patterns, which will serve you well in the future. One of the most valuable contributions of this book is that it is designed not merely to help you identify patterns, but to give you a sense of which patterns are appropriate in which contexts.



Pin It Now!

Tuesday, August 27, 2013

Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Hardcover)

Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Hardcover)


Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Hardcover)

Posted:

Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Hardcover)
By Donald E. Knuth

The Little Schemer - 4th Edition (Paperback)

Posted:

The Little Schemer - 4th Edition (Paperback)
By Matthias Felleisen

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)

Posted:

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)
By Noam Nisan

Pin It Now!

Monday, August 26, 2013

Introduction to the Theory of Computation (Hardcover)

Introduction to the Theory of Computation (Hardcover)


Introduction to the Theory of Computation (Hardcover)

Posted:

Introduction to the Theory of Computation (Hardcover)
By Michael Sipser

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (Hardcover)

Posted:

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (Hardcover)
By Donald E. Knuth

Types and Programming Languages (Hardcover)

Posted:

Types and Programming Languages (Hardcover)
By Benjamin C. Pierce

Taking Stock (Kindle Edition)

Posted:

Taking Stock (Kindle Edition)
By CJ West

Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Hardcover)

Posted:

Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Hardcover)
By Donald E. Knuth

Pin It Now!

The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine

The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine


The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine

Posted:

The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine (Paperback)
By Charles Petzold

Some books entertain, some inform; some confirm what you already knew, some make you change your mind about something. But then there are some books that just make you think "wow! I wish I'd written that".

For me, Charles Petzold's The Annotated Turing falls into that last category (as well, of course, as the informational category). It's a book worth reading not only for the topic itself but the way it's presented.

Petzold provides the necessary background before working through Turing's famous 1936 paper "On computable numbers, with an application to the Entscheidungsproblem" with rich annotations at every stage, including biographical details.

If you are interested in the foundation of mathematics, computability, Turing's work, or even just ways of explaining mathematics in a historical context, I highly recommend this book.


Pin It Now!

Sunday, August 25, 2013

Types and Programming Languages (Hardcover)

Types and Programming Languages (Hardcover)


Types and Programming Languages (Hardcover)

Posted:

Types and Programming Languages (Hardcover)
By Benjamin C. Pierce

Taking Stock (Kindle Edition)

Posted:

Taking Stock (Kindle Edition)
By CJ West

Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Hardcover)

Posted:

Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Hardcover)
By Donald E. Knuth

The Little Schemer - 4th Edition (Paperback)

Posted:

The Little Schemer - 4th Edition (Paperback)
By Matthias Felleisen

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)

Posted:

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)
By Noam Nisan

Pin It Now!

Computer Organization and Design: The Hardware/Software Interface. Third Edition, Revised

Computer Organization and Design: The Hardware/Software Interface. Third Edition, Revised


Computer Organization and Design: The Hardware/Software Interface. Third Edition, Revised

Posted:

Computer Organization and Design: The Hardware/Software Interface. Third Edition, Revised (Paperback)
By David A. Patterson

This is a tough book to review. On one hand, it's got an amazing amount of information in it. On the other, it's got a lot of editing problems. It also suffers from a lack of focus on who its audience is. So, splitting the difference, I'm rating this book at 4 stars out of 5.

Regarding the book's audience, it's vital that you pay attention to the chart on page xiii of the Preface. It maps your path through the book based on whether you're a software-type or a hardware-type. Assuming I was so brilliant that I could ignore such trivia, I attempted to plow my way through the whole book. Software-type that I am, I had some tough times in a couple of sections and then utterly failed to understand anything when I hit the core of Chapter 5. If I had paid attention to that chart, I would have known to skip that part of the book. However, even for the material that's within the path laid out for you by that chart, a lot of the work seems to assume knowledge on the part of the reader. For instance:

- Chapter 2 is about the MIPS assembly language. In the exercises, you're supposed to write various code snippets. Many of these snippets assume far more familiarity with writing entire assembly programs than is presented.
- The exercises at the end of each chapter are broken into three types: regular, "For More Practice," and "In More Depth." Those last two types require far more knowledge than is presented. It looks like the authors culled them from previous editions and, instead of trashing them, just stuck them on the CD and referenced them.
- Exercise 3.9 is annotated as requiring Section 3.2.


Pin It Now!

Saturday, August 24, 2013

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)


The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)

Posted:

The Elements of Computing Systems: Building a Modern Computer from First Principles (Paperback)
By Noam Nisan

Pin It Now!

Introduction to Algorithms

Introduction to Algorithms


Introduction to Algorithms

Posted:

Introduction to Algorithms (Hardcover)
By Thomas H. Cormen

First of all, this is the quintessential book on algorithms. If you want to learn, this is the book to get. The information in the book is awesome and it can make an excellent reference.

Students will need a very strong mathematical background and a strong arm to even think about picking up this book because the it is heavy (both physically and metaphorically). Mastery of discrete math is a must, graph theory, programming, and, combinatorics will also help.

With that said, this book falls short in one MAJOR area, explanations. Too often explanations are left out and left as exercises and there are no solutions to the exercises! Or details are replaced by ambiguous statements such as of "cleary, this works", or "it is easy to see that this ...". I get the concept of learning by doing, really I do, but there should be some kind of solutions so the student can CHECK his/her understanding of the material and sometimes the exercises are not about advanced aspects of a concept, sometimes it is the core material. Even if the solution manual only contained a simple answer without the work. Not only would it help tremendously but the purpose of doing the exercises would be preserved; that is the student getting his/her "hands dirty" and working out a problem.

For the love everything good and pure in this universe, I really wish writers of mathematical books would stop using statements like "clearly this works" or "it is easy to see", "it is obvious" etc. While that may be true for you and your brilliant circle of colleagues, everything is not always clear and obvious to your readers. Save all of that ambiguity for your research paper.

A great book should deliver in two areas; it should challenge and it should inform. The challenge is there, no doubt.


Pin It Now!

Friday, August 23, 2013

Operating System Concepts, Seventh Edition (Hardcover)

Operating System Concepts, Seventh Edition (Hardcover)


Operating System Concepts, Seventh Edition (Hardcover)

Posted:

Operating System Concepts, Seventh Edition (Hardcover)
By Abraham Silberschatz

Introduction to the Theory of Computation (Hardcover)

Posted:

Introduction to the Theory of Computation (Hardcover)
By Michael Sipser

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (Hardcover)

Posted:

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) (Hardcover)
By Donald E. Knuth

Types and Programming Languages (Hardcover)

Posted:

Types and Programming Languages (Hardcover)
By Benjamin C. Pierce

Taking Stock (Kindle Edition)

Posted:

Taking Stock (Kindle Edition)
By CJ West

Pin It Now!
 
//PART 2