Books - Computers & Internet - Computer Science

1-20 of 100       1   2   3   4   5   Next 20

  • Computer Science
  • Human-Computer Interaction
  • Information Theory
  • Modeling & Simulation
  • Software Engineering
  • Systems Analysis & Design
  • Computers & Internet
  • click price to see details     click image to enlarge     click link to go to the store

    1. The Black Swan: Second Edition:
    $13.72
    2. Gödel, Escher, Bach: An Eternal
    $10.39
    3. Getting Started with Arduino (Make:
    $19.79
    4. Gamestorming: A Playbook for Innovators,
    $34.59
    5. Design Patterns: Elements of Reusable
    $31.10
    6. Code Complete: A Practical Handbook
    $27.95
    7. Head First Design Patterns
    $23.09
    8. Hello World! Computer Programming
    $23.09
    9. Robot Building for Beginners (Technology
    $30.74
    10. The Mythical Man-Month: Essays
    $23.09
    11. Information Dashboard Design:
    $16.58
    12. Making Things Move DIY Mechanisms
    $17.79
    13. The Unofficial LEGO MINDSTORMS
    $14.21
    14. A Theory of Fun for Game Design
    $141.41
    15. MCITP Self-Paced Training Kit
    $38.29
    16. R in a Nutshell: A Desktop Quick
    $10.90
    17. Code: The Hidden Language of Computer
    $14.84
    18. LEGO MINDSTORMS NXT:The Mayan
    $27.29
    19. The Design of Design: Essays from
    20. Programming in Objective-C 2.0

    1. The Black Swan: Second Edition: The Impact of the Highly Improbable: With a new section: "On Robustness and Fragility"
    by Nassim Nicholas Taleb
    Kindle Edition
    list price: $17.00
    Asin: B00139XTG4
    Publisher: Random House Trade Paperbacks
    Sales Rank: 281
    Average Customer Review: 3.6 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    A black swan is a highly improbable event with three principal characteristics: It is unpredictable; it carries a massive impact; and, after the fact, we concoct an explanation that makes it appear less random, and more predictable, than it was. The astonishing success of Google was a black swan; so was 9/11. For Nassim Nicholas Taleb, black swans underlie almost everything about our world, from the rise of religions to events in our own personal lives.

    Why do we not acknowledge the phenomenon of black swans until after they occur? Part of the answer, according to Taleb, is that humans are hardwired to learn specifics when they should be focused on generalities. We concentrate on things we already know and time and time again fail to take into consideration what we don’t know. We are, therefore, unable to truly estimate opportunities, too vulnerable to the impulse to simplify, narrate, and categorize, and not open enough to rewarding those who can imagine the “impossible.â€

    For years, Taleb has studied how we fool ourselves into thinking we know more than we actually do. We restrict our thinking to the irrelevant and inconsequential, while large events continue to surprise us and shape our world. Now, in this revelatory book, Taleb explains everything we know about what we don’t know. He offers surprisingly simple tricks for dealing with black swans and benefiting from them.

    Elegant, startling, and universal in its applications The Black Swan will change the way you look at the world. Taleb is a vastly entertaining writer, with wit, irreverence, and unusual stories to tell. He has a polymathic command of subjects ranging from cognitive science to business to probability theory. The Black Swan is a landmark book–itself a black swan.


    *2nd Edition, With a new essay: "On Robustness and Fragility"


    From the Hardcover edition.
    ... Read more

    Reviews

    5-0 out of 5 stars Lost in Extremistan with nothing but a Bell Curve, April 18, 2007
    If, as Socrates would have it, the only true knowledge is knowledge of one's own ignorance, then Nassim Nicholas Taleb is the world's greatest living teacher. In The Black Swan, Taleb's second book for laypeople, he gives a full treatment to concepts briefly explored in his first book "Fooled by Randomness." The Black Swan is basically a sequel to that book, but much more focused, detailed and scholarly. This is a book of serious philosophy that reads like a stand-up comedy routine. (Think Larry David...)

    The Black Swan is probably the strongest statement of enlightened empiricism since Ernst Mach refused to acknowledge the existence of the atom. Of course, in theory, everyone today is supposed to be an empiricist - all right-thinking intellectuals claim to base their views solely on positive scientific observation. But very few sincerely confront the implications of rigorous empiricism. Specifically, few confront "the problem of induction," illustrated here by the story of the black swan.

    Briefly: observing an event once does not predict it will occur again in the future. This remains true regardless of the number of observations one adds to the pile. Or, as Taleb, recapitulating David Hume, has it: the observation of even a million white swans does not justify the statement "all swans are white." There is no way to know that somewhere out there a black swan is not hiding, disproving the rule and nullifying our "knowledge" of swans. The problem of induction tells us that we cannot really learn from our experiences. It makes knowledge very problematic, if not impossible. And yet, humans do behave -almost without exception- as though they believe that experience teaches us lessons. This is forgivable; there is no better path to knowledge. But before proceeding, one must account for the limits that the problem of induction places on our claims to knowledge. And humans seem, at every turn, to lack this critical self-awareness.

    In one of the many humorous anecdotes that seem to comprise this entire book, Taleb recounts how he learned his extreme skepticism from his first boss, a French gentleman trader who insisted that he should not worry about the fluctuating values of economic indicators. (Indeed, Taleb proudly declares that, to this day, he remains blissfully ignorant of supposedly crucial "indicators" like housing starts and consumer spending. This is a shocking statement from a guy whose day job is managing a hedge fund.) Even if these "common knowledge" indicators are predictive of anything (dubious - see above), they are useless to you because everyone else is already accounting for them. They are "white swans," or common sense. Regardless of their magnitude, white swans are basically irrelevant to the trader - they have already been impounded into the market. In this environment, one can only profitably concern oneself with those bets which others are systematically ignoring - bets on those highly unlikely, but highly consequential events that utterly defy the conventional wisdom. What Taleb ought to worry about, the Frenchman warned, was not the prospect of a quarter-percent rise in interest rates, but a plane hitting the World Trade Center!

    Yep, the precise facts of 9-11 were actually presaged by this French gentlemen, as a rogue wave that just might be lurking over the horizon. And, to the contemporary American mind, this is THE quintessential Black Swan. Of course, the Frenchman's insight was just a coincidence - the thing with Black Swans is that they cannot be foreseen.

    Taleb explains that conventional social scientists use induction to collect data, which is then plotted on the good old Gaussian bellcurve. With characteristic silliness, Taleb dubs the land of the bellcurve "Mediocristan" - and informs us that it is the natural habitat of the white swan. He contrasts Mediocristan with "Extremistan" - where chaos reigns, the wholly unexpected happens, power laws and fractal geometry apply and the bellcurve does not. Taleb's fictional/metaphorical 'stans' share something with the 'stans' of the real world: very ill-defined borders. Indeed, one can never tell whether one is in the relatively safe territory of Mediocristan or if one has wandered into the lawless tribal regions of Extremistan. The bellcurve can only help you in Mediocristan, but you have no way of knowing whether you have strayed into Extremistan - beyond the bellcurve's jurisdiction. This means that bellcurves are of no reliable use, anywhere. The full implications of this take a while to sink in, and are sure to cause huge controversy. In July, Taleb will debate Charles Murray (author of -what else?- the Bell Curve). I'll let you know who wins.

    Taleb frames his whole argument much more entertainingly than I could here, and he bolsters it with an astonishing command of both cutting-edge social science and the entire history of philosophy. This is an astonishing work of serious philosophy, and it reads like pulp fiction. Readers who enjoyed FBR will find here the same dry wit, the same literary erudition, and deep sense of the absurd that made that book so much fun. But this is better, by an order of magnitude - easily the best book I have read in 5 years. I smell a timely pop-science bestseller here to rival Gladwell or Surowiecki, but this is also a classic that will be read for decades to come.

    2-0 out of 5 stars Chapters 15 - 17 are excellent. The remainder is OK., July 30, 2007
    Starting with the good (chapters 15 - 17), within chapter 15 Taleb explains where the Bell curve works and where it does not. The Bell curve captures well variables that don't deviate much from the mean. Otherwise, it does not work. Taleb suggests we often fool ourselves in believing that correlation, regression coefficients, or standard deviation convey much information. This is because those coefficients are unstable (and can flip sign when possible) depending on the time selected. This is because the underlying variables are often not stationary enough for these coefficients to be stable.

    Chapter 16 is excellent as an introduction to Mandelbrot's fractal geometry as an alternative to Gaussian based investment theory. He supports well that these mathematical tools do capture randomness (of non-stationary variables) far better than the Normal distribution. However, he admits that Mandelbrotian models are not predictive. When looking at the same data set, he and numerous colleagues each came up with different underlying parameters to build fractal-like models. And a small difference in such parameters makes a huge difference in outcome. That's why you will not hear much of fractal geometry within the quantitative financial community. Nevertheless, this is a fascinating subject that deserves further exploration. For this purpose, I recommend Mandelbrot's The Misbehavior of Markets

    Within Chapter 17, Taleb further elaborates on the flaws of the Normal distribution. He underlines that half of the return of the stock market over the past 50 years was associated with just 10 days with the greatest daily change. This is an example where stock returns have outliers of such magnitude that using the Normal distribution is not appropriate. Taleb describes the run-ins he experienced with the living legends of modern finance including Myron Scholes and Robert Merton due to his rejection of the Normal distribution assumption that underlies all their models.

    The remainder of the book is not nearly as good. Hundreds of pages can be summed up in just stating that we can't predict rare events. Taleb goes way overboard in attributing everything to luck. He thinks MicroSoft beat out Apple just due to luck. Taleb does not consider that MicroSoft open system allowed it to mushroom while Apple locked itself into a proprietary corner. Also, according to Taleb both the rise and fall of Rome were due entirely to luck. But, Rome was best at developing military strategy and transportation networks. However, it eventually suffered from imperial overstretch. Explanations are not always narrative fallacies as Taleb believes. They often beat out ignorance.

    When it comes to advice, Taleb's recommendation is interesting. It consists in an asset allocation of 85% risk free investments (T-bill) and the 15% remainder into buying way out of the money Calls and Puts. By doing so, he positions his portfolio to capture the occasional mispriced Black Swans.

    This book is somewhat uneven in quality and is not nearly as good as his first book: Fooled by Randomness Revision (Not Available in US): The Hidden Role of Chance in the Markets and Life that has become a classic on Wall Street. Otherwise, it still is an interesting reading.

    If you find the subject of this book intriguing, let me suggest a few other books that are more rewarding. Scott Plous'sThe Psychology of Judgment and Decision Making explores the flaws in human judgments far more thoroughly and clearly than Taleb in `The Black Swan.' Perry Mehrling's Fischer Black and the Revolutionary Idea of Finance is also an excellent book. Ideally, that may be who Taleb would have liked to become. Fischer Black was brilliant and as skeptical as Taleb regarding much of the body of economics and finance. Yet, he left a great legacy of elegant models that people still use extensively including the famous Black-Scholes option model. Yes those models were often based on Taleb's dreaded Normal distribution. But, with minor modifications those models have remained valuable. Another recommendation is William Poundstone's Fortune's Formula: The Untold Story of the Scientific Betting System That Beat the Casinos and Wall Street that describes the career of a bright MIT mathematician, Ed Thorp. The latter showed how to successfully deal with uncertainty in gambling and investing. Even Taleb recognized Thorp's unique expertise within `Black Swan.'

    5-0 out of 5 stars Many important ideas, many flaws that detract from the message, April 25, 2007
    This is an entertaining and enlightening book, and fairly easy to read. It has an important message regarding how the world works; that the world is governed not by the predictable and the average, but by the random, the unknownable, the unpredictable -- big events or discoveries or unusual people that have big consequences. Change comes not uniformly but in unpredictable spurts. These are the Black Swans of the title: completedly unexpected and rare events or novel ideas or technologies that have a huge impact on the world. Indeed, Taleb argues that history itself is primarly driven by these Black Swans.

    It is convincing argument, entertainingly presented with plenty of sarcasm, and indeed, anger, by Taleb. For example he rails against the academic community, economists (including specific names), and Nobel Prize committee. Considerable numbers of his arguments "ring true" to me, that is my experience in life confirms that they are more accurate than the traditional approach. Like any important work, 90% of what is in the book is not original; that does not make it less important. Taleb's contribution is in integrating the material together, and showing how these different ideas are tied to the Black Swan.

    The themes include: winner-take-all phenonomen, numerous effects of randomness on the world, the invalidity of the Gaussian Bell Curve to most things in world, concepts of scalablity, numerous instabilities in the world, especially the modern world where information travels so quickly, the fallacies about people's inability to predict the future. The importance of these ideas, Taleb's ability to weave them together into a single theory, and the ability of this theory to change the way you look at the world, means the book easily deserves my highest recommendation.

    However, the book does have many flaws, unfortunately -- unfortunate because I believe they will take away from the credibility of the message, which is in important one. The are numerous minor flaws such as, for example, the inexplicable invention of a fictional author (disclosed a few pages later), when certainly there must have been some real example that would have worked better. Another example is repeated jabs about the French; these may be amusing but I just don't think they have a place in work like this. There are also diatribes against specific people, including famous economists, which, though amusing, and possibly justified, demonstrate a high level of anger by author and take away from his credibility. Often he also overreaches, for example in saying the usual combination of anti-abortion and pro-death penalty or the opposite combined views of pro-abortion and anti-death penatly cannot be explained logically, when in fact widely known theories such as George Lakoff's (in Moral Politics) have explained hows these groups of views are entirely consistent.

    Another flaw is that Taleb seems to go a little toward the extreme of saying that we can predict almost nothing about the future, and though he does not say so explicitly, this seems to imply we have no moral responsibility to the future. This, combined with Taleb's advice to the reader about their behavior based on the "Black Swan" view of world just rubbed me the wrong way, for several reasons. One is that Taleb personally has very little in common with most people; never having as far as I know had a regular career (essentially what he calls non-scalable, e.g. dentist, engineer, baker) he nevertheless recommends that people choose these kinds of careers rather than a scalable career (e.g. financial trader, author, actor which are subject to a few lucky successful people and a lot of failures). This advise is odd first because Taleb is in a non-scalable profession (derivatives trader, then hedge fund manager) -- indeed it appears he is quite wealthy. Even more odd because he says all these types of non-scalable types of work are boring and evens makes sarcastic comments (the book is extremely sarcasm heavy) for example about dentists being able to do well by diligently drilling teeth for 30 years. The second things that bothered me is that Taleb seems be somewhat amoral to me; in this type of book where plenty of his own emotions come through, plenty of his personality, he has plenty of criticism of others for their wrong models and wrong view of the world, and how this has hurt the world, but there remains a lack of moral responsibility to his advice.

    Perhaps the best comparison I could make are to other important works that do not suffer from these flaws, for example the Age of Fallibility by George Soros and Irrational Exuberance by Robert Shiller (1st and 2nd editions). But probably Black Swan will sell better than either of these because of it's "edginess," i.e. aggresiveness; I personally have a distaste for this approach.

    Despite my criticisms, the main ideas of the book as so important as to merit reading and indeed great consideration.

    3-0 out of 5 stars A disappointing follow-up to "Fooled by Randomness", May 10, 2007
    I'm a mathematician and former trader, and I've always enjoyed Taleb's work, from his technical tome on derivatives, "Dynamic Hedging," to the brilliant "Fooled by Randomness." These books provided a healthy dose of empirical skepticism about a field that sometimes gets carried away with its own "precise" models -- as well as some insightful commentary on why people are bad at recognizing randomness and making predictions, and how we should be wary of charlatans (and fools) trying to sell us false certainty, especially about financial markets. Unfortunately, "The Black Swan" doesn't say much that "Fooled by Randomness" didn't already say (and say better), and I was disappointed by most of the new material.

    First, Taleb's ideas on uncertainty have gone a bit over the edge. Before, he denounced the poor use of over-simplified models (i.e. the bell curve) to model uncertainty; he now seems to have given up on models altogether (save for a brief and justified nod to Benoit Mandelbrot). Rather than just attack bad science, and encourage better science in its place, he seems to view the entire scientific enterprise as hopeless -- adopting the somewhat anti-intellectual attitude that we should stop trying to "understand" markets at all, and be more like Fat Tony, the trader from Brooklyn. His portrayal of mathematical finance types is a complete caricature, which is amusing because, whether he likes it or not, he's one of them! (Taleb has taught in the mathematical finance program at NYU's prestigious Courant Institute.) The idea that mainstream academics are too myopic to see beyond their bell-curve models is laughable, and in many cases, decades out of date -- even undergrads learn about the flaws in the Black-Scholes model, and the problem of "fat tails."

    While "Fooled by Randomness" suggests (wisely) that we pay attention to the magnitude of events and not just their probabilities, in "The Black Swan" he throws out probability altogether. This results in some bizarre advice, such as that people should structure their lives (and financial portfolios) to capture "positive black swans," i.e. huge but unlikely turns of good fortune, because "unlikely" is a meaningless probabilistic notion. For example, he suggests that people should put 90% of their assets in extremely safe instruments (like T-bills), while gambling the remaining 10% on risky ventures and hoping to hit it big. He claims that this limits one's downside while waiting for a big windfall ... but what happens when the "risky" 10% gets wiped out in a year or two? Do you then start investing your remaining assets (possibly losing more), or do you just stick with low-yield T-bills for the rest of your life? Taleb seemingly hasn't thought it out that far. By the "positive black swan" logic, thousands of unemployed "actors," waiting for that big break that never comes, have the right idea -- not to mention people who waste their money on lottery tickets (hey, the downside is only a buck, but the upside is millions!). This seems to be a complete reversal from "Fooled by Randomness," which had a brighter view of skilled ("Mediocristan") pursuits like dentistry, where one avoids living at the behest of good or bad fortune altogether.

    Finally, Taleb has always exuded snobbery in his writing -- in the past it has almost been charming -- but this time it quickly wears out its welcome. He never fails to remind the reader that he sees himself as an erudite "gentleman trader," a rogue philosopher among philistines and eggheads. Yawn.

    I still give this book 3 stars, because it does have some decent content, but read "Fooled by Randomness" instead. If you've already read that book, there's no need to buy this one -- but if you're in the mood to read about the problems of uncertainty and prediction in the markets, check out "When Genius Failed" by Lowenstein, "A Random Walk Down Wall Street" by Malkiel, or (for the eggheads) "Fractals and Scaling in Finance" by Mandelbrot.

    2-0 out of 5 stars A bad book for all the wrong reasons., July 23, 2007
    I really wish this were a good book, because the basic idea behind it is original, important and clever. That makes Taleb's careless handling of his topic all the more disturbing.

    The rock-solid foundation of this book is Taleb's insight that the most important events in history, and presumably to come in the future, are essentially unpredictable; they can't be forecast using the information we have prior to their occurrence. That's a huge point and Taleb goes on to offer some compelling evidence that it is indeed true. He uses the analogy of a Turkey deciding that humans must have his best interests at heart because they show up every day of his life to feed him a good meal, he projects that - based on all of his evidence - this will continue. This works great until a couple of days before Thanksgiving. Suddenly his predictions have failed him catastrophically.

    Great idea, and - I believe - true. But Taleb undercuts his own thought baby with shoddy writing, poor research and personal opinion masquerading as evidence.

    The writing: A well-written book allows a reader to flow naturally from one paragraph to the next and from one idea to the next, even when the subject matter is complex. Taleb's writing is tough to follow and slow to get through. Beyond that, you really struggle to comprehend what he is trying to get across to you for huge portions of this book.

    The research: When Taleb used examples to back his ideas that came from fields with which I was unfamiliar, I felt pretty good about them. However, whenever he used examples from areas where I have deeper knowledge, I noticed that his knowledge was lacking badly (being a trader comes to mind). This started to make me question all of his supporting evidence.

    The opinion: Taleb leans heavily on the idea that most of what happens in the world is luck, even when we try desperately to ascribe some sort of tangible cause to it. At one point he uses the example of Mac operating software being far superior to that of Windows, but Windows being dominant in the market. He chalks it up entirely to luck! I'm sure he'd say I'm falling prey to a logical fallacy, but Apple and Steve Jobs had a huge head start on Microsoft, but refused to let anyone else run their operating system - so to run it, you had to buy a Mac. Microsoft let anyone run their operating system and consequently took the dominant share of the market.

    This book is really a shame. The idea is just too good to be used this poorly. It made me sad to read this thing. Taleb the thinker deserved a far better writer than Taleb the author. What a waste.

    You might still try reading this to understand Taleb's idea, because it's a huge insight, but watch all of his other content because it's riddled with holes.

    1-0 out of 5 stars Disappointing, Underwhelming, June 19, 2007
    After reading "Fooled By Randomness", I eagerly looked forward to reading Taleb's latest book, only to be disappointed. He mentions both in the prologue and acknowledgments, "the book just wrote itself", and it shows. He could have fitted most of the 300 pages into 50 and gotten his points across. In any event, this book does not add anything more to "Fooled By Randomness" (194 pages) and is often rambling and incoherent. Perhaps if one read The Black Swan first, it may have been interesting but not if you read Taleb's previous excellent book.

    3-0 out of 5 stars good ideas but unfair criticism too, September 8, 2008
    As a mathematical statistician I am a little taken aback by Taleb's lack of scholarship in understanding and appreciating what professional statisticians do. He puts down economists, Nobel laureates, philosopher and statisticians among others. There is a degree of unseemly arrogance on his part and I am sure that some of the other 300 or so reviews on amazon take him to task on that.

    It is a shame too because for many of us, it spoils the really good main point of the book which is that Black Swans exist, make predictions difficult if not impossible but can be handle in the stock trading business at least by using his barbell approach.

    I found the first 1/3 rd of the book very philosophical extremely redundant yet provocative. The rest of the book was much more interesting to me particular the last few chapter which had the most technical discussion and many points to agree with and also to quibble with.

    A Black Swan is an extreme event that is very rare but so significant that it creates instability in averages and can ruin predictions and be either castastrophic (the negative Black Swan) or bring great fortune (the positive Black Swan). These Black Swans are real and Taleb cites many examples. Taleb is also right with his point that some economists are blind to the Black Swan or at least the unpredictability of them. I have often seen major declines in the stock market explained after the fact with seemingly logical but very suspicious and dubious rationalizations. Taleb deserves credit for recognizing this and realizing that in the world he calls extremistan where the Black Swans exist they must be accounted for but no should attempt the futile business of predicting them!

    He also recognizes that there is another world where the Gaussian distribution and other light-tailed parametric distributions prevail and he calls this the world of mediocrastan. Here, the usual parametric statistics is useful but in Taleb's view it is not very common in practice to be in a mediocrastan world. This is the world of parametric statistics and is the place where most elementary courses in statistics reside. But here is also where I think Taleb makes a big mistake. He assume that this is the world where all statisticians and econometricians live and play and so these teachings are irrelevant to the practical world. Well, in many of the areas he discusses the parametric statistical models do not work. But probabilist, statisticians and econometricians have realized this for at least the past 60 years. In the 1930s and 1940s the field of nonparametric statistics developed through the work of Pitman, Mann and Whitney and Wilcoxon to name a few. Also the theory of extreme value distributions goes back to Fisher and Tippett in 1929 and was rigorously developed by Gnedenko in the 1940s. Nonparametric statistics deals with general distributions that do not have a simple parametric form and includes the heavy-tailed distributions that Taleb cares about. Also the asymptotic theory of extreme values that Fisher and Tippett, Gumbel and Gnedenko discovered showed that the extreme events had systematic behavior based on the three extreme-value types of distributions. So the extremes can be treated using asymptotic statistical theory just as well as the averages can be characterized asymptotically through the central limit theorem and the stable laws (in the case of a heavy-tailed population distribution). So in some ways Taleb is off and out of gas because he doesn't address or perhaps is even ignorant of this theory.

    In the area of finance as well as in other areas, time series models have been useful in developing forecasts. In the world of mediocrastan the Box-Jenkins ARIMA models are very useful for problems in forecast and stochastic control. This was well established with the very popular book by Box and Jenkins that was first published in 1970. However financial data often falls into the world of extremistan and the stationary distributions when they exist are non-Gaussian and heavy-tailed. It is in this context that ARIMA models fail but the statisticians and econometricians have developed other models including the GARCH models which handle this type of data and allow for better predictions. Taleb mentions the GARCH models but only to make fun of them in a very superficial way that does not discuss any of the mathematics associated with these models. Again, I am not sure if Taleb is ignorant about this body of literature or just dismisses it because he see other models that cannot be used to predict as more appropriate.

    Taleb is enamored with Mandelbrot and his theory of fractal geometry and the apparent natural properties of fractals. Well at least fractals look like coastlines on the world globe as well as other common items in our natural environment. But is this enough to say that fractals are the only models relevant to extremistan? I am not yet convinced.

    This August I went to the Joint Statistical Meetings in Denver. There was a session on the Black Swan and to his credit Taleb was brave enough to accept the invitation of the statistical community to come to discuss the issues in his book. Unfortunately, I was not able to attend that session. But it got mew curious enough to want to read the book and see what Taleb's premise was all about. I do not yet know much about what came out of that session. I hope that at least Mr. Taleb came out of it with a better appreciation of the intelligence of statisticians and the more sophisticated models that he appears to be ignorant of based on the lack of discussion of them in his book.

    Another branch of nonparametric statistics developed in the 1970s that is now called resampling methods. One of the more successful of these methods is the bootstrap. I have done some research into bootstrap methods as well as having authored a text on the topic. I believe that the bootstrap approach to time series analysis is another way that these time series with non-Gaussian innovation distributions or the stationary distributions of the time series model can be handled. I am not yet convinced that in the world of extremistan the hope of some form of forecasting must be abandoned as is Taleb's thesis.

    1-0 out of 5 stars An Ugly Duckling, August 1, 2007
    Oh dear. If you've read Taleb's previous book, Fooled By Randomness, don't bother with The Black Swan. Fooled By Randomness was deservedly successful, filled with contrarian thinking that makes sense, delivered in an original and engaging style. But success went to Taleb's head. In The Black Swan, Taleb seems more interested in talking about himself. He doesn't do his reputation any favors by doing so. He describes what he seems to think of as charming quirkiness, nearly giving an octogenarian Nobel Prize laureate a heart attack by heckling him at a lecture. Taleb loves to take blowhards down a notch or two. But when someone challenges his ideas, it's because they haven't read his book, or they didn't understand his brilliance.

    The Black Swan jumps around, switching from a tale of a non-existent Russian author to Taleb's experiences in Lebanon to the mathematics of probability. The language is repetitive, using "black swan" and "extremistan" long after their cuteness has worn off.

    Read Fooled By Randomness or Devil Take the Hindmost or Fortune's Formula. Read Harry Potter. Anything but The Black Swan.

    3-0 out of 5 stars True but overelaborate, September 18, 2007
    I am a mathematical statistician and I have read the book in question. Although I agree with the book's conclusion, I can only say that the information in the book can be written in about two pages. It does not require a book to say it.

    2-0 out of 5 stars Not recommended, September 21, 2007
    The author expressed his strong negative options on statistics, econometrics, some finance professors, some Nobel Prize winners, etc. The whole point is that traditional stat, econ, finance techniques are mostly around the first moment (mean) but the distributions in finance tend to be non-normal and it's the risk that we should pay more attention to. That's a point few people would disagree with. What the author may not have known is that there are stat techniques out there that handle all the issues mentioned - while it's true that there's a lot of room for improvement, it's misleading to say that this is an area ignored by the academics and practitioners. While fractals are recommended, it is not clear how they can be directly applied to the area of investment finance.

    There is a 2007 issue in American Statistican dedicated to the debate with the author and is highly recommended. ... Read more


    2. Gödel, Escher, Bach: An Eternal Golden Braid
    by Douglas R. Hofstadter
    Paperback
    list price: $22.95 -- our price: $13.72
    (price subject to change: see help)
    Isbn: 0465026567
    Publisher: Basic Books
    Sales Rank: 969
    Average Customer Review: 4.5 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    This groundbreaking Pulitzer Prize-winning book sets the standard for interdisciplinary writing, exploring the patterns and symbols in the thinking of mathematician Kurt Godel, artist M.C. Escher, and composer Johann Sebastian Bach. ... Read more

    Reviews

    5-0 out of 5 stars Way out of my comfort zone, but still great., June 2, 2000
    I'm here to witness that even people as seriously math-challenged as I am can participate in this wonderful book. It took me a *long* time to read-- I flipped back and forth, beat the pages up, asked my more math-oriented friends for help. I spent forever trying to solve the MU exercise. It was worth it. I still feel like I understood parts of it only in intuitive flashes, but those flashes showed me a room more interesting than most of the well-lit chambers ordinary books provide.

    Reading Godel, Escher, Bach is like joining a club. People who see you reading it will open spontaneous conversations and often gift you with unexpected insights. (I had a fascinating conversation with a total stranger about Godel's theorem.)

    Wish I could give more than five stars.

    5-0 out of 5 stars A Profound Meditation On Human Creativity, October 1, 2000
    G�del, Escher, Bach: An Eternal Golden Braid debates, beautifully, the question of consciousness and the possibility of artificial intelligence. It is a book that attempts to discover the true meaning of "self."

    As the book introduces the reader to cognitive science, the author draws heavily from the world of art to illustrate the finer points of mathematics. The works of M.C. Escher and J.S. Bach are discussed as well as other works in the world of art and music. Topics presented range from mathematics and meta-mathematics to programming, recursion, formal systems, multilevel systems, self-reference, self-representation and others.

    Lest you think G�del, Escher, Bach: An Eternal Golden Braid, to be a dry and boring book on a dry and boring topic, think again. Before each of the book's twenty chapters, Hofstadter has included a witty dialogue, in which Achilles, the Tortoise, and friends discuss various aspects that will later be examined by Hofstadter in the chapter to follow.

    In writing these wonderful dialogues, Hofstadter created and entirely new form of art in which concepts are presented on two different levels simultaneously: form and content. The more obvious level of content presents each idea directly through the views of Achilles, Tortoise and company. Their views are sometimes right, often wrong, but always hilariously funny. The true beauty of this book, however, lies in the way Hofstadter interweaves these very ideas into the physical form of the dialogue. The form deals with the same mathematical concepts discussed by the characters, and is more than vaguely reminiscent of the musical pieces of Bach and printed works of Escher that the characters mention directly in their always-witty and sometimes hilarious, discussions.

    One example is the "Crab Canon," that precedes Chapter Eight. This is a short but highly amusing piece that can be read, like the musical notes in Bach's Crab Canon, in either direction--from start to finish or from finish to start, resulting in the very same text. Although fiendishly difficult to write, the artistic beauty of that dialogue equals Bach's music or Escher's drawing of the same name.

    As good as all this is (and it really is wonderful), it is only the beginning. Other topics include self-reference and self-representation (really quite different). The examples given can, and often do, lead to hilarious and paradoxical results.

    In playfully presenting these concepts in a highly amusing manner, Hofstadter slowly and gently introduces the reader to more advanced mathematical ideas, like formal systems, the Church-Turing Thesis, Turing's Halting Problem and G�del's Incompleteness Theorem.

    G�del, Escher, Bach: An Eternal Golden Braid, does discuss some very serious topics and it can, at times, be a daunting book to handle and absorb. But it is always immensely enjoyable to read. The sheer joy of discovering the puns and playful gems hidden in the text are a part of what makes this book so very special. Anecdotes, word plays and Zen koans are additional aspects that help make this book an experience that many readers will come to feel to be a turning point in their lives.

    Like every other book written by Hofstadter, G�del, Escher, Bach: An Eternal Golden Braid, has an index and a bibliography that must be noted as exceptionally well done.

    Although filled with English wordplay, this book is in no way tied to the American origin of its author. For years, it was thought that G�del, Escher, Bach: An Eternal Golden Braid, would be impossible to translate, but so far, it has successfully been translated into French, German, Spanish, Chinese, Swedish, Dutch and Russian.

    A profound and beautiful meditation on human thought and creativity, this book is indescribably gorgeous and definitely one of a kind.

    5-0 out of 5 stars Escape from predestination, December 14, 1999
    It seems highly appropriate that Douglas Hofstatder should re-release his epic work now. His central theme plays so eloquently in this place and time: Every system folds in on itself, be it physics, mathematics, or any form of language. All these systems are inherently self-referential, and as such, take on a life of their own. A life their creators could never imagine. Many reviewers have focused on the explicit messages of the book, their likes or dislikes, but the great beauty of this work lies within the realm of what it does not say. It is, no doubt, the most difficult book I have ever read, and I have to admit it took me several false starts to finally get through the thing. It is so incredibly deep - one cannot simply wade through it like a sci-fi novel. But if you take your time, spend, say about a year on it - work through the TNT exercises, discover the hidden messages the author has left, read the bibliography - and at some point it will strike you; the incredible richness of the message. The book, you, the world, all of it IS open. The pages of this universe are blank, unwritten. Dr. Hofstadter has woven a message of eternal optimism, one that transcends even the infinite depth to the tapestry of topics spread before us: The great freedom that we, nature's most remarkable matrix, are part of a future without destiny. Even if we were created, any purpose impressed upon us is lost in a cacophany of unexpected relationships. Deterministic, yet infinitely complex and unpredictable. We can never understand anything completely, and thus every life can experience the magic of observing that which cannot be explained. This is a book of wonders, and you will never regret the time you spent on it.

    5-0 out of 5 stars A worthwhile effort to read, January 9, 2001
    I first read GEB some 20 years ago as a high school senior/college freshman. Even though I was a mathematically inclined physics major, an amateur classical musician, and a lightning-fast reader, the book still took me a year to finish. This is the sort of weighty tome where one reads a chapter, and then sets the book aside for awhile to let things settle in. It's no wonder that a poll by New Scientist magazine of highly-regarded scientists had to be rephrased as "EXCEPT for Godel Escher Bach, what scientific or technical book would you take to an uninhabited island?"

    I will cheerfully confess that I cannot remember all of the details of the book, and that there were times when I simply couldn't get at what Hofstadter was trying to explain. Still, some of Hofstadter's writing has stayed with me the past two decades--his classic analogy of Godel's theorem with a stereo system, his discussion of the difficulties of creating an "accurate" translation (using the beginning of "Crime and Punishment"), his wondrous tying-together of math, music, and art. The totally math-phobic will find these, and many other concepts, readily accessible and even symbol-free. Wish I could say as much for some "general audience" philosophy books!

    4-0 out of 5 stars hasn't aged well..., October 6, 2002
    When this book first came out, I, along with probably most mathematically and scientifically minded people of my generation, would certainly have considered it one of the best books ever written. Hofstadter has refined the task of writing a book into almost an art form. Drawing on the central theme of "strange loops" (ideas that loop back on themselves in a paradoxical manner, as might be seen in the art of M.C. Escher), Hofstadter successfully draws together ideas from a large variety of different human pursuits. An important idea--shown to be connected to other ideas in artificial intelligence, music, and art--is Godel's incompleteness theorem, which shows that there are limits on our ability to prove concepts that may, nevertheless, be true. This, too, is based on a "strange loop"--these loops seem to crop up everywhere and Hofstadter spends a lot of the book showing how they are pretty much fundamental to human knowledge.

    However, after reading the new preface in this 20th anniversary edition, I'm left with the sense that this once great book is now merely good. For one thing, Hofstadter seems to have evolved from a brilliant young man with a lot of great ideas into a somewhat cantakerous middle-aged man. He seems angry at the New York Times, and his readers, for not fully understanding the central message of the book. Yet he also excuses himself from making any attempt to update the book or bring the ideas in line with many of the enormous changes that have happened over the last 20+ years. It seems surprising to me that Hofstadter would constrain his own book to having only one central message--surely he should understand that a book of this complexity will mean many things to many different people, and that indeed is the reason for its popularity.

    So, I still highly recommend this book, but I'm left just a little disappointed that Hofstadter seems somewhat at war with his readers and as a result, won't attempt to update the book or try to help us reconcile the many events of the last 20 years with the themes of his book.

    5-0 out of 5 stars Brilliant and *still* misunderstood!, June 30, 2003
    I've been reading reviews of GEB for years, and the most fascinating thing about them, aprt from the near-uniform enthusiasm of the readers, is that almost none of the enthusiatic readers have any idea of what the book is actually about! The typical reader seesm to think of GEB as a jouyous romp through any number of fascinating bits of logic, math and science without any idea as to what Hofstader's actually doing.

    Yes, it's about Goedel, and recursion, and "strange loops", and linguistics Bach and ants and all that- but only trivially. The bulk of the book is taken up with what amounts to a very entertaining tutorial that sets the reader up for the real thesis of the book. What Hofstadter has attempted in GEB is nothing less than a concise, bottom-up theory of mind. You can read it as a theory of AI, or a theory of human intelligence, but either way he's telling you how to construct an intelligent entity.

    True, he doesn't really have a theory of *how* a self-aware being should arise from his metaphorical anthill, but then, neither does anyone else. But he does have a very good story as to how intelligence does arise in such conditions.

    If you've read this book before without understanding what his aim was, read it again, with that notion in mind. And if you haven't read it, and you're the sort of person who enjoys mathematic and scientific amusements of any sort, well, read it and discover how much fun a speculative theory can be.

    4-0 out of 5 stars A Golden Braid with Very Many Strands, June 5, 2006
    GEB: an Eternal Golden Braid is a difficult book to explain. It's a book about strange loops, recursivity, paradox, number theory, formal systems, molecular biology, Zen Buddhism, impressionism, and fugues. These concepts are introduced through the works of mathematician Kurt G�del, artist M.C. Escher, and composer J.S. Bach, as well as some other supporting characters, like Charles Babbage (the first one to think of an Analytical Engine, a mechanical device for churning out algebraic theorems) and Alan Turing (of Turing Test fame). And then, of course, there are the dialogues, populated by the Greek warrior Achilles, a tortoise, a crab, and an anteater. Out of this confusing mess of concepts Hofstadter attempts to grapple with a truth he feels lies at the heart of Artificial Intelligence and Human Consciousness--that it forms from the same tangled hierarchies as G�del's Incompleteness proof or Escher's "Print Gallery" or Bach's "Canon per Tonos" (a theme that changes notes according to a fixed system that somehow always returns to its starting note, one octave higher in pitch).

    Much of the book deals with formal systems--meaningless symbol-shunting procedures for producing theorems from axioms--and the way they are mapped on to "truths" about the world (what Hofstadter calls "isomorphisms"). One of the most extensively used formal system in the book is called TNT, for `typographical number theory' (also one in a series of Hofstadter puns, as TNT, when joined with a process called G�del Numbering, tends to self-destruct), which is just a new way of expressing simple number-theoretical truths (such as the commutativity and associativity of addition; i.e., b+c=c+b and b+(c+d)=c+(b+d)). On the surface, formal systems seem utterly trivial. Hofstadter introduces them as a theatre on which strange loops emerge. Strange loopiness enters formal systems when they can express Epimenide's paradox, a single sentence that reads "This sentence is untrue." Hofstadter explains how this realization came to pass when a German mathematician named Kurt G�del discovered inconsistencies in Bertrand Russell and Alfred North Whitehead's "Principia Mathematica", a treatise meant to banish self-reference in set and number theories. Any formal system capable of expressing all number-theoretical truths can also be used to represent itself through a system of G�del Numbering, which is just a way of interpreting symbols in the formal system as large numbers. Any formal system powerful enough to represent itself through G�del Numbering can make the statement "There is no theorem with G�del Number G'", where G' is the G�del number for that statement. In other words, a powerful formal system will inevitably make claims that are paradoxical, inconsistent whether you call them true or false.

    Hofstadter combines the strange loopiness of formal systems with the concept of isomorphisms to come to some conclusions about human consciousness. First, he claims that the brain has a formal system for representing concepts in the world that exhibits self-reference and self-modification in a tangled hierarchy, just like the simplified formal systems he introduces in the book, Escher illustrates, and Bach incorporates into his music. He takes his time making his case, ending each chapter with a dialogue between Achilles and a Tortoise, a convention Zeno used to prove the impossibility of motion, and Lewis Carroll burrowed in his Two-Part Invention. These dialogue's are usually esoteric and highly amusing, including a series on Achilles' record player and one of the Tortoise's records designed explicitly to create vibrations that destroy the record player. This is a parallel to the explosive self-repudiation of TNT--any record player that can produce a high fidelity representation of the magnetic strips on the record will destroy itself, and any record player that can't is useless as a record player. Another dialogue introduces an anteater who converses with an ant colony that is collectively cognizant, even if each individual ant isn't (a parallel to meaning arising from meaningless formal systems of neuron representations in the human mind). In the main text, Hofstadter introduces the reader to the computer languages of Bloop, Floop, and Gloop (Gloop is just theoretical, a self-altering program reminiscent of the tangled hierarchy of the human mind), simple programs designed to reproduce themselves (an analogue to strings of DNA that encode for DNA synthesizing enzymes), and the Zen concept of MU (where neither `yes` or `no` suffice, say MU, or `unask the question`).

    Fans of M.C. Escher will want to take another look at his "Print Gallery", a picture of a man looking at a picture of a town that contains the gallery the man is in, and the picture he's looking at. This is a tangled bit of self-reference has a blemish at the lower right-hand corner of the picture frame (the picture frame in the print, which is in the center of the print). In this blemish M.C. Escher writes his signature, but Hofstadter points out that the "blemish" is an inescapable side-effect of the self reference. No consistent image could appear in that blemish, just as no consistent interpretation of Epimenide's paradox is correct. Human's don't have privileges access to the formal system of their representations of the world--the inviolate level of human consciousness is off-limits to our perception. "From this balance between self-knowledge and self-ignorance comes the feeling of free will (p. 713)," says Hofstadter. This is the central idea of his book. Formal systems are ubiquitous, and powerful formal systems exhibit tangled hierarchies. The human mind is no exception, and the "blemish" of human consciousness is that inevitable bit of self-ignorance that gives us free-will. By breaking it down to the saliencies of a formal system, Hofstadter has high regard for the prospects of Artificial Intelligence, which ought to be able to build upon a similar edifice.

    This is a difficult book to read and understand. It's deeply compelling and reads differently each time. I recommend it to those who have a lot of time on their hands.

    5-0 out of 5 stars Many dialogues make light reading, December 1, 2005
    You might have been recommended this by a friend, or come across web recommendations. Almost everyone gives it more than 5 stars! But...
    you can think of many reasons why you do NOT want to read this. There is lots of maths (it is a book about maths!?), it is loved by geeks, and it seems to cover too many things (consciousness, intelligence, reductionism, holism, recursion, self and soul!)...

    You don't know if you want to start on an epic 700 page book about abstruse stuff right now. Perhaps later.

    Hold it! You can enjoy this book just because of the brilliant writing, the puzzles and wordplay that make it a dream of Renaissance-style writing. The Rule of Four, Hypnerotomachia, Name of the Rose etc can't match this brilliance.

    I suggest a really easy way to start this book: Read a dialogue. Each chapter has an opening dialogue: Tortoise and Achilles and a few others spar; their verbal wizardry opens up new worlds; each is set to music, imitating the style of a Bach piece so closely you can almsot hear the music while you read. The main chapters discuss the serious stuff seriously. A typical dialogue is less than 5 pages; so give it a quick try NOW.... see if you enjoy the heady mix of literature, puzzles and deep stuff!

    My favourite is Crab Canon.. this was the first bit written, the whole book was written around it. Crabs (supposedly) walk backwards; see the illustrations (Escher's art, Bach's score, both called Carb Canon) upside down, and then .. read the dialogue backwards.
    Here it is: http://www.barryland.com/canon.html

    Or try "Sonata by Unaccompanied Achilles": this has a couple of lovely little puzzles.
    http://www.rdegraaf.nl/index.asp?sND_ID=141084

    Or, ... oh! there's so many little gems to recommend.

    And if you like the first dialogue you read, get the book. Then read the preface, and then read the dialogues - in order - and skip the chapters .. till later.
    That makes it a great fun read.. and a short book in itself!

    Then having enjoyed yourself, read from the beginning and enjoy the whole thing afresh... at yor own pace. I read the dialogues quickly, and absorbed the book over a year, solving word and logic puzzles, tripping over imagery and more ...

    So, have fun with this great book. It might change your life, as it did mine.

    5-0 out of 5 stars Down the Rabbit Hole..., May 17, 2007
    This is a difficult book.

    Difficult to read. Difficult to understand. And, I'm finding, difficult to review. What's it about? Good question. The author, himself, isn't very clear on this point, describing it as "a metaphorical fugue on minds and machines in the spirit of Lewis Carroll." I'm not sure I can do better than that. I will tell you this, however: if the book has a "point," it does seem to be that man's consciousness is ultimately mechanical and, therefore, that there is no reason that machines cannot finally be intelligent in the same sense that man is. (And, in fact, be as man in just about every internal way.)

    While I take issue with this conclusion, and some of Hofstadter's reasoning along the way, I don't think that my debating his points is the basis on which a prospective reader should decide whether or not to pick up this book. Instead, the prospective reader should know: that this is a lengthy and deep work. It will take a *long* time to read properly, and most readers should not read more than a chapter a day. Many of the sections, and especially the various dialogues that preface the chapters, are quite clever. (These dialogues are usually between Achilles and the Tortoise, of Zeno's paradoxes, and their friends.) Some of the chapters grow incredibly technical. The subject matters vary, wildly and rapidly, and there will be points in reading where you will question your investment.

    In the end, you will feel good for having pushed through the hard bits. It will coalesce, more or less, into a whole. Whether you finally agree with Hofstadter's conclusions or not, you'll have learned much and thought about important topics you might otherwise not have.

    A good book, certainly not for everyone... but, if you're the "right" audience--someone deeply interested in questions of intelligence, mathematics, computer science and free will, and possessed of a bit of an ironic sense of humor--then this book cannot be recommended highly enough.

    Five stars, for the work it represents, and the doors it opens to the reader.

    4-0 out of 5 stars Remember: We're in Planesville, January 22, 2004
    I give this book high marks. The read is difficult, I concede. However, remember that in order to make progress, oftentimes we must take a leap of faith. The book even argues that proving something to be true requires you to "just believe" because logic eventually runs out upon deconstruction. See chapter VII.

    I have had similar trouble that others report. I have had to re-read parts to make sure I get his points, whether I agree or not. And yes, he conveys his ideas in what some may consider an offhand way. There is much value in the saying, "To be great is to be misunderstood."

    You dont have to like this book. Just make sure you're certain why you do or don't like it. Is it because the Hof doesn't know what he is talking about, or because he "wastes" your time with his lingo and fictional prancing about? Or is it because there's a chance that you don't understand? I am not condescending readers who don't like GEB, but we too often rate someone's ideas based on our inability to understand and yes, sometimes be entertained immediately. Don't expect him to do all the work. What are you bringin' to the party?

    This book is challenging. Once you have spent enough time with it, you might see that it requires you to challenge your understanding of things, take that leap of faith (it's not all about logic), suspend judgment, then see what you think when you get to the other side. Consider the section devoted to the topic of Euclidean vs. non-Euclidean geometry:

    Euclid of Alexandria perfected the art of rigor in his Elements, becoming arguably the most influential mathematician in times of antiquity. He made a most convincing case for the accuracy and truthfulness of much of the fundamental geometry we know today. He did so by using five principals upon which to base the remainder of his volumes of assertion. Four of the five principles were based on truths quite simple and so understandable, for the most part we hold them to be self-evident. One of those (the first) was the notion of a straight line, as simple and direct as connecting point A to point B.

    His work seemed universal, truthful, and beyond reproach, especially considering the painstaking efforts he went to prove the seemingly most basic of concepts. This all seemed well and good, until others, implicitly or otherwise, began to question the notion or suggest what a different version of what a straight line is. In other words: What if there was more than one type of straight line? How could this be?

    To make a long story only slightly longer, we find that there in fact IS more than one type of straight line (what's the difference between a straight line drawn on a piece of paper and a straight line drawn on a basketball? hmmmm....), which spawned elliptical and spherical geometries. Turns out that Euclidean geometry is actually a subset of geometry, not the entire geometry. All these years we thought that a piece of the pie was the whole pie.

    The point here is that you must endeavor to see outside what you know to be true. It's not always comfortable or seemingly conceivable, but we must accept a degree of uncertainty before we can realize a new level of certainty.

    Give the book a shot. Maybe two. Suspend your judgment and take the hit. You'll see. Regards. ... Read more


    3. Getting Started with Arduino (Make: Projects)
    by Massimo Banzi
    Paperback
    list price: $12.99 -- our price: $10.39
    (price subject to change: see help)
    Isbn: 0596155514
    Publisher: Make
    Sales Rank: 2038
    Average Customer Review: 4.2 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    This valuable little book offers a thorough introduction to the open-source electronics prototyping platform that's taking the design and hobbyist world by storm. Getting Started with Arduino gives you lots of ideas for Arduino projects and helps you get going on them right away. From getting organized to putting the final touches on your prototype, all the information you need is right in the book.

    Inside, you'll learn about:

    • Interaction design and physical computing
    • The Arduino hardware and software development environment
    • Basics of electricity and electronics
    • Prototyping on a solderless breadboard
    • Drawing a schematic diagram
    And more. With inexpensive hardware and open-source software components that you can download free, getting started with Arduino is a snap. To use the introductory examples in this book, all you need is a USB Arduino, USB A-B cable, and an LED.

    Join the tens of thousands of hobbyists who have discovered this incredible (and educational) platform. Written by the co-founder of the Arduino project, with illustrations by Elisa Canducci, Getting Started with Arduino gets you in on the fun! This 128-page book is a greatly expanded follow-up to the author's original short PDF that's available on the Arduino website. ... Read more

    Reviews

    5-0 out of 5 stars Great, but be ready to buy some more parts!, June 23, 2009
    While some reviewers decry the intro "fluff" chapters and the simplicity of some of the projects, by the end of this short book, you will have been exposed to many of the capabilities of the Arduino microcontroller. I found the book's projects to be very informative and fun. One warning to buyers: You will need to buy a few more electronic parts to take full advantage of this book and it's projects. Here's what you should get:
    1. 5-10 x 10K-Ohm resistors
    2. 1 x Momentary push button switch (4 pin), compatible with a breadboard
    3. 5 x LEDs of differing colors (most will work with the 3-5V output of the Arduino).
    4. 1 x MOSFET or 1 x 5V actuated relay (this is to turn on/off motors)
    5. 1 x solder-less breadboard
    6. 1 x jumper wire kit (various lengths and colors of short wires)
    7. 1 x LDR (light dependent resistor)
    8. 1 x 9V (or similar magnitude) battery case with leads for a breadboard
    9. 1 x small motor (5-9V).

    It seems like quite a bit, but if you get and use these parts with the projects, you will learn how to use sensors to take in data from the environment, have the Arduino process it, and then drive a response (in the form of lighting LEDs, turning on motors, etc.). Fortunately, the Arduino itself is USB-powered, so the other power sources (i.e. the battery case) will only be needed to run things like the motor.

    4-0 out of 5 stars A word from the Author, October 29, 2008
    Hello
    I would like to specify that the book can't be found online for free.
    There is a booklet that was written in 2006 that was 30 pages, this is 128 pages and it's up to date and correct.

    The booklet had a lot of mistakes, inaccuracies and the way some things are taught is now out of date and has been removed from the site.

    Having said this, Arduino is an open source project that prides itself from having a lot of documentation online so if you read the thousands of pages online you can learn about Arduino.

    This book is for the complete beginner that wants to be taken by hand through the basic steps that it takes to get started.

    5-0 out of 5 stars High Praise For Brief Artistic Introduction to The Arduino, November 11, 2008
    I cannot offer high enough praise for this brief, artistic introduction to the Arduino Microcontroller and its enthusiastic user community. In this 118 page handbook, easily stored with your electronics tools, the author a co-designer of the Arduino controller, provides everything needed for the non-technical DIYer to program, test and build simple electronic projects with the Arduino board. In addition to Massimo Banzi's clear and informal writing about experimenting with electronics, software, and even descriptions of how to get answers from the open source community online, this pamphlet contains clear but artistic illustrations of the equipment used and ancillary tools by Elisa Canducci. It is an excellent introduction for the Artist, Teacher, DIYer, Electronics Hobbyists and Software People who are afraid to assemble physical electronics. I only wish there was more content along the lines of this book--but then it wouldn't fit in your toolkit or be available for $12.99.
    --Ira Laefsky

    4-0 out of 5 stars Got me started, December 3, 2009
    I've never done anything with electronics before, but I got through this book over the course of a couple days. Surprisingly few difficulties for a beginner. I liked the casual style of the book. The Arduino language was easy to learn and I found myself making adjustments to the code between projects. You learn by doing in this book, so it doesn't feel like arduous studying. Basically, a chapter will introduce a project with some new functions that you haven't learned before - you'll build it and write the sketch (the Arduino code) and then learn what you did. It was fun.
    Another reviewer mentioned getting some extras with the book and I heeded his advice. I bought the Arduino Duemilanove Starter Kit through Amazon and it included pretty much everything I needed to go through this book:
    (I'll modify the other reviewer's list a bit)
    1. 5 x 330 Ohm resistors
    2. 1 x Momentary push button switch
    3. 6 x LEDs
    4. 1 x solder-less breadboard
    5. 1 x jumper wire kit
    6. The Aruino Duemilanove of course
    The things above are all included in that kit.
    The only other things you'll want to buy are:
    7. LDR (light dependent resistor) [fun sensor to use]
    8. Some 10k Ohm resistors [these are recommended in the book, though you can probably get away with the 330 Ohms]

    The following devices (9-12) are shown in a setup on page 71 - but with no explanation of how to use them. If you know electronics already, you could probably figure it out. If you're a beginner - I'd say no need to buy (9-12) for use with this book, because although they are pictured - there is no explanation or code.
    9. 1 x 9V (or similar magnitude) battery case with leads for a breadboard
    10. 1 x small motor (5-9V).
    11. 1 x MOSFET or 1 x 5V actuated relay (this is to turn on/off motors)
    12. (A diode is pictured, but no indication of what type).

    If you want to really build a permanent lamp with the last project the author recommends the items below (13-16). I'd say this is unnecessary. You can build a temporary version with just items 1-8.
    13. IKEA "FADO" table lamp
    14. RGB LED (RED, GREEN, BLUE all in one LED with four leads)
    15. Soldering Iron
    16. Hot glue gun

    My three criticisms of the book are:
    a. No explanation for using a motor
    b. The final project is easy to set up, but it introduces the Processing language so you don't understand half of the project (unless you can understand Processing). That said, you do get to combine all the other stuff you did in the book - so that makes it a worthwhile project.
    c. Leaves you wishing for more content. It was fun to go through - but pretty quick and light.

    3-0 out of 5 stars Very Basic, September 21, 2010
    This was a very basic overview of the Arduino. Most of the projects involve making a LED blink. While this is a great way to show the input and output concepts, I finished the book feeling like I wanted more examples to really see what the arduino can do. I would imagine that you could save your money and read a quick tutorial online to find what is in this book!

    5-0 out of 5 stars An easy to use primer, January 22, 2009
    First, this is a primer. As a primer, this is one of the best primers I have ever used. The primer covers the coding and the hardware features of the Arduino platform quite well and the examples and circuit diagrams in the booklet are clear, concise, easy to build, and use. The author even tells you where to get any of the electronic components that you might need for prototyping and experimenting.

    If you are buying, using or curious about the Arduino prototyping platform, you should definitely pick this up, it will save you a lot of time.

    5-0 out of 5 stars Neat little book., January 17, 2009
    As mentioned, the material in this book is also available online, but it isn't really geared toward a technical person. The purpose of this book is to spark creativity in creative people who wouldn't think of what to do with a microcontroller. It's aimed at people who don't have a lot of experience with electronics and are considering making their art projects a bit more interactive. It has a few little examples in it. Not exhaustive by any means, but still a good primer. I would read this book and pass it on to those who may be on the fence about microcontrollers.

    3-0 out of 5 stars Very basic intro, September 27, 2010
    This book provides some interesting backstory to how the Arduino architecture came about, but there is very little actual technical info here beyond the obvious. If you have some programming experience already, you probably don't need this book.

    5-0 out of 5 stars Best book for getting started with an Arduino!, February 9, 2009
    If you're new to electronic circuits and micro controller programming, this book is a great introduction. It walks you through step by step creating basic circuits and programming the Arduino to activate LED's, accept input from various buttons and sensors, and even interact with data from the computer. It's a must read for any beginner!

    4-0 out of 5 stars Getting Started with Arduino, February 23, 2009
    As other reviews have stated this book is worth the price -for beginners. It is not a difficult read and does a good job drawing the reader into the exciting world of microcontrollers. There are many other more in-depth books on the subject but if you are a newbie, this is the book for you.

    I gave it 4 stars because there are a few code examples that could have been better explained, but it is still completely worth the price. ... Read more


    4. Gamestorming: A Playbook for Innovators, Rulebreakers, and Changemakers
    by Dave Gray, Sunni Brown, James Macanufo
    Paperback (2010-07-19)
    list price: $29.99 -- our price: $19.79
    (price subject to change: see help)
    Isbn: 0596804172
    Publisher: O'Reilly Media
    Sales Rank: 2948
    Average Customer Review: 4.8 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    Great things don’t happen in a vacuum. But creating an environment for creative thinking and innovation can be a daunting challenge. How can you make it happen at your company? The answer may surprise you: gamestorming.

    This book includes more than 80 games to help you break down barriers, communicate better, and generate new ideas, insights, and strategies. The authors have identified tools and techniques from some of the world’s most innovative professionals, whose teams collaborate and make great things happen. This book is the result: a unique collection of games that encourage engagement and creativity while bringing more structure and clarity to the workplace. Find out why -- and how -- with Gamestorming.

    • Overcome conflict and increase engagement with team-oriented games
    • Improve collaboration and communication in cross-disciplinary teams with visual-thinking techniques
    • Improve understanding by role-playing customer and user experiences
    • Generate better ideas and more of them, faster than ever before
    • Shorten meetings and make them more productive
    • Simulate and explore complex systems, interactions, and dynamics
    • Identify a problem’s root cause, and find the paths that point toward a solution
    Play a Game from Gamestorming

    We're hardwired to play games. We play them for fun. We play them in our social interactions. We play them at work. That last one is tricky. "Games" and "work" don't seem like a natural pairing. Their coupling in the workplace either implies goofing off (the fun variant) or office politics (the not-so-fun type).

    The authors of Gamestorming, have a different perspective. They contend that an embrace and understanding of game mechanics can yield benefits in many work environments, particularly those where old hierarchical models are no longer applicable, like the creatively driven knowledge work of today’s cutting edge industries.

    Here is one of the 83 games featured in Gamestorming:

    The ELEVATOR PITCH Game

    OBJECTIVE OF PLAY: What has been a time-proven exercise in product development applies equally well in developing any new idea: writing the elevator pitch. When developing and communicating a vision for something, whether it’s a new service, a company-wide initiative, or just a good idea that merits spreading, a group will benefit from going through the exercise of writing their elevator pitch.

    Often this is the hardest thing to do in developing a new idea. An elevator pitch must be short enough to deliver in a fictional elevator ride but also contain a compelling description of the problem you’re solving, who you’ll solve it for, and one key benefit that distinguishes it from other ideas.

    NUMBER OF PLAYERS: Can be done individually, or with a small working group

    DURATION OF PLAY: Save at least 90 minutes for the entire exercise, and consider a short break after the initial idea generation is complete before prioritizing and shaping the pitch itself. Small working groups will have an easier time coming to a final pitch; in some cases it may be necessary to assign one person with follow-up accountability for the final wording after the large decisions have been made in the exercise.

    HOW TO PLAY: Going through the exercise involves both a generating and a formative phase. To set up the generating phase, write these headers in sequence on flip charts:

    • Who is the target customer?
    • What is the customer need?
    • What is the product name?
    • What is its market category?
    • What is its key benefit?
    • Who or what is the competition?
    • What is the product’s unique differentiator?
    These will become the elements of the elevator pitch. They are in a sequence that adheres to the following formula.

    To finish the setup, explain the elements and their connection to each other:

    • The target customer and customer need are deceptively simple: any relatively good idea or product will likely have many potential customers and address a greater number of needs. In the generative phase, all of these are welcome ideas.
    • It is helpful to fix the product name in advance--this will help contain the scope of the conversation and focus the participants on “what†the pitch is about. It is not outside the realm of possibility, however, that useful ideas will be generated in the course of the exercise that relate to the product name, so it may be left open to interpretation.
    • The market category should be an easily understood description of the type of idea or product. It may sound like “employee portal†or “training program†or “peer-to-peer community.†The category gives an important frame of reference for the target customer, from which they will base comparisons and perceive value.
    • The key benefit will be one of the hardest areas for the group to shape in the final pitch. This is the single most compelling reason a target customer would buy into the idea. In an elevator pitch, there is no time to confuse the matter with multiple benefits--there can be only one memorable reason “why to buy.†However, in the generative phase, all ideas are welcome.
    • The competition and unique differentiator put the final punctuation on the pitch. Who or what will the target customer compare this idea to, and what’s unique about this idea? In some cases, the competition may literally be another firm or product. In other cases, it may be “the existing training program†or “the last time we tried a big change initiative.†The unique differentiator should be just that: unique to this idea or approach, in a way that distinguishes it in comparison to the competition.

    The Generating Phase
    Once the elements are understood, participants brainstorm ideas on sticky notes that fit under each header. At first, they should generate freely, without discussion or analysis, any ideas that fit into any of the categories. Using the Post-Up technique, participants put their notes onto the flip charts and share their ideas.

    Next, the group may discuss areas where they have the most trouble on their current pitch. Do we know enough about the competition to claim a unique differentiator? Do we agree on a target customer? Is our market category defined, or are we trying to define something new? Where do we need to focus?

    Before stepping into the formative phase, the group may use dot voting, affinity mapping, or another method to prioritize and cull their ideas in each category.

    The Formative Phase
    Following a discussion and reflection on the possible elements of a pitch, the group then has the task of “trying out†some possibilities. This may be done by breaking into small groups, as pairs, or as individuals, depending on the size of the larger group. Each group is given the task of writing an elevator pitch, based on the ideas on the flip charts.

    After a set amount of time (15 minutes may be sufficient), the groups reconvene and present their draft versions of the pitch. The group may choose to role-play as a target customer while listening to the pitch, and comment or ask questions of the presenters.

    The exercise is complete when there is a strong direction among the group on what the pitch should and should not contain. One potential outcome is the crafting of distinct pitches for different target customers; you may direct the group to focus on this during the formative stage.

    STRATEGY
    Don’t aim for final wording with a large group. It’s an achievement if you can get to that level of completion, but it’s not critical and can be shaped after the exercise. What is important is that the group decides what is and is not a part of the pitch.

    Role play is the fastest way to test a pitch. Assuming the role of a customer (or getting some real customers to participate in the exercise) will help filter out the jargon and empty terms that may interfere with a clear pitch. If the pitch is truly believable and compelling, participants should have no problem making it real with customers.

    The elevator pitch, or elevator speech, is a traditional staple of the venture capital community, based on the idea that if you are pitching a business idea it should be simple enough to convey on a short elevator ride.

    ... Read more

    Reviews

    5-0 out of 5 stars A play book for work and life
    For several weeks, I've been combing my bookshelves for activities to incorporate into my LIM College class on social media marketing. I wanted games to drive home the information in unconventional, interactive ways. I went to my theatre books, my business books, and my books filled with writing exercises. Nothing seemed quite right. And then I found Gamestorming. It felt like a gift out of the sky. My anxiety about the class diminished a bit more with every page.

    Gamestorming details games that engage groups, both large and small, in learning and discovery. They work in corporations and in schools, and I'd like to add that they are a valuable tool for navigating just about any decision and complication in life. I found myself noting in nearly every margin how to use each game. The clear, concise description, depictions, and plan for each took a great deal of thought and care from the authors.

    The metaphor of life as a game is well worked over. The trouble with the game of life is that there are no rules. You don't make them and neither does anyone else. They change from moment to moment, and the rule that seemed to work today may never be useful again. We are forced in every situation to think on our feet. Gamestorming gives us more confidence and empowers us to take our futures in our own hands.

    5-0 out of 5 stars A Gamechanger
    With Gamestorming Dave, Sunni, and James created one of the most valuable and applicable collection of tools and techniques for organizational design that I have ever come across. The "games" outlined in the book help you make ideas more tangible and meetings more productive, notably through visual techniques. Gamestorming is a window into the future of how groups will work.

    There is no way around this book if you are serious about making innovation and change happen in your organization.

    5-0 out of 5 stars LET THE GAMES BEGIN!!
    Are you a gamer or a game designer? If you are, then this book is for you. Authors Dave Gray, Sunni Brown and James Macanufo, have done an outstanding job of writing a book that shows you how to embrace and understand gaming mechanics that can be applied to the workplace environment.

    Gray, Brown and Macanufo, begin by showing you how to break down gaming barriers and how they can be applied in the work place. Next, the authors help you identify gaming tools and techniques from a unique collection of games that help encourage engagement and creativity in the work place. Then, they show you how to overcome conflict and increase engagement with team-oriented games. Next, the authors help you make innovation and change happen in your organization. They continue by detailing games that engage organizations, both large and small, in learning and discovery. Then, the authors show you how to introduce gaming in software development. Next, they cover the core principals and benefits of games, how to design games, games for opening and games for exploring. The authors continue by encouraging the use of games for the purpose of generating ideas. Finally, they show you how to create one of the most valuable and applicable collection of tools and techniques for organizational design.

    This most excellent book provides the tools and real-world examples that you need to effectively analyze your information in order to facilitate decision making. The games outlined in this book, allows you to suspend the usual behavioral standards for a limited time, thus allowing creativity to surface!!

    5-0 out of 5 stars Celebrating the Sophistication of Play
    Dave Gray is a real leader in this exploding field of business visualization. As the founder and creator of XPlane, he has lived the value of playful engagement as a part of serious design. Framing these activities as "games" points right at the central power of interactive work with groups, which is to create environments where everyone can contribute, create prototypes, and evolve their ideas. It brings the kinds of ideas Michael Schrage considers in "Serious Play", and Steven Johnson in "Where Do Innovative Ideas Come From" and makes them accessible for any group. Sunni Brown got her start at The Grove and knows this business as a very talented practitioner, and consummately playful person herself. James Macanufo is also a seasoned practitioner. The exercises suggested here have been well tested!!! Buy this book and keep your innovation toolkit brimming with great ideas.

    5-0 out of 5 stars Why games matter
    In Gamestorming, Dave Gray and his colleagues Sunni Brown & James Macanufo do something extraordinarily important and they do it with such simplicity and clarity that it is easy to miss what is most valuable about this book: in short, it explains why the idea of the game matters.

    It has become a media commonplace, at least in the "smart" media of Wired, Fast Company, The New Yorker and the New York Times, that games and gaming are reshaping our world. Few, however, explain with such lucidity not only why we should pay attention to this phenomenon, but also give us such a practical roadmap to the application of what we have to learn.

    Games are structured accelerators for learning. They are extraordinarily effective technologies for learning in groups and for accomplishing things while we learn and not simply after the fact. What Gray, Brown & Macanufo help us to see (the drawings & diagrams are fabulous) is that the game matters because it puts in our hands the technology to create and to explore other worlds, other realities; some possible, some parallel, some fantastical, but all of which are places that allow us to get beyond the constraints and the limitations of the present and the ordinary or mundane.

    Gamestorming gives us both a roadmap for understanding why games matter so much and, as the authors properly say, an accessible "playbook" for how to use these powerful technologies.

    My most grave complaint is that Gamestorming is still a book. Not withstanding the effort to challenge the limitations of the book (see the website at [...]), Gamestorming strains to show us things that belong on another platform altogether, perhaps something like the gamelayer that is starting to be built on top of the world we now "know": isn't that the "place" we should all go gamestorming?

    5-0 out of 5 stars This book is outstanding!
    This book is outstanding! Simple yet powerful. "Gamestorming" offers a provocative framework in which groups can use games to achieve results. More practically, it provides over 80 games that can be played in groups to stimulate new thinking, innovations, creative solutions and game-changing insights. In today's hyper-competitive environment where change is constant and the need for creative solutions is ever-accelerating, this book is essential. In short, it is a great book!

    5-0 out of 5 stars Amazing & Innovative book
    This is just the kind of book I was looking for. Management games to be used in presentations and team -building exercises. It had the right content and at a level i wanted for senior managers.
    Highly recommended ... Read more


    5. Design Patterns: Elements of Reusable Object-Oriented Software
    by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides
    Hardcover
    list price: $59.99 -- our price: $34.59
    (price subject to change: see help)
    Isbn: 0201633612
    Publisher: Addison-Wesley Professional
    Sales Rank: 7650
    Average Customer Review: 4.5 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    Four top-notch authors present the first book containing a catalog of object-oriented design patterns. Readers will learn how to use design patterns in the object-oriented development process, how to solve specific design problems using patterns, and gain a common vocabulary for object-oriented design. ... Read more

    Reviews

    5-0 out of 5 stars The best way to really learn object-oriented design, March 6, 1997
    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.

    I think this book is particularly valuable to many C++ and Java programmers, because of the dynamic and flexible design philosophy it follows. (Its two fundamental principles of reusable OO design are: "Program to an interface, not an implementation" and "Favor object composition over class inheritance".) I've found that many C++ books unfortunately tend to emphasize a rather static and inflexible design philosophy. Many C++ programmers do not realize how the language and the books they've studied from have been limiting their thinking until they have been exposed to ideas from other lanugages. The authors of this book have obviously been influenced by other languages as well, especially Smalltalk, and have brought many of its best lessons to C++ design. Most Java books seem to take after the C++ books, even though Java is a more dynamic language. This book may help Java programmers take full advantage of the extra power offered by their language, if they look deeply enough into some of the lesser-known features its runtime system affords.

    Last, but not least, this book is valuable because it names the patterns it uses, and so gives programmers a common vocabulary to describe design concepts, rather than particular implementations. You'll find yourself saying things like, "That would be a good use for a Decorator", or "Should we use a Facade or a Mediator in this case?" I encourage readers of this book to use this vocabulary with other programmers.

    In summary, this is one of the few books that I think belongs on every programmer's "must-have" list. Not to overuse a cliche, but like object-oriented design itself, the pattern concept is one of those rare paradigm-shifts in computer programming. It is equally valuable to expert professional and novice student alike. The book has a home page at http://st-www.cs.uiuc.edu/users/patterns/DPBook/DPBook.html

    4-0 out of 5 stars Must read, but requires some sophistication, May 15, 2000
    As you probably already realize from the large number of reviews, this book is one of the seminal books on patterns in software development. If you are a professional software developer, you must read this. If you are learning to write good software, this is a book that you will need to take on at some point, but I urge some caution.

    In particular, many of the patterns in this book represent highly distilled wisdom about effective solutions -- distilled so far that, unless you have implemented code that realizes the pattern in question already, you may have trouble absorbing the material. I find that programmers-to-be who dive into this book, often end up talking annoyingly about "applying patterns" without having a real grasp of how these things translate (with some distortion and compromise) into real projects.

    That being said, an excellent way to bridge the gap is to read this book along with "Pattern Hatching : Design Patterns Applied" by John Vlissides. That book is a chatty companion piece for this one -- I found myself understanding how to incorporate patterns into my day-to-day design work much more after reading both books.

    See: Pattern Hatching : Design Patterns Applied [also at Amazon.com]

    Overall, while this book is an extremely important contribution to software developers, it is structured in a way that makes the material difficult to absorb if you aren't approaching it with substantial previous knowledge about developing software. You can start with some of the simpler patterns (Singleton, for example) and work through the harder ones, but only by implementing projects and stumbling upon these yourself will you really feel a flash of recognition as you read them in the book.

    4-0 out of 5 stars Now that the hype is over..., January 19, 2005
    ... well, it's over. "Patterns" have not revolutionized the world. Nor does this book need to be "studied" for deep insights.

    What it seems patterns are actually good for is giving common names to popular solutions to problems, to make them easier to call to mind, and easier to discuss with others. Even this much is overrated. Before the advent of patterns, you could have said "callbacks" and people would have understood. Now you say "the Observer pattern".

    _Design Patterns_ is none the less valuable, because it is one of those few books that EVERYONE is expected to have read. This is helpful in practice, as you can expect everyone to be familiar with its vocabulary. Few books truly fall into this "required reading" category. The only other that comes to mind is the MIT algorithms text. Many tech pundits claim that every next book is "required reading", and the claim becomes tiring after a while, but this is one of the few that really is.

    I would not necessarily purchase it, though. The "pattern" schematic is verbose, and requires pages upon pages to describe something that, once you have seen it in practice once or twice, you will recognize immediately. Omitting the appendixes, the book is barely 350 pages, and presents only 23 patterns. Only a handful of the patterns are truly famous: Singleton, Observer, Template Method ... perhaps a few more. A number of them are poorly presented. Chain of Responsibility, for instance, is just one of many ways to define an event framework and does not belong in a book that doesn't present the alternatives. Mediator is another; there must be dozens of ways to create a Mediator, which most people would call an "event registry" or something else, rather than a Mediator. "Mediator" itself is little more than a name, and won't help you in design.

    Some patterns are boring, since modern languages tend to provide them, and we've heard about them many times already: Iterator, Proxy, Memento (serialization). Others, like Command, are geared towards GUIs, and provide little value to other types of applications. Then there are the State and Strategy patterns, which are two sides of the same coin, and needn't be given two different names.

    And so on. Definitely do not "study" this book if it seems you "just don't get it". Chances are the book is wrong. It is worth a read through, and a second read through if the terminology doesn't stick the first time, but stop at that. My gut feeling is that this book is most appropriate for someone working on his or her first large project. After that, once the terminology sinks in, the book has little else to offer. And if taken dogmatically, or considered "inspired" or infallible, the book is a hindrance. Finally, overuse of patterns can result in a "kitchen sink" design, instead of a simple one that takes a few patterns, that may or may not be ones from this book, and implements them cleanly. Take the book for what it's worth, but remain skeptical.

    5-0 out of 5 stars Not for the faint-hearted, but a must read., February 10, 2000
    Obviously, this book is *the* most recognized reference work on software-related Design Patterns, and as such cannot be ignored. If you want to know about patterns, here is where to start.

    The main asset of this book is in its trustworthiness and credibility - not such an easy thing to come by in computer books these days. I went through many if not most of the C++ examples in detail, and did not find a case where it didn't hold up, at least to the extent where it clarified what the point of the pattern was. The UML diagrams are also extremely helpful.

    Be forewarned, however; this is not light reading. The examples are based on heavy-duty design tasks your average programmer doesn't face, like language-parsing, toolkit creation, compiler writing, and the like. It makes one wonder how applicable many of the patterns are to less complex programming tasks.

    Also, most of the examples are in C++, so you really have to understand the syntax of C++ before you can get much value out of this book. Another drawback is that many of the examples are abridged, so at times you have to kind of extrapolate on what some of the code *would* look like in order to understand the examples. The chapter on Interpreter in particular was a tough nut to crack due to this. I actually would have liked to have seen *more* explanatory text associated with the code itself.

    For all that, many of the patterns are pretty staightforward. The trick is to nail down that you "get it" for each pattern. One technique I found enormously helpful in accomplishing this was to write a summary of the pattern after reading a chapter - right in the book, so it can referenced later (there's often an entire blank page opposite the beginning of each chapter you can use for this). You may find yourself delving back into the chapter to confirm your understanding.

    Overall, a challenging but ultimately rewarding read for anyone who wants to understand what design patterns are all about.

    5-0 out of 5 stars Possibly the most practical textbook I've read, October 31, 2000
    I've been a software developer in C++ for some time. I would have to agree with the reviews that mention that most C++ textbooks rarely show the full scope and power of what this language is capable of, until you look at modern OO languages like Java and how they have been put to use. After all, those are language textbooks, not OO design/philosophy books.

    This book, on the other hand, made clear the "why" behind many software library architectures I've used, from the basic Java classes and AWT to things done in MFC, COM and the Stingray MFC extension libraries. Not only did it give an explanation, but it explicitly set out the "how-tos" on using these patterns yourself (complete with diagrams illustrating the structures and interactions), and more importantly when and when not to use particular patterns.

    For me at least, the most difficult part of designing an application is not coming up with good algorithms or efficient routines, but is constructing a sensible, easy-to-maintain architecture that will hand the demands placed on it...without writing excessively convoluted code. This seems more all the more difficult the larger the application gets. The patterns in this book clarified many things which I wish I had known earlier. A few patterns that I had "discovered" through much trial-and-error and observation were set out, often in a much cleaner form than I had come up with myself. Several of the patterns in the book were immediately applicable to a project I was working on, helping to speed through what likely would have been another messy and slow design phase.

    I would recommend ths book for any OO designer. At the very least, it will enable you to understand why various libraries were implemented in certain ways. At best, it will provide a useful toolkit of proven solutions enabling one to get the most out of an OO language such as C++ or Java, a toolkit that can be drawn on to solve your own architectural issues without reinventing the wheel.

    The only warning I would give about this book is to reiterate the warning in the preface's very first paragraph: "This book assumes you are reasonably proficient in at least one object-oriented programming language, and you should have some experience in object-oriented design as well. You definitely shouldn't have to rush to the nearest dictionary the moment we mention 'types' and 'polymorphism', or 'interface' as opposed to 'implementation' inheritance."

    5-0 out of 5 stars The classic, and still the best, August 13, 2002
    From all other people's reviews, you have already known this is the classic text on the subject of design patterns. This is indisputable so I don't need to waste time trying to prove it again.

    However, I would like to say something to those readers who are totally new to design patterns and C++/Smalltalk -- please do not be intimidated by the seemingly terse, dry and difficult style of this book. Since I myself am new to the world of design patterns, I would like to share with you my own experience and hope you can make a better decision when you pick your design patterns book.

    "Design Patterns" is the classic text; its style is academic-oriented, rigorous, and terse. Unlike most popular computer books, you will find reading this book takes a lot of thinking, for each paragraph or even each sentence. Most examples used in this book are adapted from real world systems popular many years ago, so you will likely find you're not familiar with them at all. Moreover, some examples are related to GUI programming, so if you're mainly programming for backend, you will probably feel it's tough to understand some of the examples. Most code example in the book is written in C++ (some in Smalltalk.) If you're a Java programmer and have limited knowledge in C++, it might take you some time to guess what certain C++ syntax means.

    These all seem to be negative comment, but my conclusion is to the contrary -- this is the BEST book in the area, and you should read it despite of all the issues I mentioned above. I started my design pattern learning by using a couple of other books, such as "Java Design Patterns: A Tutorial", "Design Patterns Explained: A New Perspective on Object-Oriented Design", and "Applied Java Patterns". I chose these books mainly because they seem to be much easier to understand than "Design Patterns". However, after spending time in these alternative books, I found none of them offers the accuracy and depth as "Design Patterns". Often, after I read a chapter of the "easy" book, I feel I am still kind of lost. I seem to have understood the pattern I just learned, but then I feel it's not quite so. I guess I only learned the pattern in a superficial way, with little depth, and without being part of "big picture." Later, I turned to the classic, "Design Patterns". I forced myself to sit down and try to understand the authors' terse and rigorous writing and their unfamiliar examples. Gradually I found I was getting used to the style and the examples, and I actually started to learn much more from this book than from others. After reading half-way through the book, I felt the rigorous style is actually a big plus for this book, because I can get more accurate and in-depth information.

    Therefore, I strongly suggest that you buy and read this book, even if you feel it's difficult to read. Your effort will pay off eventually. Use other books as reference only.

    5-0 out of 5 stars Too bad I can not give 10 stars, February 6, 2001
    This is absolutely one of the best books on OO design. I am a System Archtect and I can't image how my design (and Java) would look like without applying the concepts and patterns described in this book. This book, IMHO, plays a much more important role and should enjoy a much higher reputation than the UML series written by the 3 Amigos.

    This book is definitely not for those who still do not understand the virtue of the concepts presented in the book. This book is not for programmer level either(although they can still greatly benefit from the book to enter the next level). The examples in the book are in C++ but the patterns it describes is language independent. Those who really know Java(not just reading sth like Teach Yourself Java in XX days,weekends,in a nutshells, etc) should tell immediately that lots of patterns are already applied in Java, especially in J2EE. Knowing the patterns in the books not only make your design step up to the next level, but now also a MUST if you want to pass the perfessional certificate exam like SCEA. I have to say no one can claim they know OO design without knowing the concepts and patterns described in this book.

    This is one of those few books in computer world that will receive more and more recognization as time gose by. In three years no one will even mention 90% of those books currently getting five stars, but this one, I have to say, will be in top in foreseeable future and much longer.

    I totally agree that this book is a little bit hard to read. Please think it this way, anything you can learn in 10 minutes is useless and of little market value because anybody can do the same. Those who grasp the essence missed by the majority are distinguished and of high value....

    4-0 out of 5 stars a must read, but a very tough read., July 2, 1998
    The authors define design patterns as: descriptions of communicating objects and classes that are customised to solve a general design problem in a particular context. A design pattern names, abstracts, and identifies the key aspects of a common design structure that make it useful for creating a reusable object-oriented design. The design pattern identifies the participating classes and instances, their roles and collaborations, and the distribution of responsibilities. Easy to wrap your mind around, eh? Design Pattern people are in love with the power of abstraction and generality. You might even say they prefer to impress rather than inform. However, somehow you are going to have to learn this stuff, even if only to get into the heads of the guys who designed the AWT. Try starting with the code samples in the Design Patterns book. You have to read this book at least twice before it begins to make any sense. However, if you want to call yourself a programmer you MUST understand this book. I hope somebody writes a version of this book for Java programmers. It is written from the perspective of C++ and Smalltalk. This is a book where the you want the hardcover version. You go back to it again and again.

    5-0 out of 5 stars The original and definitive work on OO design patterns, May 16, 2001
    Design Patterns, referred to warmly as the "Gang of Four" book by it's fans, is the book that introduced me to the world of design patterns. After reading this book, you'll immediately see patterns from it everywhere - many classes you use every day will suddenly all fit together in a pattern.

    Besides being a tool for writing good maintainable code, patterns are a crucial tool for communication among developers. Knowing even a half-dozen of the basic patterns will facilitate communication among team members immensely. For instance, you may be having a whiteboard design session with another developer or two, explaining some particular design you have in your head. Instead of having to detail 3 or 4 or more classes and how they would interact, you could simply say that you are thinking of using the Factory pattern here, and the Decorator pattern over there, and the others will know exactly what you are thinking.

    The patterns are grouped into three groups: Creational, Structual, and Behavioral patterns. Each pattern is considered in turn, each having sections detailing the intent of the pattern, the motivation for using it, the consequences (both good and bad) of its application, collaboration among the objects involved, and examples.

    The examples are mostly in C++ with a small dose of Smalltalk, but the patterns are equally applicable to any object-oriented language, Java in particular. Some of the patterns can be implemented even more simply and cleanly in Java, as a result of language features such as dynamic class loading, among others.

    This book is well-written, and it's a quality book well worth owning. It even has two nice ribbon bookmarks attached to the binding which makes to book even more practical as well as handsome.

    4-0 out of 5 stars An excellent complement to the book of the same name., July 9, 1998
    This CD should not be considered a replacement for the book, at least as long as you are like me and like the portability of a book, it's ability to record notes, etc.

    What John Vlissides and the folks at AWL have done very well is re-shaping the book to electronic form. This is not just a duplication of the book, but a genuine adaptation of the content to a different medium, in this case HTML. Perhaps most valuable for me is the ability to pop this in and do a full-text search. I still use the paper book, though.

    It would have rated 5 stars but for one thing: the inability to record notes within the medium. That's not the fault of the publisher or anyone--it's a difficult technical problem that hopefully someone will solve.

    I would heartily recommend this to consultants or anybody who doesn't necessarily have a "home base" because these are much easier to lug through airports than the hardcover GoF book. :-) ... Read more


    6. Code Complete: A Practical Handbook of Software Construction
    by Steve McConnell
    Paperback
    list price: $49.99 -- our price: $31.10
    (price subject to change: see help)
    Isbn: 0735619670
    Publisher: Microsoft Press
    Sales Rank: 5785
    Average Customer Review: 4.7 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code--and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software. Whether you're a new developer seeking a sound introduction to the practice of software development or a veteran exploring strategic new approaches to problem solving, you'll find a wealth of practical suggestions and methods for strengthening your skills. Topics include design, applying good techniques to construction, eliminating errors, planning, managing construction activities, and relating personal character to superior software. This new edition features fully updated information on programming techniques, including the emergence of Web-style programming, and integrated coverage of object-oriented design. You'll also find new code examples--both good and bad--in C++, Microsoft(r) Visual Basic(r), C#, and Java, though the focus is squarely on techniques and practices. ... Read more

    Reviews

    5-0 out of 5 stars A Great S/W Dev't Guide Got Even Better, July 23, 2004
    It was a pleasure to find out that this book had been updated when I reads news of it. CC2 is a great one-stop 'place' to go to when you want a great excuse to apply Stephen Covey's 'Sharpen The Saw' principle. This updated version has some solid, fantastic, expert instruction on designing from scratch, whether it's OO, writing better routines, psuedocode, nested loops, or at the higher level: agile methods, etc..
    McConnell's approach of talking to you, the programmer, is ideal: not too much humor, and an easy to read, but professional approach in the way he donates the contents of his brain: i.e. McConnell's lengthy experience in the field.

    I read just a couple of paragraphs in a chapter before work one morning, and the advice I picked up saved so much time that same day. And it wasn't even specific to coding instruction. It was a piece of advice on a philosophy on how he personally determines how much upfront design he should settle on before coding.

    Reading Software Construction material of this caliber, as compared to some, yet another, new book on a specific language that might look impressive to know, is what makes for a solid programmer.

    Refreshing your overall S/W construction knowledge gives you so much more of your life back, because you will have way less bugs and a lot more fun maintaining the high-quality code you are now writing because of CC2.
    I mentioned already that he covers OO, but I wanted to emphasize the excellent material he offers in this area. I am now seeing the benefit of measuring the quality of your classes by this guideline: are they true Abstract Data Types. ( rather than just trying to use the syntax that the language provides to its potential).
    Great job on a rather thorough re-write of a S/W development staple.

    5-0 out of 5 stars The definitive book on software construction., August 4, 2006
    I don't know how much more I can say about this book that hasn't been said already but I will do my best to describe my experience with this book.

    Have you ever looked at a class, or a method that seems to work fine but it just doesn't "feel" right? For some reason it seems as if that method or class may be hard to debug in the future or that the code is hard to understand. Or have you gone back to a class file you wrote months ago and you spend an awful lot of time trying to figure out what the heck is going on with that class file? Maybe the methods in the class are spaghetti like in nature, or maybe the names of your methods don't have a very good description so it's hard to figure out how everything ties together. I have had this problem. This book will teach you how to get out of those habits. You will learn what a solid class or method looks like. You will learn how properly naming your classes and methods can greatly reduce complexity in the long run. Everything is backed by hard evidence. I should also mention that this is just one chapter in this wonderful book.

    This book really drills down proper programming practices. A lot of times you may read a passage and think to yourself "well, of course!"... but then you realize you don't practice what's contained in the passage you just read. This book is great for both new programmers and experienced programmers alike. New programmers benefit greatly because they will learn how to construct software properly without having to go through all of the hoops. Experienced programmers will also learn a great deal, as well as be reminded that some of their habits that they've developed over the years can hinder production and cause software development to become more complex then it really is.

    Steve writes in a very clean style. It's very easy to read. You don't need to memorize anything in a book like this, instead you just need to gain an understanding of the concepts he brings forth. After reading this book I definitely follow a lot of his advice. When I build a new class, method or what-have-you I get a certain feeling of when it seems right and when something seems wrong. I am now much better at analyzing my code and figuring out what doesn't seem correct and I take his advice I learned in this book to help me to figure out - and correct the problem. After reading this book I feel like a lot of my rough edges as a developer have been rounded out. I feel as if I gained a years worth of experience just by reading this book.

    This book is friendly for any software developer. The concepts he presents apply to all languages. This is a book that teaches you how to think about programming better and how to construct good solid code. This is one of the best books I've ever read. If you're even thinking about buying this book, then buy it.

    5-0 out of 5 stars CC2 is a 'Must Have', July 23, 2004
    Code Complete, first edition, has long been regarded as ?The Bible? for software development. Dare I say, CC2 is even better than the original. It has been thoroughly updated to include OO, internet and web development, as well as new best practices such as test-first development, pair programming, and refactoring.

    Steve McConnell provides a balanced, thoughtful discussion of competing approaches to software development. He also provides a wealth of references to additional materials covering specific topics in more detail. In a field that is often defined by religious arguments, CC2 stays objective on most topics. At the same time, McConnell does not shy away from stating his conclusions on topics that he believes have a clear-cut ?best choice?.

    Overall, this book is as much of a ?must have? as the first edition and destined to become just as famous.

    5-0 out of 5 stars Like a Fine Wine, Code Complete Improves with Age, July 23, 2004
    Code Complete 1 completely changed the way I wrote programs in the mid 90s. Reading CC1 made me realize that I was still an amateur programmer and reading it marked the beginning of my career as a professional programmer. In more recent years, much as I liked CC1, the book began to show its age, and the examples especially started to look dated.

    I pre-ordered CC2 and have spent the past 2 weeks devouring its contents. CC2 does not disappoint. McConnell has once again distilled his insights into a practical handbook that should be on every software development professional?s bookshelf.

    CC2 provides numerous benefits: it?s a complete software-construction reference. It provides dozens of checklists. And it contains no hype. It?s valuable to beginning programmers, team leads, and technically oriented managers. The tone is conversational with just the right amount of humor. Throughout the book, it?s clear that Steve has ?been there, done that.? Thank you Steve!!!

    5-0 out of 5 stars Clear, Concise, Easy to understand. The Holy Grail of programming references. A must-read for professional programmers., March 23, 2006
    Code Complete by Steve McConnell is the convergence (the crossroads) of experience, research, and theory. This book is invaluable, the Holy Grail of programming reference books. McConnell's writing style is clear, concise, easy to understand and often humorous.

    Programmers on every level (from introduction to master) will benefit from reading this book. Programmers at the introduction level may find some topics advanced, but references to additional resources are close at hand. This book covers a broad range of interconnected topics ranging from: variable names, code-tuning, personal character, managing your manager, gonzo programming and much more. The emphasis is always on successful software design techniques.

    McConnell doesn't shy away from presenting hard data and details; he nails the "whys" that so many other texts avoid.

    Selected quotes from Code Complete:

    "People have already made all the mistakes that you're making now, and unless you're a glutton for punishment, you'll prefer reading their books and avoiding their mistakes to inventing new versions of old problems." (Chapter 35)

    "Once a programmer realizes that programming principles transcend the syntax of any specific language, the doors swing open to knowledge that truly makes a difference in quality and productivity." (Preface)

    "The value of hands-on experience as compared to book learning is smaller in software development than in many other fields" (Chapter 35)

    It's interesting to note that Code Complete is a required read to become a practitioner (intermediate) level employee in McConnell's company (Construx).

    Code Complete is often compared with The Pragmatic Programmer: From Journeyman to Master [Hunt, Andrew, and Thomas, David]; the topics covered in the Pragmatic Programmer are a small subset of Code Complete. Code Complete is consistently written at a higher level, and offers more references for continual research and professional development. But don't take my word for it; read both, the Pragmatic Programmer makes a good prerequisite to Code Complete.

    Hailing this book as "The Holy Grail of programming references" may seem fanatical, but I have yet to find a book that remotely measures up to Code Complete.

    5-0 out of 5 stars as good as everyone says it is, October 21, 2006
    Code Complete pops up regularly on the lists of the 'read this book or you'll never get a job and everyone else will laugh at you' genre, so if you're easily influenced, like me, you may approach this book with an air of duty rather than anticipation. Fortunately, despite its heft, this is well worth the plaudits that have been heaped upon it. I actually enjoyed this more than The Pragmatic Programmer and Programming Pearls, two books often mentioned in the same breath as this tome.

    CC covers pretty much every part of the software development lifecycle, from planning to code reviews to testing. These are all pretty good discussions, but the best bit is definitely the chapters on coding. Most of the examples are in Visual Basic or Java, so you'd do well to know one of those languages.

    When it comes to object modelling, there's actually a reasonable set of guidelines harvestable from literature, and languages tend to diverge more on issues of packaging, so CC is at its best at the lower level procedural details of code layout, formatting, loop construction, optimisation and so on. Many books claim to provide coding guidelines, but don't do much beyond stating the obvious like (for Java) "use camel case for variable names", "start class names with capital letters" and "avoid Hungarian notation". CC is different because it actually provides useful recommendations. As an example, there's a very good discussion on when and where the use of loop-breaking constructs like break and continue ('next' in Ruby and Perl) are appropriate. Few (if any) other books provide this sort of practical detail.

    It's well-written, with just the right amount of humour in its exhortations - the withering references to coders who investigate loop bugs by randomly adjusting the termination criterion up or down by one until it works raised a wry smile from this reviewer.

    To summarise, this is a collection of best practices distilled from a pretty huge amount of reading, and is genuinely helpful. I would certainly point any programming beginner at this book.

    5-0 out of 5 stars The Best Gets Better, September 24, 2004
    When the first edition came out, I grabbed it off the shelf and read every page. The second edition is updated and even better. It includes current technologies and approaches and updates the information, not like some "updates" that just change a couple new words here and there. This is the new bible for code development. Excellent gift idea for anyone that doesn't already have it. I passed the first edition on to someone else and the second edition took its place on my bookshelf.

    5-0 out of 5 stars Still a classic, December 7, 2004
    "Code Complete" is a really important book. If nothing else, it's an incredible survey of literature about programming covering the entire history of the field. Every significant study of how programmers do their work is covered in its pages.

    There's also an amazing amount of practical advice about everything from code formatting, variable naming and writing control structures, all the way up to assembling and managing a programming team -- and managing your manager, too.

    The second edition adds a lot of new examples in Java, and goes lighter on less common languages like Pascal and APL than did the first edition. There are also new sections about agile methods and object orientation, perfectly respectable material, although admittedly not much new or unique there.

    Every programmer should be familiar with this book.

    5-0 out of 5 stars Invaluable, Well Presented Information, August 29, 2008
    There is probably not a whole lot to say about this book that has not been said already, but it certainly deserves another positive review nonetheless.

    I bought this book thinking that I did not have a whole lot to learn from it. I was certain I had read enough 'better coding' material in the past to know what good code was and how to produce it. I am sure you will not be surprised when I say that I ended up having a great deal to learn from this book.

    Almost all of the coding advice, design strategies, and debugging techniques are backed up with real research data. At the very least, this means that even if you know the advice is sound already, you can more easily introduce the topic to other programmers, or even to management, and it has a greater chance of being taken in to consideration.

    After reading this book, my code quality has definitely increased. I discovered that even the good practices I knew of before were not being put to effective use.

    The book is very specific. It does not typically give you vague advice that sounds good if you don't think too hard about it. It gives you very specific, concrete advice, with examples and data to back it up.

    The author seems to have put a great deal of effort into writing this book for every type of programmer (and even for people in software management positions). Every chapter introduction describes who should definitely read the chapter and who might benefit from simply skimming it over. He will also direct the reader to other chapters or specific sections of the current chapter based on the reader's knowledge and experience levels.

    Finally, as others have said, I consider this a must read book for any programmer.

    5-0 out of 5 stars Required Reading, July 23, 2004
    This book is so fundamental and common sense you might take it for granted. Don't make that mistake, buy a copy.

    This book covers a wide range of material, from variable declaration to variable naming to software design and probably everything else concerning software construction. This book talks a lot about style, but it is backed up with hard facts not just personal preference.

    The examples are written in several languages (such as C++, Java, and VB). It includes a very meaty chapter on design, as well as chapters on classes, high quality routines, and refactoring. Even though this is book is not mainly about design, it is the best design book I have read!

    Each chapter has an Additional Resources section so you know where to go for more. The resources are also online on the authors website which is extremely handy.

    This book teaches you how you can write good and self-describing code. I wished every program I've had to read had been written by programmers who read this book and applied that knowledge. If you're a manager buy copies for all your programmers. It will be the best investment you ever made in your programmers and projects.
    ... Read more


    7. Head First Design Patterns
    by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra
    Paperback
    list price: $44.95 -- our price: $27.95
    (price subject to change: see help)
    Isbn: 0596007124
    Publisher: O'Reilly Media
    Sales Rank: 9965
    Average Customer Review: 4.6 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    You're not alone.

    At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on... something else. Something more challenging. Something more complex. Something more fun.

    You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild".In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code.

    You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead).You want to learn how those principles will help the next time you're up a creek without a design paddle pattern.

    Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter.

    With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep!We think your time is too important (and too short) to spend it struggling with academic texts.

    If you've read a Head First book, you know what to expect -a visually-rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team. ... Read more

    Reviews

    5-0 out of 5 stars Best way to learn Design Patterns, November 10, 2004
    At first I didn't understand how they would apply the Head First formula to design patterns. I'd read two head first before this one and I was impressed with those so I took a look and now, not only is it clear how they approached the topic, it's also clear to me that this is the best way to learn design patterns.

    The Gang of Four book laid out the basics. Here is the pattern, here are some examples. The head first book goes a lot further. They show you good and bad examples of the pattern. They give solid reasoning behind the pattern. It's great.

    There are times when I would look at a piece of code and have the author explain to me that it was based on one of the GoF patterns. I would come away thinking, if that's the pattern, then that pattern sucks. It's clear that patterns can be misapplied. So understanding the the how design patterns are applied, and how they are commonly applied wrongly, or to an extreme, is just as important as understanding the basic mechanics of the pattern itself.

    The example code is in Java, but I think this is an ideal book for anyone passionate about patterns.

    4-0 out of 5 stars Insufferably cute, but a very good intro nonetheless, April 2, 2006
    Unlike a lot of people, I don't care much for this book's 'irreverent' sytle. I think it masks some shortcoming in the examples it uses. But once you get past that, this is still the best introduction to object-oriented programming that I have read.

    HFDP is not just about design patterns. It's a great introduction to object-oriented programming. The book does a great job of explaining the benefits of OOP over traditional procedural programming, and it explains OOP very well in terms of the most commonly used design patterns.

    Now for the bad news. The examples are rather lightweight. They do a pretty good job of illustrating the concepts presented, but the code is in no way real-world. For example, if you are looking for which pattern to use to organize a UI (the 'Mediator', 'State', and 'Composite' patterns), with sample code, you won't find it here. The patterns are discussed, but they are used to create quacking ducks (really).

    While that's by-and-large a shortcoming of the book, the code is so simple that non-Java programmers (like me) should have no problem using the book. The code samples are very basic, and should translate with little difficulty into .NET languages such as C# and VB.

    One other item of note--this book contains a pretty good chapter on Model-View-Controller architecture, which seems to bedevil a lot of people. If you can get a handle on MVC, then you can pretty much do OOP.

    In short, this is probably the book I would recommend as an intro to OOP. If you are under the age of 30, you will probably like the examples of quacking duck simulators and java-enabled gumball machines. For everybody else--it's worth looking past this book's insufferable cuteness if you are getting started in OOP.

    5-0 out of 5 stars Irreverent, fun and <gasp> educational, November 8, 2004
    Usually when reading through a book or article on design patterns I'd have to occasionally stick myself in the eye with something just to make sure I was paying attention. Not with this book. Odd as it may sound, this book makes learning about design patterns fun.

    The first thing you notice is the pages are not paragraph after paragraph of information. There isn't a single page that doesn't contain a doodle, a sidebar, a picture, or something different. While at times it can be a little distracting, it's in a good way (at least I don't have to poke myself with something sharp anymore).

    The chapters cover various design patterns and along the way have exercises such as crossword puzzles or match games to test your understanding. The answers are also included at the end of the chapters - so you don't need to purchase a "Teacher's Edition" on the black market. =)

    Other books on design patterns are saying, "Buehler... Buehler... Buehler..." while this book is on the float belting out "Shake it up, baby!"

    5-0 out of 5 stars The quality is evident!, December 31, 2006
    Head first books tend to polarize readers I feel: you either love the unique methodology of the books or you hate it. They are extremely visual, often hilarious, and require you to do various activities to engage more fully with the content. This is similar to the traditional teaching methdology in mathematics: motivating example -> theory -> example -> your turn. This I find as a teacher, is a strong (pedagogical approach) methodology, particularly if you can make it fun, interesting and engaging. I, like the masses, like Head First Books (I have Servlets & JSP as well as this one. I have also read tracts of Java).

    Anyway, that aside, the book provides a solid inroduction to selected design patterns- it doesn't cover all the GoF patterns. It contains (in order)
    * Strategy
    * Observer
    * Decorator
    * Factory
    * Singleton
    * Command
    * Adapter and Facade
    * Template
    * Iterator and Composite
    * State
    * Proxy
    * Compound Patterns
    * Living better with Patterns

    If you have no experience with patterns, I recommend this as a good Intro to the MasterWork by the GoF-> Design Patterns, Elements of reusuable Oject-oriented software IBSN: 0201633612. From personal experience, I found after reading the Head First pattern, I could pick up the GoF book, look at the same pattern and understand it with virtually no problems.

    I have no hesitation recommending this book, if you like the Head First way, championed by Kathy Sierra. If you don't like apparent frivolity (I say apparent because there is an ulterior motive to this frivolity-> engagement. Basically, cognitive psychology says the more deeply you engage, the more you learn, retain and understand), then maybe this isn't for you.

    Slight criticism-> you may notice this book uses some 'old' java syntax like using iterators for collections like arrayLists, rather than the new for (object j: collection) and no generics in sight in declaring such arrayLists: they use ArrayList name=new ArrayList(), not ArrayListname=new ArrayList(); But these are 'very' minor criticisms. Likewise, it's usefulness as a comprehensive reference like the GoF book may be questionable. But then, if you approach it as a learning tool and a means to mastery rather than a reference, this shouldn't be an issue (you can always resell it when you're done!).

    Anyway, in conclusion, two thumbs up. Read it, do the work, enjoy it and you'll be well on the way to the GoF's MasterWork in design patterns. All the 5 star reviews don't lie! This is a five star book.

    As an aside I recommend, in addition to this and GoF, reading Streamlined Object Modeling- patterns, rules and implementation- ISBN: 0130668397 for higher level OO system design (OO system architecture). And just so you don't fell excluded from the vernacular (and didn't know this): GoF=Gang of Four (Gamma, Helm, Johnson, Vlissides)

    5-0 out of 5 stars Very accessible text on design patterns, November 22, 2004
    I am quite impressed with this book's explanations of design patterns. The authors start each chapter explaining a problem and then showing how a given implementation or two isn't flexible. Then the text presents a design pattern and shows how to use it and how it solves certain issues. Along the way, the reader is given general design ideas to keep in mind while architecting or refactoring a system.

    Because key concepts are repeated throughout the book using different phrasing and examples, I found learning/reviewing each pattern to be straightforward and easy. I haven't used Java since '98, but with C# skills I found the code examples fairly simple to understand.

    Also note that this book doesn't explain in detail all the patterns explicated in the Gamma et al. text. Instead, you will learn the Strategy, Observer, Decorator, Factory, Singleton, Command, Adaptor, Facade, Template Method, Iterator, Composite, State, and Proxy patterns will full explanations and code examples. Other patterns (e.g., Bridge, Builder, Chain of Responsibility, etc.) receive only a brief overview in the back of the book. The authors feel that those patterns aren't used as often and consequently necessitate less coverage.

    If you're looking for no-nonsense writing that delivers design pattern facts in a most direct manner, then choose the original Gang of Four Design Patterns book instead. But for a much friendlier introduction and explanation of patterns, pick up Head First Design Patterns right away and use Design Patterns by Gamma et al. as a reference. Highly recommended.

    5-0 out of 5 stars Warmly recommended, May 26, 2006
    Soon after the Gang of Four published their book about basics of Design Patterns, I bought the book and read it very carefully. About that time I was busy doing other engineering work so I could not put the patterns in immediate use in some practical project. Maybe that contributed to my troubles understanding it.

    While reading the GoF book I found it very complicated to memorize the pattern. After reading so many books on programming, so many technical and other books every year in several decades in the past, I thought I have a very strong and sound learning techniques from books. But GoF book simply was out of my reach from some reason. The problem was this: when reading about a pattern, I could understand every sentence, every paragraph, and most of the time the whole chapter about that particular pattern; but it seemed hard to keep in mind that pattern, and soon afterwards, I could hardly implement the pattern in my programs. It was as if you are keeping the slippery fish in your hands, and just when you think you caught it, it slips from your hands back into the water.

    Finally after this book (it is still in reading) I found what I was searching for:
    1) the crystal sound explanation of Design Patterns – why you use any of them;
    2) what is important and what is not important in pattern. Actually the authors of HeadFirst does not speak much about it explicitly, but when they explain the pattern you do not have to think what I was constantly thinking when reading GoF book: what is the most important part of the pattern and which part of pattern can be changed for specific use. With HeadFirst book you get the right measure of all parts of pattern explanation.
    3) I could memorize, reproduce and implement the patterns with ease!

    Second, the book is astonishingly new, refreshing and perfect in the presentation sense. It is full of pictures and with hand-written comments. Everybody who was ever involved in the presentation material would tell how hard is to achieve such a great presentation level with so many diverse visual effects and putting them in perfect shape like this book achieves. I think this was the problem for one of the very rare reviewers of this book to give this beautiful book such a bad grade. I think he was wrong to falling under the first-impression opinion and misjudged the book greatly.

    The truth is the HeadFirst Design Patterns deserves the highest possible marks – I do not give it only 5 stars, but I give it the Oscar for Design Patterns. And that is final even before I read the last page of it. Authors of this book, if you ever read this comment here is the message for you: my sincere complements for your hard work, you has been terrifically good, and I mean it!

    5-0 out of 5 stars A definite benefit for newbies and veterans, December 26, 2005
    I got involved with design patterns in 1995 with the GoF book. I have learned them and used them on numerous consulting projects, and I feel I understand them pretty well. Recently I was asked to teach a Design Patterns course. The course material was excellent and very comprehensive, but I felt I needed an complementary approach for teaching that was a little lighter than the student manual. I picked up the Head First Design Patterns book, and started reading it on the flight to where I was teaching. The time flew by, and so did the pages. When I got off the plane I had read almost 300 pages. It is a really easy read. I was seriously impressed with the quality of the book's coverage, and its really excellent examples to motivate why and how each pattern can be useful. As an object modeler and architect I see way too many examples of developers using either the wrong pattern, or using a pattern just to say "I used the Strategy pattern!". The GoF book is the "bible" on DPs, but this Head First book is a superb introduction for beginners, and for veterans like me to learn something new. At the end of that DP class, several students shared that they had tried to get through the GoF book but just couldn't stay with it. After I showed them several of the examples in this book, they said they were eager to read the GoF book to get more depth.

    5-0 out of 5 stars Number one!!!, September 3, 2006
    So far i bought about 30 computer books from amazon. This is the BEST!!!!!! First book that explains something real good but doesn't assume that you (the reader) actualy understood it so they re-explain it and attack the problem from a deferent point of view. I bought steven mezger's design patterns with c# book and read it cover to cover. It doesn't even come close to this piece of art although this is wrriten for java programers. I read "decorator" pattern in mezger's book more than 5 times and didn't actualy understand it. First time i read it in this book and i feel like a design patterns master! I'm thinking a lot about their teaching style. Its briliant! If you realy want to understand design patterns even if you are a c# or c++ programmer, By this book!
    Cheers!
    Adi Barda

    5-0 out of 5 stars Another gem from Head First, January 29, 2006
    If your previous attempts to learn design patterns have induced bouts of narcolepsy, Head First has a better idea. Using their now familiar and very effective teaching style, the design patterns are presented with fun and humor. Off-beat coding examples in Java are used to illustrate the problems that the patterns are to solve and the pattern-influenced solutions. For those of us who are micro-confined, the C# version is available from the website.

    Rather than teach just the design patterns, the underlying object-oriented principles are taught, for example "Favor composition over inheritance". Not only does this reinforce the understanding of the pattern, but also it better enables the developer to apply the pattern appropriately. Emphasis is also placed in understanding the differences between similar patterns or patterns that support similar principles.

    The depth of coverage that the book delivers requires that the focus is on the most frequently used patterns with the rest of the GOF patterns being briefly mentioned in the appendix.

    When I first saw the book, I was curious about how this would work out. After all, everything that I had seen on design patterns had not been the least bit amusing, but not to fear the Head First team has created a real gem. Maybe the Head First crew could tackle UML or Test Driven Development for us and make them fun to learn, also. We can only hope.

    5-0 out of 5 stars Don't judge a book by its cover... at least not this one, January 25, 2006
    I know what you're thinking: "This can't be serious", "What's with the clip art", or maybe "This isn't the GoF book!" but dispite the silly cover, this is one of the best and most informative books on computer programming I have ever read.
    If you're looking to refine your development skills but just don't have the patience for a BS in Computer Science, this book is just the thing for you. HFIDP covers the very abstract and difficult to understand concept of Design Patterns in an engaging and fun way. By employing several different styles of teaching and visualization (including challenging questions, real world examples, and humour that isn't overly cheesy) it's nearly impossible not to learn something. There is even a section on how to retain information while reading!
    This is a Java oriented book, but I have found it to be very useful for ActionScript 2.0 programming as well. ... Read more


    8. Hello World! Computer Programming for Kids and Other Beginners
    by Warren Sande, Carter Sande
    Paperback
    list price: $34.99 -- our price: $23.09
    (price subject to change: see help)
    Isbn: 1933988495
    Publisher: Manning Publications
    Sales Rank: 5241
    Average Customer Review: 4.4 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    "Computer programming is a powerful tool for children to 'learn learning,' that is, to learn the skills of thinking and problem-solving...Children who engage in programming transfer that kind of learning to other things."--Nicholas Negroponte, the man behind the One Laptop Per Child project that hopes to put a computer in the hands of every child on earth, January 2008



    Your computer won't respond when you yell at it. Why not learn to talk to your computer in its own language? Whether you want to write games, start a business, or you're just curious, learning to program is a great place to start. Plus, programming is fun!



    Hello World! provides a gentle but thorough introduction to the world of computer programming. It's written in language a 12-year-old can follow, but anyone who wants to learn how to program a computer can use it. Even adults. Written by Warren Sande and his son, Carter, and reviewed by professional educators, this book is kid-tested and parent-approved.



    You don't need to know anything about programming to use the book. But you should know the basics of using a computer--e-mail, surfing the web, listening to music, and so forth. If you can start a program and save a file, you should have no trouble using this book.

    ... Read more

    Reviews

    5-0 out of 5 stars The Excellent Teach Your Kids (Or Teach Yourself) Programming In The Python Language Book., May 11, 2009
    This attractive and moderately-sized volume gets elementary through high school education in programming computers right, and makes the best use of the universally available (and free) "batteries-included" language--Python. In the early days of personal computers (about 1978), everyone and his brother had a Teach Yourself Basic on the TRS-80 or Apple-II programming book that got you and your kids up to speed in the Dartmouth-developed (Digital Equipment Corporation-improved) BASIC computer programming language. At that time, you were lucky if at the conclusion of the book you could produce a simple-minded character-based Tic-Tac-Toe game (or self-prompted lessons in the multiplication tables). With excellent pedagogy and the libraries (like PYGAME) now available for the modern Python programming language this book enables the home-schooled student (or timid grandparent) to build sophisticated simulations and graphical entertainment (like a virtual pet) at least equivalent to the commercial games available in that era.

    Due to the excellent tools and step-by-step examples given by Warren and Carter Sande the young reader, or his/her parent, is well prepared for a modern college level course in Data Structures or Algorithms with well illustrated examples of Lists, Modules, Event-driven and Object-Oriented Programming. The use of GUI-builders and programming libraries enable the novice to achieve impressive results within the course of a few short months of self-instruction.

    The book is well illustrated, and the examples and tools downloadable from the book's web site run correctly without the need to fix typo's.

    All in all, the book is an excellent read for a 12-year old, or an adult novice, and will provide superb instruction and entertainment for its readers.

    --Ira Laefsky

    5-0 out of 5 stars Excellent but designed for PC not Mac, July 24, 2009
    I have been programming and teaching programming at the university level for 25 years and I have been looking for years to find a book for children, like my 10 year old son, who wanted to learn about programming but were not up to the high school reading level. This book perfectly fills the niche. With clear writing, well thought through examples and gentle humor, it is superb for the young learner. My son has taken over my PC since I gave him the book. So, it is safe to say it can hold a child's attention.

    The fact that it is good for a young audience does not mean that it is dumbed down too far to be useful for any age. The depth and pace of the material is appropriate for anyone, starting from scratch, who wants to learn to program from lots of examples. Actually, it sets the stage nicely for someone who is anxious about needing to learn programming at the university level.

    The only real down side is the support for Mac. The book uses Python which works on Mac, Windows and Linux but a couple of the components used in the book do not have good instructions for the Mac on the books website. For example, they are written for older Mac OS or require you to dig deep in the system files to find the directories where things belong. The forums on the website will help but expect to need to dig around a bit, especially if you use Mac OS 10.5 (Leopard), until the author(s) fix the main Mac instructions.

    Even though I had to poke around a bit to make sure the Mac would behave, I still love this book. Setting aside the fact that this fills a badly need gap in programming instruction for kids, this book is just great with a wonderful ratio of code snippets to explanations and clear concise discussions of both basic and fairly advanced concepts (like object oriented programming).

    5-0 out of 5 stars What a great book for kids!, June 1, 2009
    My husband's a computer programmer, and my nine year old son told us he wants to learn how to write computer programs too. I did a lot of looking around for something that would be suitable for my son to use, and finally discovered this book.

    We had to wait a while for this book, as the release date was changed and there were other problems, but this was definitely worth the wait. My son read through the book in no time flat, and definitely understands what's in it.

    The next step is for the two of them to sit down and go through the code examples together.

    Mr. Sande (young and old), thank you so much for writing this book!

    5-0 out of 5 stars Great educational fun, July 14, 2009
    My daughter and I have been enjoying working through this book together. The choice of an open, multi-platform language is nice, as almost anyone with a computer can take advantage of what it has to offer.

    Python has many great libraries and the use of Pygame makes possible some projects that would be much too difficult for this level of work. That really hooked my daughter, the ability to make her own games. We've been having a blast working through the book together.

    There are tons of learning opportunities that take things well outside the realm of just 'programming'. I recommend this book to anyone with kids that are inclined towards doing more with a computer than just running applications.

    5-0 out of 5 stars Great Book for Kids!, May 8, 2009
    The authors have done a wonderful job introducing the basics of computer programming through Python. I gave this book to my 9-year-old, and he's hooked! The exercises are fun and engaging, and the text and graphics are easy for him to follow.

    This book comes highly recommended!

    5-0 out of 5 stars Anyone Can Do It, January 9, 2010
    This book is one of the best programming books I've ever read. OReilly books are very informative but extremely boring. I'm 24 and know nothing about programming and those other books did nothing to excite me in my endeavor. However after getting half way through this book I am amazed at how easy the concepts are taught. Elementary kids should be taught this, and they can without being bored. I'm very happy I bought this book even though at the time I considered myself too mature for it.

    5-0 out of 5 stars Great start!, August 25, 2009
    I gave this book five stars because it is incredibly beginner friendly which is very rare for a programming book. There are many lessons that cover the basics of the Python language and even full games. There is no disc with the book but you can download the extra content and lessons from the books website.

    For those who are comfortable with the basics of Python there might not be much need to read this book. Hello world is an excellent start but you will definitely need something more solid after reading it.

    5-0 out of 5 stars Excellet Book For Kids and Adults, August 13, 2009
    Programming is not for everyone, but for those who are passionate about creating new programs and using their creativity to solve problems, there is nothing like it. A lot of people have this notion that you have got to be young or under a certain age to be able to pick up programming. That couldn't be further from the truth. As long as you are passionate about writing programs and solving problems, the sky's the limit. That's why I love Hello World! As an experienced computer scientist, I loved the fact that it focuses on the fundamentals of programming that everyone needs to know in order to become a decent programmer. A lot of people in the IT complain about a lot of programmers not knowing their basics, but with this book, you are going to learn how to get started with programming without cutting corners.

    Here is what's covered in this book:

    1. Programming Fundamentals
    2. Memory and Variables
    3. Data Types
    4. Loops (all kinds)
    5. Lists and Collections
    6. Objects
    7. Graphics
    8. Events
    9. Multimedia & Graphics
    10. Handing Strings
    11. File I/O Management
    12. GUIs and More

    Please note that this book is written for absolute beginners. So do not expect heavy duty graphics programming to be discussed in this book. At the same time, if you have no idea how to get started with programming, you are going to enjoy reading this book. Python is a nice language to get started with. The book has a very fun tone to it, and it doesn't go over your head. You can easily follow the instructions in this book and even test yourself in each chapter.

    It's never too late to get started with programming. You can always jump in and pick up a more advanced book, but if you want do things the right way and start with the fundamentals first, Hello World! Computer Programming for Kids and Other Beginners is a very good book.

    3-0 out of 5 stars Good Principals - Bad Timing - Poor Focus, July 17, 2010
    The programming principals in the book are sound and valid. However, the book was written based on Python 2.5 instead of Python 3.0 which is a sticking point; I say this because the original release date in late 2008 would have allowed for for at least Python 2.6, but I digress. Each project in the book builds upon the previous module that was covered which is good, however the opportunity to teach core programming principals at one time in the beginning is missed. The text is easy to read and the syntax is explained well with relevant explanations. By the end of the book, the reader should be able to make a text-based programs, a windowed program, and different forms of arcade games. I was very pleased to see the layout for a card game which no one else has done to date. However, the author presents a lot of various graphic user interface mechanisms and doesn't really focus enough on them before moving on. Several editors for python are covered as well; some are challenging to install and configure which could be discouraging. I would like to point out that the author's use of EasyGUI is great because it is easier to use than Tkinter that comes standard with Python and allows the user to make text based programs more user friendly. However, he moves from EasyGUI to Pygame (which could be a book unto itself) and then to Python Card (which needs another module wxpython). My point is that it would have been better if he had stuck with EasyGUI and focused more on one of the graphic modules instead of dabbling with all of them. I was fortunate that the book was offered at my local library. If you dont get this book, then I would recommend "Invent Your Own Computer Games with Python, 2nd Edition" by Al Sweigart which is written in Python 3 (and available as a free PDF) or "Game Programming: The L Line, The Express Line to Learning" (The L Line: The Express Line To Learning) by Andy Harris even though it's written with Python 2.

    5-0 out of 5 stars Very Good Intro to Programming Book, May 10, 2010
    My 9yr old son who has had his own computer for several years recently showed an interest in programming and understanding how computers work. I found this book and purchased it for him. He couldn't wait for it to arrive and kept asking every day until it showed up. Once he started he was halfway through the book in no time and was writing his own programs. Being a software developer myself I had to coach him through a few things but for the most part he was able to learn from the book.

    I also liked how the book chose Python and stick to the basics rather than get lost into creating fancy graphical interfaces right away. ... Read more


    9. Robot Building for Beginners (Technology in Action)
    by David Cook
    Paperback
    list price: $34.99 -- our price: $23.09
    (price subject to change: see help)
    Isbn: 1430227486
    Publisher: Apress
    Sales Rank: 8031
    Average Customer Review: 4.6 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    “I wrote this book because I love building robots. I want you to love building robots, too. It took me a while to learn about many of the tools and parts in amateur robotics. Perhaps by writing about my experiences, I can give you a head start.â€â€”David Cook

    Robot Building for Beginners, Second Edition is an update of David Cook’s best-selling Robot Building for Beginners. This book continues its aim at teenagers and adults who have an avid interest in science and dream of building household explorers. No formal engineering education is assumed.

    The robot described and built in this book is battery powered and about the size of a lunchbox. It is autonomous. That is, it isn’t remote controlled.

    You’ll begin with some tools of the trade, and then work your way through prototyping, robot bodybuilding, and eventually soldering your own circuit boards. By the book’s end, you will have a solid amateur base of understanding so that you can begin creating your own robots to vacuum your house or maybe even rule the world!

    What you’ll learn

    • How to build a robot from scratch
    • Where to obtain parts and tools to get you started
    • How to build the brain—the intelligence—using the motherboard
    • How to create the body and become a Dr. Frankenstein
    • How to get your robot moving and ruling

    Who is this book for?

    This book is aimed at teenagers and adults who have an avid interest in science and dream of building household explorers. No formal engineering education is assumed.

    ... Read more

    Reviews

    5-0 out of 5 stars I just built my first robot!!!, January 29, 2004
    I'm an Electrical Engineer at U.C. I bought this book so I could learn some "real world knowledge" about the physical world instead of just theory. I only asked for (and thankfully received) a multimeter, soldering iron, and a cordless dremel drill for Christmas. After reading this book, I now remember why I chose my major--making a robot is a blast!

    Being strong on the theory, I didn't learn anything in that regard. On the flip side, David Cook described the basics in a way that anyone could understand. What I really wanted to learn was to be able to put my Christmas presents to use. He spent a chapter just on the multimeter! I loved it. Also, every part of the robot was described in detail. I now know the difference between choosing motors, batteries, transistors, comparitors, diodes, potentiometers, photo-resistors, ect.

    When I brought my first creation into my Electromagnetics class yesterday, I of course was asked to give a demonstration. From reading this book (to be honest a total of 3 times), I described everything about it in clear/consise detail. The only part I failed was receiving extra credit. Yes I did try :D.

    I couldn't imagine a better book for beginners. There is a website that describes the robot AND the few typos caught (nothing that mattered), ways he took this idea and added a couple more in a similar project, as well as detailing the post construction of robots he's made since then. Cook goes into detail for troubleshooting a potential screw up you may make (If 'X' is happening then you probably did 'Y'). Yes I made one too--thanks for asking.

    There is one part I didn't like about the project though--using an M&M's Mini tube to hold the motors. Being so close to Valentine's day, the only selection they had were PINK ones! Oh well, I named in Valentino anyway. I did find myself telling this story though to everyone that commented on my pink robot.

    If you want to get into the hobby, buy this book. You can't ask for more. Just be prepared to catch yourself looking in the toy section of Target for lego technic tires when your fiance is wanting to register!!! BTW: you'll also catch yourself babbling on about your experiences in a review about this book too--cause you'll be so D@MN excited about making your first robot!!!

    3-0 out of 5 stars A better title...Basic Electronics with a Robot Example, October 3, 2002
    I don't dislike this book, but I don't find it all that useful in terms of robotic design. It does have good coverage of very basic electronics for the beginner, with crystal clear photos to show you the ropes. Don't know how to use a multimeter or know what a resistor is? This book is for you. However, if you want to know how to control, say a servo, you only get a brief paragraph telling you what one is. The book seems to do a lot of that--telling you what something does, but not giving you enough information to do something with it.
    For most of the book, you get a sense that the author simply looked through an electronics catalog, selected some key parts, and wrote a brief discription of what kinds there are, and what they do. Along the way, he shows how you can use those parts to make a simple robot.
    This would be a good book to accompany another more applications-based book (or online site) on electronics (e.g. Radio Shack's Forrest Mimms Enginner's Notebooks, Practical Electronics for Inventors, etc.).
    In terms of robotics, unforunately, you get one simple example and that's it. Very frustrating for those who want to make something more than a simple sandwhich box that follows a line. (It's a clever little design, nevertheless).
    With all bad things said, I do think the book has positives. It has many helpful hints for selecting parts, tips for prototyping, and is writen in a friendly, easy-to-read style.
    For those who know nothing at all about electronics and aren't too interested in robots, but more interested in basic electronics--5 stars. For those who have more than rudimentary knowledge of electronics and looking for a variety of robots projects--1 star.

    5-0 out of 5 stars A must-have!, March 14, 2002
    This is a terrific book. I read it as it was novel. It is written in such way that you can start from the first and go to the last page without being bored once. It is also beautifully divided so you can use it as a reference book.

    David Cook did a great job while writing Robot Building for Beginners. It is perfect for an initiation to the robot building. I've read other interesting books but this one has something special: everything is entirely covered for a single project. Other books tend to present a lot of projects but can't seem to concentrate on giving complete information. Robot Building for Beginners does provide all the information you need. Each time I was wondering "well, how about that?", David Cook was answering my question the next paragraph.

    There is a great amount of work in "what will a first-timer would be willing to learn after that". If you don't know anything or are willing to refresh your mind on electronics, the book is perfect. David Cook helps us getting to choose the right part, understanding what they do, how to correctly assemble the whole thing and so on. I just finish reading it and I'm ready to build my first robot knowing how to avoid the common pitfalls and how to keep my first project simple, but complete and working.

    It's a perfect gift for someone who wants to build his/her first robot. Thanks to David Cook.

    5-0 out of 5 stars Amazing Find for Teaching Kids Electronics and Robotics, February 21, 2006
    I have bought other robot building books in the past for my teenage son, yet I quickly got lost in each of them. Not sure how much he retained. Then I found this book. It's wonderful!
    A little background: I have a college degree in science- health science. My electronics education is pretty much limited to the Physical Science I took in 9th grade- and I remember my Dad helping me struggle through that! However, I have two sons who are interested in learning robotics. There were no classes or organizations nearby, so we decided to start our own group so the boys could learn with a group of friends. Needless to say, I had to teach it! Over the past year, I've tried several different books/curriculum- including Lego Mindstorms material. I quickly got bogged down in each of these due to my limited background on the subject. I bought this book on a whim as a Christmas present for my oldest son, and was amazed the moment I opened it. After reading each chapter, I truly understand the concepts Mr. Cook is presenting. Our Robotics group decided to use this for our Spring "semester", and we are working through this a few chapters each week. The kids are really learning, and I even have a couple of kids as young as 10y/o who are reading the chapters and enjoying it! We decided to buy the kits that go with the books from Solarbotics to simplify things somewhat due to our group size, but we are loving it! I already have the next book- Intermediate Robot Building- ordered for my son to start when we finish this one.

    5-0 out of 5 stars Exciting and Clever!, February 6, 2002
    The author, David Cook, naturally steps inexperienced readers through the robot building process. A lot of books unsuccessfully assume you already know something about electronics, or expect you to go buy a different book to learn how. Instead, this book alone informs the reader about each step and part necessary, from electronics, to mechanics, to aesthetics, through testing.

    Another thing I like about the book is that it encourages readers to make their own robot from scratch out of commonly available parts. Unlike the low-quality kits (from which you learn nothing) being hoisted upon budding scientists, the robot presented in this book really becomes the reader's creation.

    A practical and useful feature of the book is that each circuit is first shown as a schematic (or wiring diagram) and then a labeled photograph on a solderless breadboard. It makes it simple for me to reproduce the circuit on my board by counting the holes or comparing locations to the photographs in the book.

    A terrific book!

    5-0 out of 5 stars Awesome book for begining "robotists", March 22, 2002
    I would give Mr. Cook's book 6 stars if I could. It blew me away. It provides excellent diagrams, pictures, and ideas, as well as manufacturers and part numbers for all of the neccessary components. It assumes no background whatsoever in electronics or robotics.

    Electronics have always piqued my interest, though I have never really been able to get into them. Some of the books I have bought previously have been absurdly complicated, requiring backgrounds in fields such as linear calculus. I have a head for numbers, but being only a high school freshmen taking Geometry can be limiting.

    Robot Building for Beginners really brings the art of constructing autonomous creations down to the basic, hands on level. It starts with the basics, down to what one's workspace should include, etc. You won't find any cryptic series of equations, graphs, or complex diagrams in this book. All of the electrical components are explained on a "what-they-do and how-to-use-them" basis.

    For instance, I picked up another book, Teach Yourself Electricity and Electronics, and attempted to teach myself about simple things like how a circuit works, and what resistors do. The book immediatly overwhelmed me with so-and-so's laws, this rule of physics, this logarithmic equation, etc.

    Mr. Cook's book , on the other hand, explained resistors simply, essentially saying that they were devices to limit the amount of current to a place in the circuit, because too much current simply fries your components. No fancy equations, no graphs, just simple - like it is.

    It is for all of the above reasons that I highly recomend this book to anyone who's ever considered dabbeling in electronics (for robots or not).

    3-0 out of 5 stars Ok starter on electronics, but lacking on robot design, June 3, 2002
    This is a fairly good book, and probably worthwhile for true beginners in this area. However, as someone else mentioned, the book spends a bit too much time on basic electronics and not enough time on real life robots. There is only one simple robot discussed. The book is also lacking on schematics and left me with a sense that I knew this stuff before I started reading it. However, I have a bit of experience with electronics so my view may be tainted. For electronics, there are better books, for robots there are better books. In all, I'd say if you have learned basic electronics already, and simply want to learn more about robotics, this isn't the book for you. If you don't know anything about electronics, and simply want to see how to drive simple motors, and LEDs, and aren't so interested in the detailed electronics, this book may be for you.

    5-0 out of 5 stars Robot Building for Beginners, May 21, 2004
    Robot Building for Beginners - What a great beginners book!
    When I ordered this book I wasn't too sure about what I was going to get but I did know that the author's web site www.robotroom.com is a robot builders paradise, so what the heck. What a great book!!!!! This book covers so much material based on early electronic theory, concepts, components, and breadboard configurations that you feel like you are sitting in an electronics class just soaking it all up! His text is broken into major sections covering electronic basics, equipment you will need to use, then he talks about the major components that will be used in the sandwich project "A line following robot". He lets you build each section of the robot in modules on an electric breadboard, which is great because you can see the circuit work, plus learn how the circuit functions, and make modifications to the circuit while not having to solder or unsolder components. He steps you through each section of the line following robot building each modules in order till you have the whole robot circuitry on the breadboard for testing. Later he shows you have to make the final robot product and put everything together soldered on a single circuit board. There is truly so much information here that the readers get way more than he pays for. It is easy to understand and humorous at the same time. He even covers calculations concerning voltage drops, load drops within the circuit, and power consumption. By the end of this book you will have completed the building of a real, authentic line following robot and have the knowledge to go onto bigger and better robot projects. After this book I recommend buying the Intermediate Robot builder book!! This is another great book from David Cook!

    5-0 out of 5 stars Excellent work, with great attention to detail, November 9, 2004
    I bought this book and the newer intermediate book (also by Cook) together to start a new hobby. It is very thorough, with great close up pictures, and aims to walk you through the entire process, from beginning to end, of constructing a single, relatively simple robot. If you are truly a beginner, I honestly believe you cannot do better. I have read through most of it once, like a novel, and have referred to it dozens of times since, more like a reference. I have all the major parts now, except the tires and M&M tube, and am about 65% finished. It is really fun, and having the book at your side is second only to having a wise grandfather looking over your shoulder as you work.

    I was concerned that it would be overly simplified for me, as I have a master's in CS, and have tinkered with electronics before. It is true that certain parts have been review, but I must admit that after three or four times of saying, "Well that's interesting...", I must now concede that I have learned a great deal, all preconceptions aside. I can only conclude that there must have been several gaps in my knowledge, which I was pleased to have filled by reading this book. My only gripe with the book is that it's difficult to use as a reference. I'm not sure how you'd fix this, I only know I constantly find myself searching for something I read before, only to find it later when I'm no longer looking (and after I had spent several minutes trying). This is quite minor though, and I realize it's probably impossible to have a book that both reads like a novel and functions as a reference (after all, the book is already quite large).

    I can't wait to finish construction - the next step is soldering, and I've got this fancy Hakko 936 I'm quite anxious to use. Also, I suspect the next book will be even more interesting, as I've been thinking a lot about how much fun it would be programming the microcontroller. I would guess after I'm done with that book that I'll either continue building more robots on my own, or move on to something else. One thing is for certain though, and that is that this has been great fun, and I would recommend it to any disciplined and curious beginning tinkerer. What better way to simultaneously advance your knowledge of several interesting scientific areas (mechanical engineering, electronics, etc.) while having a great time?

    5-0 out of 5 stars Good Book-Keep These Things Mind, October 4, 2006
    This book is great, whether your a beginner or an expert just wanting to go back to your roots. Every part is described and you have websites that you can order them from. It's all very good. But there are just some things to keep in mind. First of all, there's a section on motors where he describes them and what they're used for. I assumed that we needed to buy them, so I bought the 5 pack that he mentions. Now on the next chapter afterwards, it turns out that we dont need those motors, but we need gearhead motors. So to me I was a little bummed because the motors he describes are basically for you to test and have fun with. It wasn't expensive but I was a little misguided and didnt like the shipping expense I made on motors I wasn't even going to apply to the robot. This brings me up to my next point: BUY ALL THE PARTS YOU NEED IN ONE ORDER. I had the idea of slowly ordering my parts as I read the book but the problem is that places like Digi-Key charge you a ridiculous amount for shipping, and when you need only 3 resistors and the shipping is about 10-20 times its cost, it gets a little annoying. So I would suggest just skimming the whole book to see what parts you will need and then getting them all together. This will also save you time as you go through the book since you will have all the parts that you need.

    One other thing is that if your a beginner, make sure you have somewhat of a small fund for this. Even though it is true that everything is cheap, it depends on what you have. I didnt really have the tools such as soldering irons, crimpers, etc. so I needed to get all of these things. But I know I will continue with other books to become better in the field of robotics so I had no problem spending the money. If you intend on doing the same, then it will all be worth it and after you make your first robot, your second and future projects will be much cheaper since you will have the tools.

    I guess as a last note I didnt enjoy the idea of using lego wheels for the robot mainly because for some reason I couldn't easily find axles for them. Another problem was also the tiny diameter copper tubing that you need to purchase to make the coupler. The smallest I could find was 1/4'. It wasn't impossible to do it in spite of these problems, it made me think, so I guess it wasn't all too bad. Oh, and when you do solder the parts together, PLEASE TRY TO BE CAREFUL WITH HOW YOU SOLDER. I did it a bit messy since I just started soldering things together but by the time I was done with the circuit, it was hard to add more circuitry, or to check if everything was well connected.

    All in all, its a good buy. Be patient and have fun with it! ... Read more


    10. The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)
    by Frederick P. Brooks
    Paperback
    list price: $39.99 -- our price: $30.74
    (price subject to change: see help)
    Isbn: 0201835959
    Publisher: Addison-Wesley Professional
    Sales Rank: 14640
    Average Customer Review: 4.5 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    No book on software project management has been so influential and so timeless as The Mythical Man-Month. Now 20 years after the publication of his book, Frederick P. Brooks, Jr. (best known as the "father of the IBM System 360") revisits his original ideas and develops new thoughts and advice both for readers familiar with his work and for readers discovering it for the first time. ... Read more

    Reviews

    5-0 out of 5 stars I would give it a 100 stars if I could!, May 29, 2004
    If you have managed some software projects or have worked on some non-trivial software systems, undoubtedly you have faced many difficulties and challenges that you thought were unique to your circumstance. But after reading this book, you will realize that many of the things you experienced, and thought were unique problems, are NOT unique to you but are common systemic problems of developing non-trivial software systems. These problems appear repeatedly and even predictably, in project after project, in company after company, regardless of year, whether it's 1967 or 2007.

    You will realize that long before maybe you were even born, other people working at places like IBM had already experienced those problems and quandries. And found working solutions to them which are as valid today as they were 30 years ago.

    The suggestions in this book will help you think better and better manage yourself, and be more productive and less wasteful with your time and energy. In short, you will do more with less.

    Some of Brooks insights and generalizations are:

    The Mythical Man-Month:
    Assigning more programmers to a project running behind schedule, may make it even more late.

    The Second-System Effect:
    The second system an engineer designs is the most bloated system she will EVER design.

    Conceptual Integrity:
    To retain conceptual integrity and thereby user-friendliness, a system must have a single architect (or a small system architecture team), completely separate from the implementation team.

    The Manual:
    The chief architect should produce detailed written specifications for the system in the form of the manual, which leaves no ambiguities about any part of the system and completely specifies the external spcifications of the system i.e. what the user sees.

    Pilot Plant:
    When designing a new kind of system, a team should factor in the fact that they will have to throw away the first system that is built since this first system will teach them how to build the system. The system will then be completely redesigned using the newly acquired insights during building of the first system. This second system will be smarter and should be the one delivered to the customer.

    Formal Documents:
    Every project manager must create a roadmap in the form of formal documents which specifies milestones precisely and things like who is going to do what and when and at what cost.

    Communication:
    In order to avoid disaster, all the teams working on a project, such as the architecture and implementation teams, should stay in contact with each other in as many ways as possible and not guess or assume anything about the other. Ask whenever there's a doubt. NEVER assume anything.

    Code Freeze and System Versioning:
    No customer ever fully knows what she wants from the system she wants you to build. As the system begins to come to life, and the customer interacts with it, he understands more and more what he really wants from the system and consequently asks for changes. These changes should of course be accomodated but only upto a certain date, after which the code is frozen. All requests for more changes will have to wait until the NEXT version of the system. If you keep making changes to the system endlessly, it may NEVER get finished.

    Specialized Tools:
    Every team should have a designated tool maker who makes tools for the entire team, instead of all individuals developing and using their private tools that no one else understands.

    No silver bullet:
    There is no single strategy, technique or trick that will exponentially raise the productivity of programmers.

    5-0 out of 5 stars A timeless classic "must read", February 22, 2001
    There are few must reads in this industry. This is one. First published in 1975, this work is as applicable to software engineering today as it was then. Why? Because building things, including software, has always been as much about people as it has been about materials or technology--and people don't change much in only 25 years.

    In the preface to the First Edition, Brooks states "This book is a belated answer to Tom Watson's probing question as to why programming is hard to manage." This short book (at just over 300 pages) does a masterful job answering that question.

    It is here we first hear of Brooks's Law: "Adding manpower to a late software project makes it later." Brooks doesn't just drop that on the reader without explanation. Instead, he walks through the reasoning, discusses how communication in a group changes as the group changes or grows, and how additions to the group need time to climb the learning curve.

    Those new to the industry or who are reading the book for the first time might be put off by the examples and technology discussed. Indeed, even in the newly released edition, the original text from 1975 is still present, essentially untouched. So, talk of OS/360 and 7090s, which permeates the text, is perhaps laughable to those not looking deeper. When talking about trade-offs, for example, Brooks offers "... OS/360 devotes 26 bytes of the permanently resident date-turnover routine to the proper handling of December 31 on leap years (when it is day 366). That might have been left to the operator." This is 26 bytes he's talking about!

    Brooks provides a light, almost conversational tone to the prose. This isn't to say the observations and analysis were not very well researched. Comparing productivity number with those of Software Productivity Research (SPR), you'll find Brooks came up with the same measurements for productivity as Jones--only 20 years earlier!

    Other wisdom is also buried in this work. Brooks declares "The question, therefore, is not whether to build a pilot system and throw it away. You will do that. The question is whether to plan in advance to build a throwaway, or to promise to deliver the throwaway to customers." The state of products I buy today tells me not enough people have taken Brooks's observations to heart!

    The latest version of the text includes his work "No Silver Bullet." Brooks, who had brought us so much before, had one last "parting shot."

    As I started this review I will also end it: this book is a classic. Read it.

    5-0 out of 5 stars Must reading, but too seldom read, April 27, 2000
    In giving testimony before Congress a few years ago on IT issues, I said the following:

    "Humanity has been developing information technology for half a century. That experience has taught us this unpleasant truth: virtually every information technology project above a certain size or complexity is significantly late and over budget or fails altogether; those that don't fail are often riddled with defects and difficult to enhance. Fred Brooks explored many of the root causes over twenty years ago in The Mythical Man-Month, a classic book that could be regarded as the Bible of information technology because it is universally known, often quoted, occasionally read, and rarely heeded."

    I have been involved in software engineering for over 25 years, have written many articles and even a few books on the subject. Yet every time I think I've discovered some new insight, chances are I can find it tucked away somewhere in The Mythical Man-Month. And the tarpits and other dangers he lays out plague the IT industry today. I wonder when we will grasp and apply the fundamental insights that Brooks, Jerry Weinberg, and others laid out nearly three decades ago. ..bruce..

    5-0 out of 5 stars are your deadlines an exercise in futility?, December 22, 1999
    I find myself going back to this book regularly as management tries to double the size of a team in order to cut development time in half, or make supervisors out of great technical people. Normally when you read a technology book as old as this one, its distracting to see how much things have changed; in this case, its sobering to see how little things have changed. Brooks' project examples are artifacts of another era, but teams are still failing to deliver quality software on time for all the same reasons they were then. There's room for disagreement with some things in the Mythical Man-Month (most of which are addressed in the new chapters at the end), but it convinced me that making project deadlines doesn't have to be a roll of the dice, and gave me the insight to start looking at software development as a process instead of as an accident.

    5-0 out of 5 stars Oldy but Goody, March 5, 2001
    This book is a classic, but recently revised and corrected. The amazing thing is how relevant the book still is to software product development. If you are involved in software, this book is a must-read.

    The most valuable part of the book, I believe, is the "plan to throw out" prototype chapter. While the goal is always to make a bigger, better, fast whatever, it is almost an axiom that you WILL build something that has to be discarded and reworked. This absolutely happens every time, I can tell you from first-hand experience. Therefore it is vital to plan to throw out so you can migrate your users to whatever will follow. If you dream that the first product is THE ONE, you risk abandoning them on a product that will inevitably evolve. Planning the throw-away also helps meet the schedule goals by setting reasonable milestones that can be met.

    In my role as a product manager for a top-selling software product in its class, I found that the Mythical Man-Month was absolutely vital. However, some additional reading is recommended; Walker Royce's Software Project Management was published in 1998 and adds the dimension of software project evolution. This goes into more detail why you can't write all the specifications upfront, and even if you do, they are certain to change by the time the product is released.

    5-0 out of 5 stars Tame the software beast..., September 24, 2000
    I was initially sceptical that a book on software engineering written twenty-five years ago could still be relevant today. It is.

    This short, concise book contains a handful of highly insightful essays, each focusing on one main topic, usually a problem area in software engineering, and possible ways to solve it. Brooks doesn't waste pages of space in excess verbosity. He just says what he thinks, and why he thinks it. It's a very underrated writing technique.

    The new chapters in the anniversary edition serve to acknowledge changes that have occurred since the original edition, and while there have been some, on the whole, most of the original text still stands. If you are in the field, or want to get into it, read this book. Simple.

    3-0 out of 5 stars An obsolete classic, January 13, 2001
    This was one of the most valuable books in its day (1975). It revealed huge mistakes in one of the largest programming efforts ever, and suggested mostly-reasonable improvements.

    But software engineering has advanced a lot since then, even if the software industry hasn't. For example, Brooks' sole team-level improvement is the suggestion to use Harlan Mills' chief programmer teams, while many such improvements have been found since then. And Brooks entirely ignores the main defect of the chief programmer team---the difficulty of finding chief programmers!

    (As an aside, a chief programmer team works fine now with a chief programmer, a college grad, and modern tools. Code ought to be written so a college grad can maintain it, and this approach helps ensure that. The college grad can also flesh out test cases and support in other ways. But there's still the problem of finding the chief programmer...)

    Brooks approach is generally, "We did that wrong. We should have done it this way, for these logical reasons." But there are often several solutions to a problem, all having logical reasons. Empirical data is needed to choose between them. Brooks rarely mentions alternate solutions, and almost never offers emperical data.

    A far more valuable book is Steve McConnell's "Rapid Development". This well-researched and organized book quotes data to confirm problems, discusses solutions with associated emperical data, and recommends solutions.

    5-0 out of 5 stars Hard truths about managing software projects, June 28, 1997
    Most of what you'll read in this book will not come as a surprise, you've heard it before; well, this is the source. These are observation like: Programmers who really think they found the last bug mess up your planning (since they didn't), the last 10% of a software project may take more resources to complete than all used so far and adding resources to a project will only make it finish even later.
    This very book has left a tremendous impression on the industry ever since it was first printed (1971?) although most mistakes are still made. Virtually all examples are outdated like "--the date should be changed manually for a leap year, this saves some 50 bytes in main memory--" but anyone can substitute relevant examples.
    The author's main argument is that no "silver bullet" will be invented that can decrease the time to perform a complex software project significantly. In this 1995 edition the author admits (in a new chapter) that some of his conclusions are incorrect but he stays with that argument: the silver bullet was not invented and will not soon (if ever) be invented.

    5-0 out of 5 stars "Adding manpower to a late project makes it later", January 14, 2001
    Almost everyone who works on projects with the IT industry is familiar with Brooks' Law (cited in the review title). But all too few people have read this seminal book on project management and software engineering. Containing resources such as an explanation of Brooks' Law, an incredibly useful breakdown of what kind of documentation should accompany a product, and the new chapters which examine what's changed since the book was first released. The whole world would be saved a great deal of chaos if beginning project managers would start with this fine book.

    5-0 out of 5 stars Time Less, November 18, 2006
    Few books written about software engineering have value a few years after introduction. But Brooks is time less! This is a must read by anyone who craft is computer science. I would also suggest it to anyone who is in technology managment. It is very readable and very usable. ... Read more


    11. Information Dashboard Design: The Effective Visual Communication of Data
    by Stephen Few
    Paperback
    list price: $34.99 -- our price: $23.09
    (price subject to change: see help)
    Isbn: 0596100167
    Publisher: O'Reilly Media
    Sales Rank: 14951
    Average Customer Review: 4.4 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    Dashboards have become popular in recent years as uniquely powerful tools for communicating important information at a glance. Although dashboards are potentially powerful, this potential is rarely realized. The greatest display technology in the world won't solve this if you fail to use effective visual design. And if a dashboard fails to tell you precisely what you need to know in an instant, you'll never use it, even if it's filled with cute gauges, meters, and traffic lights. Don't let your investment in dashboard technology go to waste.

    This book will teach you the visual design skills you need to create dashboards that communicate clearly, rapidly, and compellingly. Information Dashboard Design will explain how to:

    • Avoid the thirteen mistakes common to dashboard design
    • Provide viewers with the information they need quickly and clearly
    • Apply what we now know about visual perception to the visual presentation of information
    • Minimize distractions, cliches, and unnecessary embellishments that create confusion
    • Organize business information to support meaning and usability
    • Create an aesthetically pleasing viewing experience
    • Maintain consistency of design to provide accurate interpretation
    • Optimize the power of dashboard technology by pairing it with visual effectiveness

    Stephen Few has over 20 years of experience as an IT innovator, consultant, and educator. As Principal of the consultancy Perceptual Edge, Stephen focuses on data visualization for analyzing and communicating quantitative business information. He provides consulting and training services, speaks frequently at conferences, and teaches in the MBA program at the University of California in Berkeley. He is also the author of Show Me the Numbers: Designing Tables and Graphs to Enlighten.

    ... Read more

    Reviews

    4-0 out of 5 stars Have some good ideas, but could be shorter with no loss of content., March 17, 2006
    After reading this book I have the following positive points to make:

    .. It is very well designed, it is nice to look at it.

    .. Has some good ideas (but they are not original ones).

    .. In general, following its advice you will be able to do a better design of dashboards and management information systems screens.

    If I counted only this I would give it 5 stars, but, I think this book has some negative points. One of the points makes the author inconsistent with his own recommendations throughout the book.

    The book is about designing dashboards and the major line of thought is:
    - keep it simple, clean and objective.
    - Use the tools (graphics and tables) in a rational way.
    - don't use all the fancy features that software vendors put in their products for they will make your dashboard less effective.

    But the author when writing it, forgot part of his own teachings and produced a text that is very prolixic, too many words to explain simple concepts and ideas. Lacks objectivity.

    So, if you want to better understand the use of graphs, take a look at Naomi Robbins, "Creating More Effective Graphs". This book is very objective, simple and fast to read.

    The second flaw is that in the examples to show how to do a well designed dashboard, the author used two types of graphs that are not available in today's softwares. One type of graph was created by the author while writing this book (bullet graphs) and the other (sparkline) is the creation of Mr.Tufte, which will appear in a future book of his. It would be more useful to see examples with the typical tools available to design a dashboard.


    So, be prepared for a nice experience with pictures and graphs in a sea of words. It is an excellent book that will help design dashboards and the like. (So far is the best book on this topic).

    4-0 out of 5 stars Its all about the dashboard..., February 16, 2006
    I am currently working (as a software developer) on building a platform which incorporates a dashboard, so this book caught my attention. I learned a lot more than I ever really wanted to know about dashboard design aesthetics, visual perception and color theory; but if you're looking for a one-stop-shop detailing dashboard design, this is the book.

    From the perspective of a software developer, I found the chapter "Thirteen Common Mistakes in Dashboard Design" quite useful. It discusses (obviously) thirteen "no-nos" when designing a dashboard. It has plenty of pictures illustrating the mistakes and describing helpful alternatives. The book is quick to read, the examples and critiques are explained well and easy to follow.

    Not having a design background, I don't feel qualified to comment on the content other than to say it all made sense to me. :) I did, however, loan the book to one of our in-house design guys - he said it was "pretty good" and would recommend it.

    If you're directly involved in building or designing a dashboard, this book is nice because it's all about dashboards - rather than a design book with just a chapter or two on dashboards.

    5-0 out of 5 stars Beautiful book with plenty of design insight (and examples)..., April 16, 2006
    One of the system architecture ideas that has waxed and waned over the years is the concept of an Information Dashboard... a single screen of data that summarizes key data points for quick monitoring by executives. But just throwing a few graphs on the web page isn't necessarily the right thing to do. Stephen Few covers the subject of dashboard design in his book Information Dashboard Design : The Effective Visual Communication of Data.

    Contents: Clarifying the Vision; Variations in Dashboard Uses and Data; Thirteen Common Mistakes in Dashboard Design; Tapping Into the Power of Visual Perception; Eloquence Through Simplicity; Effective Dashboard Display Media; Designing Dashboards for Usability; Putting it All Together; Appendix; Index

    For someone like me (not a whiz when it comes to graphic design) to really like a book of this nature is saying something. I actually understood everything he was writing, and I didn't think this was some self-serving "listen to me because I'm an expert" volume. The book is printed on heavy paper stock and full color, so the examples don't lose any impact in the normal translation to black and white. Lavishly illustrated with examples both good and bad, it's easy to see why some things work and some don't. Even designs that I thought "looked" professional had significant drawbacks. For instance, colors should represent the same thing throughout the page. Don't make a pie chart with a red slice if you want red to represent a danger indicator somewhere else on the screen. Minimize the non-data pixels so the eyes don't have to work at interpreting data from "fluff" (like graph lines). And when you're choosing graphing formats, make sure you choose ones which are relevant to the data being displayed. Don't choose a pie chart when a bar graph makes an easier comparison. He even goes into color choices and how they cause the mind and eye to group things on the page. Normally I'd be reading material like this with a "says you!" attitude, but there wasn't a single instance where I thought he was pushing his own preferences instead of something that actually made sense and had some research behind it. I actually found myself thinking about some of my own application designs based on the material presented, as well as how I need to change a few things along the way.

    If you're not a graphically oriented person (like I'm not), this book is a lifesaver for your design and development efforts. It should remain close at hand as you do your web site design on a daily basis. And even if you *do* know what you're doing, you will likely become a whole lot better at it after reading Information Dashboard Design.

    5-0 out of 5 stars Practical advice that works, March 1, 2006
    I suppose that comparisons to Tufte's work are unavoidable, for he is the best known expert in visual information display and his work is undeniably elegant, but "Information Dashboard Display" is an entirely different type of book. While Tufte and Few would probably agree on most points in a discussion of information visualization, Tufte's focus is wide-ranging and conceptual, while Few focuses on the practical needs of business, and in this book specifically on dashboard design.

    Few pulls together relevant advice from a vast body of research, organizes it, and makes it digestible for people like me who must display large amounts of data in the limited space of a single computer screen in a way that clearly and efficiently communicates. No one else has done this. He exposes the common problems in visual dashboard design and step by step leads the reader through practical instruction in how to do it right. I have a job to do; this book has helped me do it, and do it well.

    5-0 out of 5 stars Insightful, January 2, 2006
    This is one of the most insightful books on data visualization I have read so far. The author is rather critical of existing dashboard products, which he sees as favoring "decorative flourishes" over simplicity and usefulness. Screenshots are used to illustrate his points and to show alternative solutions. This book can be recommended to anyone who is interested in the display of information and usability issues.

    4-0 out of 5 stars From the Dashboard Trenches, June 1, 2007
    I am actually in the process of creating a marketing dashboard for a Fortune 500 company. I am essentially the lead for this project and wanted to get up to speed in a hurry on the current thinking about dashboards and the visual display of data---this book has been very helpful.

    Actually, I have really learned a great deal about what NOT to do when it comes to creating a dashboard.

    Colors? No.

    Pie Charts? Don't even think of 'em.

    How about cool little gauges that look like the speedometer in your car? Please.

    Author Stephen Few basically shoots down just about everything you ever thought you knew about what would constitute a good dashboard. What he emphasizes, time and again, is simplicity.

    Taking his own advice, the book iteself is very simple and can be read in a few hours as most of its pages contain pictures of, well, examples of bad dashboard design.

    My only criticism of the book is that there simply aren't enough examples of good dashboard design.

    If you are working on a project that involves the visual display of data, then you should definitely read this book.



    3-0 out of 5 stars Good guidelines for dashboards & a lot of slagging, August 7, 2007
    Found this book great for discussing how to better structure dashboard interfaces yet as other reviews highlight the real meat is only a fraction of the book.

    I think this book suits programmers, dreamweaver artists and web project managers more than it does information designers as many of the insights are intuitive to them.

    What I struggled with the most was the amount of slagging of existing systems that the author does. For all the negativity he then only has one or two examples of how it should work. Thus the real take home value is the final chapter.

    I'd rather recommend - The Visual Display of Quantitative Information, 2nd edition,Envisioning Information ,The Wall Street Journal Guide to Information Graphics: The Dos and Don'ts of Presenting Data, Facts, and Figures, Universal Principles of Design - Then apply their theories within the needs of the interface you're working with (Big or small screen, touch or mouse interaction, fixed or fluid layout etc) on your own as this book goes into none of that in a deep manner.

    4-0 out of 5 stars A high-water mark in the category, December 12, 2006
    I don't use or create dashboards, but I've been looking for clear guidance in the area of graphs and charts. The Wall Street Journal and the Economist seems to have mastered the job of cranking them out. Instead of aping the ones in the paper, I needed some background training to appreciate what I'm seeing. I tried Tufte's beautiful work, but found it too abstract for a first-timer.

    Stephen Few is evidently a man of taste and wisdom. This volume speaks eloquently and in the just the right amount about common pitfalls and the path that avoids them. He performs a tremendous and valuable service assimilating work by other greats in this field and adding useful innovations of his own.

    If you appreciate great design, and work with numbers, especially Excel, this will make you a hero. Rarely do you acquire expensive new skills as easily as you will by reading this book.

    4-0 out of 5 stars Important Resource For Dashboard Designers/Developers, June 20, 2006
    What is a dashboard?

    No, I don't mean the dashboard of an automobile, but rather the dashboard as it relates to computers and people that use them. Quite simply, a dashboard is like an overview. It's a screen or a web page that displays relevant important content all in one handy place. Instead of having to click from one content area to the other, a user can quickly glance at a dashboard and gather all sorts of useful info without having to perform a lot of navigation. If you are a user of Quicken or Microsoft Money you will be very familiar with dashboards. These applications have used this technique for a long time, providing important financial information such as bills that are due or where money is going... information that you would like to be front and center, not having to click all over the place to get a quick snapshot of the data you want to see.

    What Stephen Few does in this book is provide the reader with a fantastic way to look at dashboards. Learn how to avoid mistakes such as making the user have to scroll when that is exactly NOT what you want them to do, providing information that isn't relevant, and/or using meters when graphs or charts would be more applicable. With a nice size to the book, vibrant colors, and great examples, this is a book that provides wonderful suggestions on how to improve design so that developers can create dashboards which are slick, smooth, and most of all... EFFICIENT.

    If you are designing or developing a dashboard to serve as an informational tool for your users or is the central focus point of what you are working on, you would be very wise to pick up 'Information Dashboard Design' to get the job done and done right.

    **** RECOMMENDED

    4-0 out of 5 stars Pretty, Nice, February 28, 2006
    99.9% of the content is derived from Tufte, but Tufte covers more. I feel that the content was "padded" and it takes a long time to get to the beef, but its there. $ for $ Tufte is the better buy, but the Examples of Good and Bad dashboard implementation are clear and usefull, and the book is well produced and has a great feel to it. But note this is about graphical design not dashboard Content design. I agree with author when he states that it's a little presumptious of him to claim to have invented bullet graphs, but he is the first to get them into print and he presents a definition of their construction which is useful. The most important thing I learnt is that there is an upcoming as yet unpublished edition from Tufte due in 2006 from which he references. I await that eagerly. ... Read more


    12. Making Things Move DIY Mechanisms for Inventors, Hobbyists, and Artists
    by Dustyn Roberts
    Paperback
    list price: $30.00 -- our price: $16.58
    (price subject to change: see help)
    Isbn: 0071741674
    Publisher: McGraw-Hill/TAB Electronics
    Sales Rank: 11998
    Average Customer Review: 4.5 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    A unique guide to practical mechanical design principles and their applications
    In Making Things Move, you'll learn how to build moving mechanisms through non-technical explanations, examples, and do-it-yourself projects--from art installations to toys to labor-saving devices. The projects include a drawing machine, a mini wind turbine, a mousetrap powered car, and more, but the applications of the examples are limited only by your imagination. A breadth of topics is covered ranging from how to attach couplers and shafts to a motor, to converting between rotary and linear motion.
    Each chapter features photographs, drawings, and screenshots of the components and systems involved. Emphasis is placed on using off-the-shelf components whenever possible, and most projects also use readily available metals, plastics, wood, and cardboard, as well as accessible fabrication techniques such as laser cutting. Small projects in each chapter are designed to engage you in applying the material in the chapter at hand. Later in the book, more involved projects incorporate material from several chapters.
    Making Things Move:

    • Focuses on practical applications and results, not abstract engineering theories
    • Contains more than a dozen topic-focused projects and three large-scale projects incorporating lessons from the whole book
    • Features shopping lists and guides to off-the-shelf components for the projects
    • Incorporates discussions of new fabrication techniques such as laser cutting and 3D printing, and how you can gain access
    • Includes online component for continuing education with the book's companion website and blog (makingthingsmove.com)
    Hands-on coverage of moving mechanisms
    Introduction to Mechanisms and Machines; Materials and Where to Find Them; Screwed or Glued? On Fastening and Joining Parts; Forces, Friction and Torque (Oh My); Mechanical and Electrical Power, Work, and Energy; Eeny, Meeny, Miny, Motor? - Creating and Controlling Motion; The Guts: Bearings, Bushings. Couplers, and Gears; Rotary vs. Linear Motion; Automatons and Mechanical Toys; Making Things and Getting Them Made; Projects ... Read more

    Reviews

    5-0 out of 5 stars Great book!, December 4, 2010
    As a paper engineer and artist with some electronic experience, I have found that learning about gears, pulleys, motors, and the actual mechanics of getting things to move somewhat daunting. There are basic books geared towards beginners as well as books filled with inspiring complex examples that are impossible to navigate unless you already have a high level of expertise. This book is the book I've been looking for. It is really useful and very comprehensive in its approach and scope. It starts with the basics, but, takes you through a wide array of materials, techniques, and examples. Its section on motors (and arduino control) is great. I think its a fantastic book for students and individuals with varying skills, experience, and interests. Highly recommend it.

    5-0 out of 5 stars perfect book for student designers, December 7, 2010
    I have been waiting for this book! I teach product design at a local university, and my students often have questions that I can't answer about topics discussed in Making Things Move. The language here is perfectly suited for this purpose, the information is very clear and the example projects are nicely explained and documented. The hand sketches are great, because they capture the excitement of making things, and put one in the mood to start sketching and inventing! Thanks to this author for producing a needed book that will help many non-professional people as they try their hand at mechanical design and robotics.

    5-0 out of 5 stars A Great Intro to Mechanical DIY, December 7, 2010
    My background is in electronics so this book is exactly what I needed to enter the world of DIY mechanisms. The text explains the basics of motion, tools that are available and how to use them, how to design and build your own inventions, gadgets that can be employed in your designs and projects to get your hands dirty. The book concentrates on the practical, not the theoretical, and is very much a hands on book. I did not realize how readily available and practical this was -- with just a little guidance -- until I read this book. The text covers not just DIY but also where and how to get help with more building more complicated gadgets. The book is well written and is useful for both adults and teenagers who are interested making things. I hope Dustyn Roberts can followup with a more advanced book.

    5-0 out of 5 stars Fantastic Presentation, December 26, 2010
    I'm sure the way you respond to this book will depend heavily on your experience level as a mechanical and electronics tinkerer. I happen to be right in the bullseye of the author's target audience: this book is perfect for where I am in my informal education in those areas. My favorite part is that Ms. Roberts makes specific recommendations for tools and for parts and materials sources. The information is presented in a very logical order. It is intentionally not too deep - just the bare essentials to get you started experimenting. But with plenty of information about how to go further. If you want to learn how to build machines that move, this is a great place to start.

    5-0 out of 5 stars Amazing!, November 30, 2010
    I just received my book a couple of days ago and I already love it! For the average Jo like me, it's nice to have things explained in such a way that even I understand them. I can't wait to try my first project.

    2-0 out of 5 stars Not a great book., November 30, 2010
    This is a basic book. It may be of some use to someone who hasn't a clue to how things move. Overall, I think you could get most of its information on the web. The illustration are somewhat poor and the photographs of devices are not of great quality. ... Read more


    13. The Unofficial LEGO MINDSTORMS NXT Inventor's Guide
    by David J. Perdue
    Paperback
    list price: $29.95 -- our price: $17.79
    (price subject to change: see help)
    Isbn: 1593271549
    Publisher: No Starch Press
    Sales Rank: 17564
    Average Customer Review: 4.8 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Reviews

    5-0 out of 5 stars Great background, great building plans, February 27, 2008
    As a father with two boys who are both interested in science and technology, it seemed a natural choice to check out the LEGO Mindstorms NXT set when it came out. Stepper motors with integrated rotation sensors, sensors for ultrasound, touch, light, and sound, USB and Bluetooth connectivity... well, you get the point! When my boys saw the NXT, they were very excited about it. When the box arrived it was like Christmas and birthday combined!

    We built the model in the book first. A fun start. Then we built the models included on the CD. Very nice! After that though, we were on our own. Not that there's anything wrong with that, but our skills could only take us so far!

    Fortunately there's an abundance of books about Mindstorms. We're up to five books at this point, and I'm always looking for more. It's not just the models, but also the insight on mechanical design and the new ways of looking at the available pieces. Each book takes a different approach to introducing the models and creating excitement, but unfortunately not all are as effective as others.

    The newest book that we have in our collection is The Unofficial LEGO MINDSTORMS NXT Inventor's Guide, by David J. Perdue. The cover model grabbed me immediately with its interesting steering design. The book itself begins with some very good beginner-level information on the Mindstorms set. If you've only read the documentation included with the set, this is very useful. It includes information on the sensors and motors, the Lego beams and pieces, and the software. From there it moves into a great discussion of working with gears. One could argue that this isn't information that is necessary if all you want to do is build robots, but it's the same philosophy as teaching a man to fish versus giving him a fish. The plans that come later in the book are more useful when you have a solid foundation of construction concepts.

    The next three chapters focus on programming -- a basic then advanced chapter covers the programming environment, the various blocks, and how they all fit together. A third chapter moves beyond into unsupported languages. If you are looking to move beyond the LabView toolset, this is good information, but definitely only appropriate for an advanced audience.

    Chapter 11 (page 125) begins the first build-it-yourself project. This means that roughly half of the book is background on Mindstorms, and the other half contains the six projects. The projects are good and include ample illustration and commentary. This is important because just seeing the sequence of construction steps isn't very helpful if you really want to understand it -- and, ideally, continue with your own projects. Unlike some books which rely on photos of the build sequence, Mr. Perdue uses LDraw to create professional-looking steps that look like the ones put out by the Lego company.

    The programs are laid out with comments next to the blocks. This is nice to see as it sets a good example for budding programmers. There's also sidebar commentary to go into greater detail. The book includes a good variety of basic and advanced programming blocks. Using data wires, variables, math operations, and ranges opens up the door to logic that is more true-to-life -- hopefully without being intimidating to younger readers (my sons are 10 and 12).

    One small quibble is that many of the programs are rotated sideways. This is a somewhat necessary approach since the programs get so darned wide! LabView needed to come up with a better way to visualize large programs. For the printed form, it might have worked better to make multi-page pull-out diagrams instead. It's not a big thing, but it did stand out.



    Overall I really liked the book. It's a bit scant on the building plans for my own needs, but it really depends on what you are looking for. It's also inline with other similar books. For someone without so many books already in their library (as I have), having a good mix of plans and background is important. Lego did a great job of creating a robotics platform with incredible potential, but largely left it up to the community to realize that potential. Most of the books that I have attempt to bridge this gap by dividing up the book this way, but with varying degrees of success. I was very pleased with the approach taken by this book, the diagrams/illustrations, and the overall tone taken. I would highly recommend it to anyone looking to take their Mindstorms experience further.

    5-0 out of 5 stars Readable, indepth, visual- the author has crafted a good book here, March 13, 2008
    The Unofficial Lego Mindstorms NXT Inventors Guide

    Author: David J. Perdue
    website: http://www.davidjpredue.com ; http://www.nxtguidedavidjpredue.com
    Strengths: Very nice schematics, parts listings and visuals to highlight or the parts for the machines. Easily readable. Good for novice robot builders but also advanced users will find it helpful as well.

    Weaknesses: The book has black/white text.

    Novice/Intermediate/Advanced

    Rating: 5/5

    reviewed by Dr. Eric Flescher, Olathe, KS: (dreric1kansas@aol.com)


    Introduction

    I have been working with robot kits for many years. I started with the Fischertecknik robot turtle which I built and was able to use with the logo interface with my Apple IIE. Later on I heard about Lego Mindstorms and bought a set to use. It was tough going and after much delay because of the programming and the light issues with the brick, I was able to get legos finally working. Since then, I have worked with several kits and working with PC and Macintosh interfacing. But I was still looking for more a more helpful guides to build more interesting robots. I think I found one in The Unofficial Lego Mindstorms NXT Inventors Guide.

    This author David J. Perdue knows his stuff and Lego Mindstorms. He has been creating MINDSTORMS since 2001 and just won the NXT Camera Bot Building Challenge competition and is the author of Competitive MINDSTORMS (Apress, 2004). He has received three Special Mention awards for his creations on the official online MINDSTORMS and is a full time student, pursuing a degree in Management information Systems in Texas. So I opened the book to see what else I could find out and how I could use the book for my LegoMindstorms in the future.

    In the beginning, it was difficult to use Mindstorms. For me the kit did not work at all. Working with Macintosh was not an option. There were minimal additional information for working with the robots beyond the parts, software and initial schematics. I had to use a PC. This version works with PC (needs Windows XP or higher and will or already have shipped Vista version) or Macintosh OSX (version 103.9 and higher). It was not until later that I learned from a Legos salesman that the light in the room could be an issue. Its little things like this that kept me and possible others, from doing more with robotics.

    I was hoping that the book started with novice programmers and robot creators. This books has "novice " beginning information so this book can be used with those who are new to Lego Mindstorms or are upgrading to the NXT version. It is good to know that this advanced robotic author, is "down to earth" with his writing and when "speaking" the language of robots. I have not upgraded to the NXT version yet and so and wanted to see whether it is would be worth upgrading myself but if so how and what ways could the robots be used with this new version.

    The black and white screenshots are integrated within the instruction. The visuals are large enough to read and decipher what you need to know. The lack of color does not really hurt. I really liked the screenshots and illustrations listings of the parts for assembly. However it would have been nice if they were in color (the parts are a multitude or colors. Tables do however include numbers, piece names and the place color however. When you need more information about the parts, they are all there listed and illustrated/ photographed.

    Throughout the book, there are helpful ideas in the way of bold notes that are "peppered" throughout the tutorials. In addition, there are pointers that go along with the "balloons " which have text inside of them about related to the robot parts. Circles and arrows highlight the illustrated areas in the screenshots that the author is clearly targeting for his instructions. This makes the understanding of the parts even more explicit.

    The introduction introduces Lego Mindstorms, NXT, building , programming and starting and working with robotic projects. Here is an outline of the chapters and what is in store for you.

    Part I in entitled "Introduction to LEGO MINDSTORMS NXT". In the Chapter 1, LEGO MINDSTORMS NXT starts off with building robots, the programming of robots, activating robots and what can you do with robots and NXT. Chapter 2 is includes solid but easy to understand information about starting with the NXT robotic set.

    Part II illustrates the building with 4 chapters. There is electronic pieces, understanding the LEGO MINDSTORMS NXT pieces, the need and building sturdy structures, and working with and building with gears

    Programming section is in Part III . Chapter 7 introduction has a nice introduction to the NXT-G system. Later 3 chapters involve advanced NXT-G programming a. There is also more in the form of unofficial programming languages for the NXT.

    Part IV involves 6 robot projects and that is where your in-depth robotic education really begins. You are taught the author's Mindstorms method, and working with 6 nice in-depth but easy to understand projects.

    Appendices are good resources. Appendix A has LEGO MINDSTORMS NXT piece library. The Appendix B NXT-G has nice quick reference guide section that includes information for advanced programming to perform more intricate tasks. The author details a lot of the complexity, not only with words but also visually illustrates how to and in what ways to to complete the array of blocks, sensors and programming information. While it is not easy to learn, this section takes you "once step at a time". Appendix C informs with other internet resources.

    Conclusions

    I recommend this book highly for its in-depth tutorials, the visual schematics and the quality of the reading that makes the information well understood. No one said building robots was easy but with this book, you will learn and go further than you thought you could achieve. What I like about this book and the way the author has crafted this book is that he actually invited you to build robots in a none intimidating way. The in-depth information, the visual assemblies and tables, and the easy to read information along with the tutorials will allow you not only start but develop your skills in robot building. You will learn to be creative but at the same learning the logic of the machines and how to build robotics. I know there are many books that teach Lego Mindstorms out there but I am glad I chose this one first.










    5-0 out of 5 stars Fantastic resource for NXT owners, November 29, 2007
    This book is excellent both for beginners and for more experienced Lego enthusiasts. Most of the book is written in step by step instructions that are beautifully illustrated with informative graphics. These images blend both the Lego modeling aspect of building robots and the visual programming side.

    The best part of the book is in the robot recipes which is in the second half. There are six different models to choose from and you can use these easily as a base for more complex designs that suit your needs.

    For more experienced readers the book covers different ways of hacking the NXT set. There is information on different compilers that you can use to program your creation. As well as a fantastic resources section at the end which is sure to satisfy your craving for more ways to use your NXT system.

    This text is well written. The coverage is in-depth but provides a reasonable learning curve. I highly recommend this book.

    5-0 out of 5 stars Fun, helpful, informative for beginner and intermediate, November 11, 2008
    I've had NXT for about 10 months and have three other books. I wish I had know about this first. My strong point is programming, my weak point is gearing and this is the only book that really shows how to build gear trains. I love rover bots and have designed many but he has several fresh takes on the genre. His ball caster is much more elegant than mine and his bumper is quite sturdy. (My method of picking a random angle for a turn is better than his though: random block set for 0 to 6 wired to a switch block with 7 conditions, the equivalent of 45,90,135 degrees left and right and 180. save the whole thing as a myblock to use with all your rovers.)
    I highly recommend this book if you are starting out or if you want to get some new ideas for rovers.

    5-0 out of 5 stars I LEGO!!, November 10, 2007
    Do you have any familiarity with LEGO or MINDSTORMS? If you do, then this book is for you. Author David J. Perdue, has done an outstanding job of writing a book that offers advanced material to challenge skilled MINDSTORMS users.

    Perdue, begins with an introduction to the NXT set. Then, the author guides you through the process of setting up your NXT set. Next, he examines vital pieces and their role in a robot. The author also examines the pieces in the NXT set as a whole. He continues by demonstrating essential techniques for building robust structures with beams from the NXT set. Then, the author discusses how to effectively employ gears in your NXT creations. Next, he introduces you to NXT-G--the official programming language. The author continues by covering advanced NXT-G features, including: data wires, the Complete palette, and the Custom palette. Then, he takes a brief look at the following unofficial languages that MINDSTORMS users have developed for the NXT: NBC, NXC, leJOS NXJ and RobotC. Finally, the author presents the MINDSTORMS method: A simple but powerful strategy that guides you from the beginning of a NXT project to its completion.

    This most excellent book can serve as a helpful reference for all readers. It helps you to more effectively and creatively use the NXT set.

    5-0 out of 5 stars ...And also a Great Book for Beginners, November 13, 2007
    There are two strong suits to this book:

    1) It devotes over one hundred pages to NXT-G programming. (NXT-G is the programming language that comes with the retail NXT kit).

    2) The step-by-step building instructions for the robots are clear and easy-to-follow. While the instructions are not in color, they appear to be made using MEGA-POV, a program which produces sharp, black-and-white illustrations.

    5-0 out of 5 stars Fantastic manual to the Mindstorms NXT, April 24, 2008
    I'm a coach of a FIRST LEGO League team and I bought this book to help my son "get to the next level." I am making this book mandatory for every team member next season! It is informative, yet easy to read. It covers all the bases from good robot design to programming explanations. I can't recommend it enough!

    5-0 out of 5 stars An excellent LEGO MINDSTORMS book for both beginners and advanced builders alike, October 16, 2008
    These are my first impressions on David Purdue's book, I will follow up later when I finish reading it. So far what I can say is that it differs from other No Starch Press books in many ways. For starters, the quality of the images (in grayscale) is very much improved. I found no difficulty following the building instructions which David managed to keep simple and well commented. I would not say it is as if they were in color, but it is close enough. In other No Starch books I really did have problems in that area, and had it not been for the help and support of the authors themselves and the community, I could not have finished some projects.

    Secondly this is a highly educative book. It starts from the very basics and goes to some very advanced topics. My son and I regard ourselves as experienced Lego builders, having built dozens of robots. Well, what a surprise we were in for. In the first few pages when David starts to "dissect" and classify every single part of the Mindstorms kit, we were already learning some details it would have been impossible to find out otherwise. This book has a meticulous attention to detail for which the author must be commended. It merits careful reading because you find bits of useful info in every page.

    I am eager to reach the programming section in which I hope to improve my NXT-G skills considerably.

    As to the robots themselves, they are in line with the purpose of the book, which is educational. You learn something by building them.

    I truly recommend this book and especially as a first book if you plan to build Lego Mindstorms robots for quite some time.

    5-0 out of 5 stars Great for kids and adults!, April 6, 2008
    This is a great beginner/intermediate level book for both kids and adults. The building section is excellent at explaining HOW to use the technic pieces. The programming section is a very good primer for those new to the NXT-G programming environment and language. It sets you up well for the building & programming projects found later in the book. As a middle school teacher running a robotics club, I set some of my more advanced 6th graders to work on whatever project they wanted to from the book. They jumped into taking on the guard-bot and the golf-bot which are the more advanced projects. With little guidance from me, they were very successful and had a blast. That shows how well written and designed the book is!

    4-0 out of 5 stars Systematic and inspiring, December 2, 2007
    The neat thing about this book is that it incorporates a number of practical, essential things you need to know. But it does this without making the task of building robots feel intimidating. In other words, its a book that makes you want to get off your chair and start building Lego inventions. ... Read more


    14. A Theory of Fun for Game Design
    by Raph Koster
    Paperback
    list price: $22.99 -- our price: $14.21
    (price subject to change: see help)
    Isbn: 1932111972
    Publisher: Paraglyph Press
    Sales Rank: 10825
    Average Customer Review: 3.9 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    Authored by Raph Koster, Chief Creative Officer of Sony Online Entertainment, this brilliantly illustrated book is a storyboard filled with inspirational ideas for all designers.As Will Wright (co-creator of SimCity 2000 and SimCopter) states in his foreword, "Raph forages across wide intellectual landscapes and then returns to share what he’s discovered with the rest of us…. He has filtered out a treasure trove of useful and relevant nuggets from a career’s worth of his own research."

    A Theory of Fun for Game Design features a novel way of showing interactive designers how to improve their designs to incorporate the highest degree of fun.This book will truly inspire and challenge game designers, as well as artists and designers from all segments of the industry.The unique format of A Theory of Fun, with engaging text and thought-provoking illustrations, will ensure that this book becomes a classic text for designers.Already endorsed by major players in the gaming world – such as BoingBoing, Noah Falstein, and Henry Jenkins of MIT – A Theory of Fun covers such essential topics as:

    • Why some games are fun and others boring• Why making a game too hard—or too easy—is a mistake• Why games have to balance deprivation and overload, order and chaos, silence and noise• The difference between designing content and creating an experience• Why both adults and children like to play games• How playing a game and learning are connected• The ethics of entertainment ... Read more

    Reviews

    4-0 out of 5 stars A Good Book For Both Gamers and Non-Gamers, January 20, 2005
    Raph Koster's _A Theory of Fun for Game Design_ is certainly a book worthy of a place on any game designer's shelf. For those who attended the original lecture that spawned the book, there isn't a whole lot that is new, but it's great to have it in book form. For those who did not, the book can be quite revealing, particularly for those who have struggled to adequately define just what games and game design is all about.

    Perhaps more importantly, though, is that Raph has written a light, frequently humorous, and sometimes touching book that should make a great gift to those of us who have parents or spouses who DON'T understand why we're wasting all of our time with games. Rather than try to explain it to them, you can simply hand them this book, and they can come to appreciate the scope and depth of the subject without being overwhelmed.

    And at times the book is quite poignant on a human level. You can see Raph's genuine pride and love for his children nearly pour off the page when he talks about them, and his mention of his grandfather passing away while he was at GDC is particularly touching to me since my own father died while I was at GDC in 2000.

    The book can essentially be read in two ways. The first, simply by reading all the illustrations in sequence, is great fun all by itself. Nearly every drawing does its job in illustrating the point it tries to make, and quite a few have charming little extra details that a gamer will readily appreciate.

    The second, and perhaps more proper way, is to read the text and the illustrations together. (I suppose one could also read the text by itself, but where's the fun in that?) To summarize very crudely, the book makes the following assertions:

    1. The human mind enjoys processing information from the world around it into patterns, procedures, schema, etc. that it can later apply with less thought in identical or similar situations.

    2. Games primarily feature a core pattern(s) and mechanic(s) which players learn via playing the game. This is fun for the mind.

    3. If the pattern is too hard to discern, or the mechanic of learning the pattern too difficult, players get frustrated and stop playing. On the other hand, if players understand the pattern and master the mechanic too easily, they'll quickly become bored and stop playing. There are other issues as well (relevancy, matching expectations, presentation, etc.) that come into play.

    4. Most games have traditionally taught very basic life skills. As children become adults, they've learned these skills, these patterns, and no longer play games since they are now out in the real world playing "for real".

    5. Many of these skills, while useful when we were a primative people, are becoming less relevant, and even dangerous, in a modern society, where change is increasingly more and more rapid.

    6. Game designers need to broaden their game designs, not only to encompass a larger range of patterns/skills/mechanics/lessons, but also ones which are relevant and helpful to modern society.

    7. Game designers have an ETHICAL DUTY to do so.

    (I've skipped over many other points of the book, which although unfair and regrettable, is necessary for the sake of length.)

    Now, enough of the praise, on with a few (minor) criticisms.

    I found the book paradoxically both too long and too short. The layout of the work is to fill (nearly) every right hand page with an illustration, with the text on the left hand page. This is great, because their are so many illustrations, but it means that the text on the left of many of the pages is often quite limited: 2 - 5 paragraphs, and usually short ones at that. However, I am not saying that there should have been more text; often it conveys just the right depth and meaning for the particular point it is trying to make on that page. But at times it does get a bit distracting; you get the feeling that these pages are only there because there are so many illustrations.

    Yet at the same time, I felt the text sometimes got too repetitive, and should have gone deeper. But the problem is you couldn't really dwell on one thing too deeply, because it was on to the next page and on to the next point (and the next illustration). Really, the format constrains the book to a particular level, and I think part of this also comes from the fact that the book was largely original a presentation, where it is quite common for points to be made simply, and repeatedly, without a lot of additional exposition. And I think if you accept the book in that context, you won't be disappointed.

    One point that I thought the book did not give enough attention to was the element of chance in games. Nearly every game features the element of random chance, yet the book explores this mechanic very little in relation to other core game mechanics. When it does -- all of 2 paragraphs on page 56 -- it's almost dismissive of it as little more than a way to teach people about odds.

    I would contend there's a lot more to it than that. Introducing a random element into a game helps enhance the learning experience by prolonging the appeal of the game. Consider a game mechanic which, if mastered, allows a player to win 100% of the time. If the game is fairly deterministic, then once they've learned this mechanic, they'll quickly become bored with the game. Now, consider what happens when you add the element of chance. The player, even if they've mastered the mechanic, can still lose. This forces them to re-evaluate their mechanic -- do they REALLY have the best one, or were they mistaken? What additional patterns can they learn to help eliminate the effect of chance? Does this teach us that in life, even the best laid plans can fail due to unknown and unpredictable factors? And so on.

    I would also add that the addition of chance helps ameliorate the problem of players playing the same game at different skill levels -- the inferior player still has a chance to win, even if it is by luck, but by winning is encouraged to keep playing the game and, perhaps, learning what the superior player already knows.

    The other point of the book that I take issue with is at the end, where there is a rather sudden appeal to a variation Pascal's Wager. This forms the basis of an appeal to ethical game design. I find the whole insertion rather jarring, partly because I feel Pascal's Wager is thoroughly debunked (particular when you consider the wager fails to mention any costs relating to belief), and partly because it doesn't seem to make much of a difference. If game's don't matter, than it doesn't matter if a game explores a particular behavior that is "bad". On the other hand, if game's do matter, then surely it is important to have games that explore such mechanics as a way of learning about ourselves, just as more "ethical" games may explore other mechanics. As Sister Wendy admitted, Serrano's _Christ in Urine_ was still valid art; it just wasn't particularly good (in the non-moral sense) art.

    I also think it is difficult to expect games to illuminate the human condition and teach lessons at the same level as other forms as art for precisely the reasons cited earlier in the book. Games are about a core mechanic/pattern that is learned, and the very nature of gaming compells one to look past the story and other contextual trappings to focus on the central gameplay. Consider the moral of _Moby Dick_, which is about the dangers of letting one's obsession overtake them, or the destructiveness of the desire for revenge to others around you, or perhaps, according to some interpretations, the futility and hubris of denying God and trying to confront evil itself on one's own. But a game _Moby Dick_, even if it contained such themes, would ultimately teach you instead about optimal strategies for hunting whales, or perhaps a formula for determing the true costs of obsession in lives lost. And neither of which may be models that realistically describe reality, which calls into question their ultimate utility beyond the scope of the game itself.

    But despite these lengthy criticisms, I can certainly recommend this book. As I said before, I think it's particularly useful as a gift to non-gamers who want to know more about what we do and why we do it.

    Bruce

    4-0 out of 5 stars An excellent book with a misleading title, June 25, 2005
    While there is plenty of valuable content to be found in this book, the title is a bit misleading as it relates to the nature of the content.

    Early on, the adjective "fun" is defined to basically mean "educational". This definition makes sense in the context in which it's presented, but it vastly changes the meaning of the title of the book. The reader who takes the title to mean "theory regarding the design of games to be generally more entertaining" will most likely be disappointed to find that the author's apparent intended meaning was, "theory regarding the basic cultural value of games and their potential for greater social/educational achievement".

    The primary focus of the book is on examining and understanding the social and cultural role that games play, and the intrinsic value that they hold in that role. There is also commentary on the nature of art (in the sense of "high art" or "fine art"), and how games could be refined to further ascend to the levels of sophistication found in other media.

    All of the material is very insightful, uniquely assembled, and both fun and informative to read. Unfortunately, in all the theory it covers, it doesn't touch on the topic of actually designing games that are fun to play in the traditional sense of the word "fun".

    Ostensibly, the concept behind this is that understanding the underlying social and educational aspects of games will lead to the creation of games that are fun in the more traditional sense of the word (based on the notion that the two definitions are just different descriptions of the same idea). Regardless of its worth, the approach is significantly different from what one might expect from reading the title and the back of the book.

    4-0 out of 5 stars A Philosophy for Game Design, September 14, 2005
    I purchased the book mainly as a learning tool for designing boardgames.

    The author's journey starts by trying to convince his get-a-real-job grandfather (and perhaps himself) that a career in game design is of significance. In doing so the author winds down a *philosophical* road describing how game design can mature into an artform just as other mediums have. His arguments are well thought, intriguing, and convincing. Raph will enlighten novice game designers and deeply plant some ideas that will surely influence the growing field of game design.

    Among his most influential ideas, the author suggests that games should seek to allow people to explore game mechanics that reflect tiny aspects life as to allow real-world lessons to be learned. He suggests that game designs should *not* have preconceived destinations aimed at supporting the designer's personal truths, but that the game should allow its participants to openly experiment and discover their own truths. Very powerful stuff!

    My harshest criticism is that the book seemed "puffed up" like a term paper where a procrastinator (in attempt to fill the required number of pages) quadrupled the line spacing, fatten the margins, and increased the fonts. The author provided hand-drawn pictures on every odd-numbered page. Some pictures were useful, but many seem forced and in trying to properly pair the text with the related pictures, lots of content pages are predominantly white space.

    My preference would have been to reduce the size of the book by favoring the content much more heavily than the pictures and by doing away with the excessive white space; the book could easily have been half its size.

    Despite the criticism the book offered good insight and was a fair value having purchased it on modest discount.

    4-0 out of 5 stars A Theory of Fun review, December 28, 2004
    Though not apparent at first -- the book flows quite nicely -- the book is divided into two parts. The first half details why we play games, which is ultimately "to learn," and this can be helpful to anyone designing any kind of game; video game, card game, table-top RPG, or board game. The second part seems a bit of a soap box at first, as Koster supports games as "art." But as the book continues, you see parallels between games and other media. You can understand why an artistic expression is more memorable than a fluff piece; it's the difference between the comics "Dark Knight Returns" and "Just Married Issue #4," or Mozart's "Requiem" versus Brittney Spears' "Toxic," or of course the PC game "Ultima IV" versus "E.T." for the Atari 2600.

    This book not only is an entertaining read, but also presents a vocabulary of valuable tools for game developers across all media. So many books are written these days on the techniques of designing games. But without understanding *why* we play games, all that technique is meaningless.

    4-0 out of 5 stars Koster's Pitch for Gaming Theory, July 14, 2006
    Koster's argument for serious critical approach to gaming is taut and well-thought. He acknowledges gaming to be "fun," while at the same time clearly states why games aren't elevated to artistic status in culture, despite their status in the entertainment marketplace - more economically lucrative than cinema. Until gaming attains the ability to create play that reflects the human condition, like cinema, it will not be classified or regarded as artisitic expression. If I had one criticism of the book, it is a lack of commentary on the economics of the gaming industry, but alas, Koster is a game developer, not a publisher, so this omission is understandable and does not take away from the book's value. I recommend this book for anyone desiring a short theoretical overview of gaming, and historical context. It's laconic, well-written, and offers nice illustrations done by Koster himself.

    2-0 out of 5 stars Not much "theory" in A Theory of Fun., August 16, 2005
    I find Koster's book to be a bit disappointing. Despite the title, A Theory of Fun, the book tends to be more about Ralph's personal opinions on music, his own perspectives, his family, and his own life, than about fun. Perhaps of 4 or 5 pages were of particular use to me, in my quest to define "fun" for game development.

    Koster asserts his personal opinions about the definition and role of art, media, and gender as fact, when there is actually great controversy about these questions. To make things worse, all the right-sided pages of Koster's books contain his own baffling, amateurishly drawn illustrations which are supposed to illustrate his points in an amusing way. These illustrations are absolutely horrible and look like they were drawn by unskilled children..

    Because one half of the book consists of these cartoons, I feel it is important to express another unpleasantry of Ralph's cartoons. Most of the drawings smack of a 1960's attitude about females-- angry wives threating their gaming husbands, all wearing dresses, often complaining about the gaming habits of the men in their lives. At moments it reminded me of The Lockhorns.

    The illustrations are often baffling and confusing, to the point that they made reading the book quite difficult-- so much that I wished I could somehow hide them or tear them out.

    One half the book, consists of these terrible illustrations. Minus the drawings, this book would make a decent $8 pocket book, good for a quick read but absolutely unworth of the title "theory of fun."

    In sum, the book contained too much of Ralph Koster's own personal opinions, his cruddy cartoons, too much information about his own life and family, and not nearly enough information about implementing fun in videogame design.

    There is simply not enough "theory" in "theory of fun." Frankly, I do not understand why it is getting such rave reviews.

    5-0 out of 5 stars Fun in the Sun - Raph Koster sheds new light on games!, February 15, 2005
    A Theory of Fun is a title long awaited. Raph Koster takes an incredibly complicated and seemingly arcane subject and demystifies the magic with lucid insight and laser sharp deconstruction...and it's all done in a wonderfully playful way! I found myself both laughing and saying "aha!" simultaneously at both the insight and humor.

    Koster's creative talents are clearly demonstrated in the book's unique format - a design mirroring a Left Brain / Right Brain construct, where the left side of each page is packed full of information on games, how we learn, and cognitive functions, while the right side contains fun drawings with a light and moving theme that enhances the left, while striking out on its own, almost like a counter point melody to the book's grand symphony. It really is almost two books in one! Yet even the light and funny elements carry wonderfully heavy insight into what games teach us and why.

    A Theory of Fun is highly recommended for anyone working in entertainment today - from game designers, to producers, to the film industry, to people working in any creative endeavor, and people who think they don't have a creative bone in their bodies. (They'll soon discover they have a whole skeleton of fun in their proverbial closet after reading this book!)

    Koster's book clearly demonstrates that `Fun Is As Fun Does' while exposing the method to the madness in gaming. A Theory of Fun is a must read for anyone who wants to understand why games are so pervasive today, as it sheds new light into why fun matters in this world, and how `play' makes us truly human.

    1-0 out of 5 stars Self-Indulgent Rambling, Plus Annoying Cartoons, June 12, 2006
    Here is an actual sentence from page 104 of "A Theory Of Fun:"

    "It is...clear that different people bring different experiences to the table that leave them with differing levels of ability in solving given types of problems."

    This particular sentence is representative of the author's "theory": it's both a) obfuscatorily verbose, and b) so entirely self-evident (i.e, every individual approaches a given situation differently) that you might feel a bit ripped-off that you actually paid money to have someone tell you that. (In case it isn't clear enough, though, the author includes a little cartoon on every facing page to illustrate.) The parts of the book that actually purport to deal with game design are all along this line: retardedly simple "ideas" presented at drawn-out length in patronizing, management-consultant language.

    However, it gets worse: large swaths of "A Theory Of Fun" are devoted to the author's windy pronouncements on "art" and "ethics." I can't even begin to describe these parts except to offer another excerpt (from page 174):

    "There is a crucial difference between games portraying the human condition and the human condition merely existing within games. The latter is interesting in an academic sense, but it is unsurprising. The human condition manifests anywhere."

    Huh? Try as I might, I have no idea at all what those three sentences are supposed to mean, either in the context of game design or any other context.

    To conclude, if you're interested in reading this, hunt down a copy at the library or borrow it before you drop any cash on it.

    4-0 out of 5 stars Enjoyable and thought-provocing, but brief, December 27, 2006
    I had played some of the games that Raph Koster had woked on, so this book caught my eye. It is kind of an unusual book. It certainly in no way resembles a "classroom text" sort of book on game making or game design. Instead it is more of a somewhat rambling discussion of "fun" with regards to computer and video games.

    The author talks a lot about things like trying to nail down what this "fun" sensation actually is, and why we find certain things either fun and other things not so fun. He breaks down what sorts of attributes a game should have in order for it to at least have a chance of being found fun. He also touches on some related topics briefly like gender and age differences, and the sustainability of games. Then there is a small discussion about ethics and some random ideas about the future of gaming.

    The book is definitely brief, weighing in at underr 250 pages. The pages have fairly large print and every other page is filled with a full-page illustration. But at this price, it is still a fairly good value. The illustrations are generally quite good and add a lot to the enjoyment of reading this book.

    I really enjoyed this book. It got me thinking about my gaming projects in a bit of a different way, and I've now got a bunch of new ideas floating around inside my head that hopefully will find there way into some interesting, and yes, "fun", games. I definitely recommend this book for game developers that strive to do more than make rehashes of yesterdays games.

    4-0 out of 5 stars Craves respectability, December 16, 2004
    The cover is a cartoon. And inside, so too is every second page. Yet Koster is quite serious. He tries to describe why a computer game is enjoyable. Or at least what makes the successful ones so. En route, he gives an informal synopsis and taxonomy of the games that have appeared since the 1970s. The seminal Space Invaders, Pac Man, Defender, Tempest and others from your mis-spend youth. (Well, mine anyway.)

    Ambitiously, he tries to put games into a broader context. Comparing them to other communications media, like music, books and movies. He craves intellectual respectability for games, on a par with those activities, for which academic analysis is now commonplace, Though it certainly was not so for movies, during their first decades. Koster suggests that with now over 20 years of gaming, it is likewise time for games to be regarded seriously. ... Read more


    15. MCITP Self-Paced Training Kit (Exams 70-640, 70-642, 70-643, 70-647): Windows Server® 2008 Enterprise Administrator Core Requirements
    by Dan Holme, Nelson Ruest, Danielle Ruest, Tony Northrup, J.C. Mackin, Anil Desai, Orin Thomas, John Policelli, Ian McLean, P. Mancuso, D.R. Miller
    Paperback
    list price: $229.99 -- our price: $141.41
    (price subject to change: see help)
    Isbn: 0735625727
    Publisher: Microsoft Press
    Sales Rank: 12964
    Average Customer Review: 4.0 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    Your all-in-one kit for the skills measured by the core exams for Microsoft Certified IT Professional: Enterprise Administrator certification and on the job. Covering Exams 70-640, 70-642, 70-643, and 70-647, these four official Microsoft® study guides provide in-depth exam prep plus practice tests to help maximize your performance.

    This kit comes packed with the tools and features that exam candidates want most including self-paced training based on final exam content; rigorous, objective-by-objective review; exam tips from expert, exam-certified authors; and customizable testing options. It also provides labs and exercises for skills and expertise you can apply to the job.

    Focusing on Windows Server 2008 enterprise administration, topics include configuring, managing, and supporting user accounts, computer accounts, groups, Domain Name System (DNS) zones and client settings, group policy objects, Active Directory Lightweight Directory Service, and Active Directory Rights Management Service; configuring remote access, Network Access Protection, Network Authentication, IPv4 and IPv6 addressing, and DNS Replication; working with Terminal Services, Web services infrastructure and security, Media Server, Windows SharePoint® Services server options, File Server, Print Services, network maintenance, and Simple Network Management Protocol; planning networks and application services; designing core identity and access management components; implementing PKI; and designing virtualization strategy.

    You ll work at your own pace through the lessons and hands-on exercises. Then assess yourself by using more than 1200 practice and review questions on the CD, which features multiple, customizable testing options. Choose timed or untimed testing mode, generate random tests, or focus on discrete objectives or chapters. You get detailed explanations for right and wrong answers including pointers back to the book for further study. You also get an evaluation version of Windows Server 2008 Enterprise Edition and an exam discount voucher making this kit an exceptional value and a great career investment.

    Key Book Benefits

     Excellent value: Four official Microsoft study guides covering the core requirements for MCITP: Enterprise Administrator certification all in one box  In-depth coverage of exam objectives and sub-objectives plus instructive case studies and troubleshooting scenarios to enhance your performance on the job  1200+ practice and review questions  Test engine that enables customized testing, pre-assessment and post-assessment, and automated scoring and feedback  Handy exam-mapping grid  Evaluation version of Windows Server 2008 Enterprise Edition  15 percent exam discount voucher from Microsoft (limited-time offer)  All four study guides in searchable eBook format ... Read more

    Reviews

    4-0 out of 5 stars If you've made it this far, you probably know what to expect from an MS Press book, August 18, 2008
    If you've used MS Press before, you will experience more of the same in this book. I read the book, used the practice tests, and bought the Self-Test software. I snuck by with a 752 to earn my Enterprise Administrator. The book (and test) focuses on design, and gives you some very nice real-world advice on how to design complex Microsoft-based Networks. It even gives you some managerial advice, which actually gives you a nice sense of pride as you read the book and know what a great certification you're about to earn.

    There's no magic to taking MS Exams - my formula for every exam in the Enterprise Admin track was:

    1. Read a book. Don't stress over nailing every concept. I used the MS Press books. Just read it leisurely to learn.
    2. Go through the practice test CD in the book. Be able to score 80% consistently.
    3. Buy a second practice test (I like Self-Test). Be able to score 80% consistently.

    For the practice tests, focus on the incorrect answers as much as the correct answers. Know WHY an answer is right/wrong. I don't even use the real cert mode on the tests, I just use the practice mode and learn why the answer is what it is.

    Good luck! You'll like the book if you've made it this far.

    4-0 out of 5 stars MCITP training kit, November 6, 2008
    Great study guide and resource!
    In many cases, a Self-Paced study guide is mainly useful for preparing for the test and once you have passed the test, the book becomes a dust collector. This is not case with this book. The authors have done a fantastic job of not only covering the exam objectives, but have also written a book you will find very useful as a reference source and for providing real-world guidance as well.

    Many IT books are written by individuals who are obviously subject matter experts, but write in such a convoluted fashion that it is difficult if not tedious to read their book. The authors, in this case, have written an easy to read and follow book. They have done a superlative job of presenting complex subjects in an easy to read manner (try talking about NAP to someone that makes it sound REALLY exciting!).

    The book is logically broken down to cover all of the exam objectives - in fact a reference chart is included which breaks each chapter and lesson down according to the relevant exam objective. Each chapter gives numerous real-world examples to emphasize the points covered as well as detailed exercises to reinforce the concepts presented. The authors also include numerous references to Microsoft Best Practices - a nice touch that will prove beneficial to many.

    All in all - I would highly recommend this book - not only as a study guide for the 70-647 test, but also as a reference source and even a best practices guide.

    4-0 out of 5 stars 70-643 Gotcha, November 19, 2010
    This book has a lot of detail and makes a great reference for any of the topics covered. It gives you very detailed instructions. That being said, it makes for a horrible study guide for the 70-647 Exam, which was my intended use. It goes way deeper than necessary to cover the exam topics and is hard to get through more than 10 pages at a time. For Microsoft Exams, I usually study the Exam Cram book(s) as my primary, coupled with the MS Training Kit, and some sort of practice test software... I have had good luck with this combo. For whatever reason, it seems that Exam Cram decided not to write a book for Exam 70-647... this book is a poor substitute for Exam Cram for sure! ... Read more


    16. R in a Nutshell: A Desktop Quick Reference
    by Joseph Adler
    Paperback
    list price: $49.99 -- our price: $38.29
    (price subject to change: see help)
    Isbn: 059680170X
    Publisher: O'Reilly Media
    Sales Rank: 15576
    Average Customer Review: 4.5 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    What people are saying about R in a Nutshell

    "I am excited about this book. R in a Nutshell is a great introduction to R, as well as a comprehensive reference for using R in data analytics and visualization. Adler provides 'real world' examples, practical advice, and scripts, making it accessible to anyone working with data, not just professional statisticians."

    --Martin Schultz, Arthur K. Watson Professor of Computer Science, Yale University

    "R in a Nutshell is an ideal book for getting started with R. Newcomers will find the fundamentals for performing statistical analysis and graphics, all illustrated with practical examples. This book is an invaluable reference for anyone who wants to learn what R is and what is can do, even for longtime R users looking for new tips and tricks."

    --David M. Smith, Editor of the "Revolutions" blog at REvolution Computing

    Why learn R? Because it's rapidly becoming the standard for developing statistical software. R in a Nutshell provides a quick and practical way to learn this increasingly popular open source language and environment. You'll not only learn how to program in R, but also how to find the right user-contributed R packages for statistical modeling, visualization, and bioinformatics.

    The author introduces you to the R environment, including the R graphical user interface and console, and takes you through the fundamentals of the object-oriented R language. Then, through a variety of practical examples from medicine, business, and sports, you'll learn how you can use this remarkable tool to solve your own data analysis problems.

    • Understand the basics of the language, including the nature of R objects
    • Learn how to write R functions and build your own packages
    • Work with data through visualization, statistical analysis, and other methods
    • Explore the wealth of packages contributed by the R community
    • Become familiar with the lattice graphics package for high-level data visualization
    • Learn about bioinformatics packages provided by Bioconductor
    ... Read more

    Reviews

    5-0 out of 5 stars Useful and surprisingly engaging, January 14, 2010
    Back in school, I was introduced to using SPSS for use in statistical analysis. While I liked SPSS, it was too expensive for me to procure a copy for my own personal use. A friend suggested that I try R. I was a little nervous about R, because being more enthusiastic about than talented with mathematics, and I was most comfortable with a point and click program. So, before I began, I bought "R in a Nutshell" to learn more. I'm glad that I did.

    Adler's book begins with a basic tutorial for R and an introduction to R language. It explains how to use R to draw graphs, statistical analysis and even some bio stuff. All I needed to do was to load in my data, draw a couple charts and compute some t tests and chi-squared statistics.

    The book was great, multi-faceted as a teaching tool, and - unexpectedly (and atypically for such works) - entertaining to read. I'm looking forward to using R next time I need to fit a regression model, or do factor analysis. The rare mathematics tutorial that will engage academics, financial traders and baseball stat wonks alike. Nice job.

    5-0 out of 5 stars Gateway into the world of R, April 14, 2010
    'R in a Nutshell' is the essential introductory book on R. Do not try to learn R without it.

    I made two attempts to learn R before purchasing this book. In both previous attempts, I had to abort and use another tool to solve my problem because it was taking me too long to accomplish very simple things in R.

    The reason R is hard to learn is that its documentation is organized for statisticians that already know R, but have forgotten a detail or two. There are a few other books on learning R, but they are setup like a college course - complete the entire book and THEN you can actually accomplish something.

    R in a Nutshell allows you to get working immediately. Simply lookup what you need to do. The firsts thing I did was load a file and make a histogram. I found that stuff in the section on "Loading Data" and the section on charts. In no time I was making stacked area charts for cohorts. Now R is an essential tool for me - and I haven't even taken the time to learn it well! With this book, I don't have to. I can learn as I go. So I actually use R.

    Do not R without it.

    5-0 out of 5 stars Excellent resource for a language with a steep learning curve!, April 14, 2010
    While R, the free statistical computing and graphics software environment and language, is quickly becoming ubiquitous in both academia and the corporate world, many new (especially non-academic) users find its learning curve prohibitively steep. To make matters worse, most documentation is written by and for academic statisticians already relatively familiar with the software, and R's syntax is quite different from most conventional programming languages.

    Thanks to Joseph Adler's book, there's finally a comprehensive and definitive resource for the rest of us. The book is divided into five sections: Basics gives you all you need to get up and running; The R Language delves into the details of the language itself; Working with Data addresses such topics as loading, transforming, summarizing, and plotting data; Statistics with R covers statistical tests and modeling; and an Appendix describes the many functions and data sets included with the R base distribution.

    R in a Nutshell touches on all of the major R use cases and subject areas, including lattice graphics, regressions, tests of statistical significance, classification, machine learning, time series analysis, and bioinformatic applications.

    The book's prose is exceptionally clear, readable, and to-the-point. Each function or feature is presented with a full list of arguments and options, and generously illustrated with numerous examples of code, plots, and graphics. As one expects from the best O'Reilly books, there's hardly a page without code snippets and illustrations.

    Personally, one of the sections I've found most useful in my daily use of R is the section on data transformation. R's data structures and how to coerce them into forms appropriate for certain types of analysis have been among my top R-related stumbling blocks. R in a Nutshell has taught me techniques I would never have known existed, and has saved me from writing countless lines of code in attempts to reproduce native but non-obvious functionality.

    If you need to use R often, this is a book that will quickly become thoroughly bookmarked, and a permanent fixture on your desk.

    3-0 out of 5 stars in purgatory between tutorial and reference, June 4, 2010
    I've just gotten the book, my first resource for learning R, and I find it moderately helpful but in some ways frustrating. O'Reilly's books usually take the form of either a progressive set of lessons in a language (like the famous "Learning Perl") or as an easily navigable reference book (like "Java in a Nutshell"). This book places itself somewhere in the middle. It begins with a fairly limited tutorial that covers basics of the scripting language but doesn't get into what a researcher would really use R for: importing data and running an analysis. This is complemented by a glossary of functions, but it contains little detail (not even the function's required arguments are listed) and they are not in anything like alphabetical order, instead grouped by the several "packages" that contain them. I went looking for the "standard deviation" function and there was no easy way to find it in the glossary, nor was the book's index any help -- it indexes the chapters but not the language reference.

    Given the relative dearth of books available, this may or may not be the best introduction to the language available, but it leaves me wanting two better books: one for learning more about R, and one for a better reference.

    4-0 out of 5 stars Useful Guide To R, July 15, 2010
    "R in a Nutshell" is broken into four main parts. The author begins by going over the the basics, including how to set up the R environment. There's also a brief tutorial about the workings of the language. As you progress through the book, it provides a more detailed overview of the language, discussion of how to work with data, and an explanation of how R handles statistical modeling.

    This is both a tutorial and a reference, which can sometimes be awkward in programming books. However, in this case it works much better than for most. R is a relatively specialized language that most people won't be using for general purpose programming. While there are some people who use it all the time, more of its users probably keep it in their toolkit as a great way to handle very specific projects. In that situation, having all the information about how the use the language in one book makes a lot of sense.

    The one thing that you really need to keep in mind is that this book teaches you to use the programming language to do statistics, but it's not intended to teach the statistics as well. It gives a brief overview of concepts, but if you have no background in the field and you're going to need more than that you'll need a separate reference book on that.

    I received an electronic copy of the book from O'Reilly media (the publisher). I haven't yet run into a situation where my programming needs called for R, but this is definitely the reference that I'm planning to go back to when that day comes. If you're looking for a general book on programming, this is far too specialized to be very useful to you. If you need to handle a lot of processing of statistics, it'll be worth your while.

    3-0 out of 5 stars limited utility as a reference, August 25, 2010
    The problem may be that I am getting old, but as an experienced matlab, maple, fortran, C++, pascal, and java programmer who needs to learn R in a very short time, this book has been of limited value. I've used the " in a Nutshell" books before, but this one just does not work for me. I've found a couple university course websites and the books and supplementary web materials by Crawley, Dalgaard, and Bolker to be more useful.

    For this review-- my point of view is that of a person who wants to learn R as a programming language-- not someone who wants to just learn how to use R for statistical analysis. I am concurrently using multiple programming languages for different projects and need references that offer good examples and have excellent indices.

    4-0 out of 5 stars Helpful reference book to have, September 25, 2010
    This is a good book to have around if you're just learning to use R or you are trying to do some things in R that are a little beyond your abilities. It's better than just google searching how to do things in R since there are good explanations of various aspects such as plots, packages, etc. The tutorial early in the book helped get me comfortable using the software.

    5-0 out of 5 stars Worth the price for the tutorial alone, May 24, 2010
    As other reviewers have noted, the introductory material for R can be somewhat opaque. I've read tutorials and books on R, and still feel as though I don't have much of a grasp on how the language actually works. This book starts with a tutorial that sets out the basics of the language, its data-model, and how that data-model is reflected in syntax in a way that makes the use of R clear, and does so in a way that is far more effective than any other tutorial I've seen. The following chapters on the language itself are written in a way that draws you through them.

    Finally, I have a sense of how the language works, and how I can make it work for me.

    Beyond that, the book has an extensive description of the language itself, descriptions of the Graph and Lattice Graph models of interaction and presentation, and sections on preparing data, common statistical manipulations, and more.

    For me, most Nutshell books sit within reach of my workstation, to be pulled down to read about a particular language feature. This book I find myself browsing and grazing. ... Read more


    17. Code: The Hidden Language of Computer Hardware and Software
    by Charles Petzold
    Paperback
    list price: $17.99 -- our price: $10.90
    (price subject to change: see help)
    Isbn: 0735611319
    Publisher: Microsoft Press
    Sales Rank: 14830
    Average Customer Review: 4.7 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new ways to communicate with each other. And through CODE, we see how this ingenuity-and our very human compulsion to communicate-have driven the technological innovations of the past two centuries. Now in paperback edition, this critically praised book weaves an inventive and eminently comprehensible narrative for anyone who's ever wondered about the secret inner life of computers and other smart machines. The work of legendary computer book author Charles Petzold has influenced an entire generation of programmers. And with CODE, Microsoft Press is proud to share this gifted teacher and communicator with every reader interested in understanding today's world of PCs, digital media, and the Internet. ... Read more

    Reviews

    5-0 out of 5 stars Best Book I've Read This Year, November 27, 1999
    I think that this is the best book that I have read all year. In some sense this is the book that I have been looking for for twenty-five years--the book that will enable me to understand how a computer does what it does. And--given the centrality of computers in our age--it has been a long wait. But now it is over. Charles Petzold (1999), Code: The Hidden Language of Computer Hardware and Software does a much better job than anything else I have ever seen in explaining computers--what they really are, and how they really work.

    Have you ever wondered just how your computers really work? I mean, really, really work. Not as in "an electrical signal from memory tells the processor the number to be added," but what the electrical signal is, and how it accomplishes the magic of switching on the circuits that add while switching off the other circuits that would do other things with the number. I have. I have wondered this a lot over the past decades.

    Yet somehow over the past several decades my hunger for an explanation has never been properly met. I have listened to people explain how two switches wired in series are an "AND"--only if both switches are closed will the lightbulb light. I have listened to people explain how IP is a packet-based communications protocol and TCP is a connection-based protocol yet the connection-based protocal can ride on top of the packet-based protocol. Somehow these explanations did not satisfy. One seemed like answering "how does a car work?" by telling how in the presence of oxygen carbon-hydrogen bonds are broken and carbon dioxide and water are created. The other seemed like anwering "how does a car work" by telling how if you step on the accelerator the car moves forward.

    Charles Petzold is different. He has hit the sweet spot exactly. Enough detail to satisfy anyone. Yet the detail is quickly built up as he ascends to higher and higher levels of explanation. It remains satisfying, but it also hangs together in a big picture.

    In fact, my only complaint is that the book isn't long enough. It is mostly a hardware book (unless you want to count Morse Code and the interpretation of flashing light bulbs as "software." By my count there are twenty chapters on hardware, and five on software. In my view only five chapters on software--one on ASCII, one on operating systems, one on floating-point arithmetic, one on high-level languages, and one on GUIs--is about ten too few. (Moreover, at one key place in his explanation (but only one) he waves his hands. He argues that it is possible to use the operation codes stored in memory to control which circuits in the processor are active. But he doesn't show how it is done.)

    Charles Petzold's explanatory strategy is to start with the telegraph: with how opening and closing a switch can send an electrical signal down a wire. And he wants to build up, step by step, from that point to end with our modern computers. At the end he hopes that the reader can look back--from the graphical user interface to the high-level language software constructions that generate it, from the high-level language software constructions to the machine-language code that underlies it, from the machine-language code to the electrical signals that load, store, and add bits into the computer's processor and into the computer's memory.

    But it doesn't stop there. It goes further down into how to construct an accumulator or a memory bank from logic gates. And then it goes down to how to build logic gates--either out of transistors or telegraph relays. And then deeper down, into how the electrons actually move through a transistor or through a relay and a wire.

    And at the end I could look back and say, yes, I understand how this machine works in a way that I didn't understand it before. Before I understood electricity and maybe an AND gate, and I understood high level languages. But the whole vast intermediate realm was fuzzy. Now it is much clearer. I can go from the loop back to the conditional jump back to the way that what is stored in memory is fed into the processor back to the circuits that set the program counter back to the logic gates, and finally back to the doped silicon that makes up the circuit.

    So I recommend this book to everyone. It is a true joy to read. And I at least could feel my mind expanding as I read it.

    5-0 out of 5 stars Explains computer architecture to the intelligent layperson, November 20, 1999
    The average person who uses a computer to surf the web or type letters has so little knowledge of the underlying technology he or she is using that it may as well be magic. Even programmers, who typically spend their days solving problems with the high-end abstractedness of object-orientation, may be more than a little unclear about what's actually going on inside the box when their compiled code is running.

    Petzold attempts, and largely succeeds at, writing a book that leaves the reasonably intelligent layperson with a thorough comprehension of each layer that comprises a modern electronic computer (binary coding -> electronic representation -> transistors -> logic gates -> integrated circuits -> microprocessors -> opcodes -> assembly language -> high-level language -> applications). At times, the reader must follow along carefully, but Petzold tries to avoid needless complication.

    Code is a well written and very entertaining explanation of the digital electronic technology that has become an integral part of our daily lives. Short of getting a degree in electrical engineering, this book is your best bet to understand how it works.

    5-0 out of 5 stars An easy to follow historical and technical perspective, May 28, 2000
    Charles Petzold a does an outstanding job of explaining the basic workings of a computer. His story begins with a description of various ways of coding information including Braille, Morse code, and binary code. He then describes the development of hardware beginning with a description of the development of telegraph and relays. This leads into the development of transistors and logic gates and switches. Boolean logic is described and numerous electrical circuits are diagramed showing the electrical implementation of Boolean logic. The book describes circuits to add and subtract binary numbers. The development of hexadecimal code is described. Memory circuits are assembled by stringing logic gates together. Two basic microprocessors are described - the Intel 8080 and the Motorola 6800. Machine language, assembly language, and some higher level software languages are covered. There is a chapter on operating systems. This book provides a very nice historical perspective on the development of computers. It is entertaining and only rarely bogs down in technical detail.

    5-0 out of 5 stars Great, but it's not ALL for a "Novice", July 25, 2002
    The book starts out very solid, describing all the building blocks of a computer. The beginning is the best book I've seen so far describings everything from the binary system to electrical circuits, to gates to simple calculators, to memory, to a complete machine with a "control panel". But after that, the book started getting a LOT more broad (not necessarily a bad thing). It seems almost as if Petzold wanted to tell you everything about the world of computers, but couldn't fit it in a book such as this; so he dabbed a little here and there of a few terms, history, etc... (allowing you the option to look up anything you wanted if you had the interest).

    My oppinion is that the book is _great_ up to about the middle of the book, after which he just condenced all the rest of the information which would otherwise takes thousands of pages to describe in as much details as he described how to build a physical logic machine... I think that if someone isn't a "techie" or isn't in the computer field, they may have some hard time understanding a few minor points... but overall, this is a GREAT book.. one of a kind.

    Greatly recommended for everyone's library... I can honestly say, I always told people "a computer is nothing more than zero's and one's"... but until I read this book, I couldn't BUILD one... now I can (given time! :).

    P.S. This book is perfect for those who didn't necessarily go to college and learned everything on their own... it covers some CS, CE, and EE. Those who went to college with either of those majors probably learned the greatest part of this book... but it's a great review.

    5-0 out of 5 stars Wow. What a Book., December 7, 2000
    Have you ever opened up the case of your PC, only to find that there are seemingly millions of lego-esque pieces stuck together? Have you ever wondered how computing went from the abacus to the Palm IV? Have you ever asked how the engineers are able to do the things they do?

    Well, ask no more. Instead, read this book. Charles Petzold is able to describe the workings of a simple computer, starting from the ground floor. He begins with descriptions of a simple circuit, and slowly works his way to more and more complex structures. You learn about flashlights, Morse code, and the early computers, and how each has impacted modern computing.

    Will this book teach you how to program? No. But if you were not a computer science major or electrical engineer in college, this book will lay some of the foundations for understanding this technology. The technical aspects get a little dense at times, but this did not detract from the impact of this book.

    If you have been curious about what goes on in that beige box, now is your time to investigate. This is the place to start.

    5-0 out of 5 stars Cleared up some long standing fuzzy areas, December 20, 1999
    This book cleared up some fuzzy areas that I have always been interested in but never really had the time to pursue. I have been developing software since 1980, and got this book because of the sample chapter that I read from the MS website. Now that I have read the book, I am able to better understand the electrical system on my plane (a surprise side effect of reading the book, I expected it to be more high level)

    I would recommend this book to all software developers, and also anyone that has any technical hobbies. It has much technical information, but is also very easy to read.

    Steve

    4-0 out of 5 stars Information in easy to digest chunks, February 11, 2000
    It's not often that you come across a book that deals with complex topics in language that the layman can understand.

    The organisation is excellent - Petzold explores one topic at a time, giving you the chance to absorb one concept before moving on to the next. And each chapter builds on what you have read before.

    If you are just curious about what goes on inside your PC, or if you are involved in IT but lack an understanding of the actual box that does all the work, then this book is for you.

    4-0 out of 5 stars Fascinating, January 24, 2000
    This is a fascinating book on many levels. Extremely well written. For anybody who uses computers in their work and always wondered what goes on under the covers, this book touches on just about every area and goes into great detail in some areas.

    On the other hand, don't buy this book if you want practical information about how to be a better programmer or whatever. This book is definetely suited to an enthusiast who is honestly interested in learning arcane details. It isn't going to help anyone get a higher salary or a promotion.

    That's what I really liked about this book. It was truly different from any other book you will ever buy from Microsoft Press or like publishers.

    My only real critiscism is that it seems to run out of steam at the end. Chapter after chapter is devoted to the inner workings of logic gates, memory, and so on, but almost nothing is said about operating systems.

    5-0 out of 5 stars CODE: Simply the greatest book on the face of the earth!, August 4, 2003
    Yes, that's right! CODE is the greatest book on the face of the earth!
    Why? Here's my story, and go judge for yourself.
    I'm using computers for around four years. My question was always "How is this thing doing it's stuff?". Although I have no idea how other electronic stuff work, the computer did bothered me more then anything else because the computer seems to do some kind of THINKING, that's why it triggered my THINKING. This question kept on staying in my head until two weeks ago. It really bothered me. All along this four years I was looking for an answer to my question. I bought books, went to the library a thousand times, but nothing helped me. I learned a few programming languages along my journey, but it did not clarify how it really works. So I decided to learn Assembly Language because I taught that that's where I'm going to find the answer to my question. I must admit that it did helped me out quite a bit, but not to the extent I expected. I used a great book called "Assembly Language Step-by-Step" by Jeff Duntemann, which is a great book, but since the subject of the book is not to teach you how computers work, it didn't helped me enough to satisfy my desire for the answer to my question. I contacted Jeff Duntemann, the author of the book and I told him my problem. He referred me to this book CODE. So I rushed and bought this book. The rest of the story is self-understood, the book made my day and my life. And that's why I'm restating "This is the greatest book on the face of the earth".

    5-0 out of 5 stars Excellent Book To Understand Computers at the Basic Level, November 7, 2004
    I am a computer programmer by trade and sincerely wish I had this book 7 years back when I started formal education. During my 4+ years in the higher education system, and even after, I and my classmates (later colleagues) were taught how to program computers (in various languages) and many of the higher level ideas in programming (Data Structures, Algorithms, Program Structure, Etcetera, Etcetera, Etcetera) but we never really learned how the computers worked inside. Even to many trained programmers, or at least me:), these beige boxes can be something of a magical black box which we don't really understand at a fundamental beyond the point of it processing the instructions we give it in our chosen programming language. In school I recieved perhaps one single semester course that attempted to teach how these things worked inside, yet that course still skimmed on the inner workings, the teacher instead spent his time on how monitors drew pixels on the screen and how laser printers worked.....

    Looking back on it, I would blame the ignorance of the inner workings of computers that some programmers have on the decline of having to learn Assembly language (starting in the early nineties?), the lowest level programming language sans actual Machine Code, where one would be forced to deal with the raw inner workings of a computer naturally. I myself hope to learn it one day after reading this book :D Instead, I was taught the C programming language and what we learned in school became only more abstract in regards to the actual hardware...

    This is where this wonderful book came into play. Since I recieved it half-a-year ago, it must have been read/devoured by me a dozen times or more - it goes from teaching the make-up of various codes (morse, braille, etcetera) to showing how some simple to understand concepts can be combined until a working computer, calculator, etcetera, can be built....... it gives one a great foundation for learning what Computer Science is all about or gives a newer-generation Programmer, like me, much needed knowledge on how that beige box basically works, on a hardware level!

    The best thing is that those computer analogies can be finally thrown out the window - we all heard them before - like how "ram is like a table, or workspace. The bigger it is, the more things you can have ready and available at one time. The hard drive is like your drawers and cabinets. You can store more stuff there, but to use it, you have to take it out first and put it either on the table (RAM) or hold it in your hand (cache)." Petzold also uses analogies when he introdues topics but quickly moves beyond them, giving his audiences real understanding of the subject - which is very welcoming since analogies tend to explain function well but break down quickly when one is determined to learn more about a topic.

    It is probably one of the few computer books on my shelf that can't get outdated and that's good, because it still will be there in 20 years. ... Read more


    18. LEGO MINDSTORMS NXT:The Mayan Adventure (Technology in Action)
    by James Floyd Kelly
    Paperback
    list price: $24.99 -- our price: $14.84
    (price subject to change: see help)
    Isbn: 159059763X
    Publisher: Apress
    Sales Rank: 16494
    Average Customer Review: 4.8 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    LEGO MINDSTORMS NXT has hit the world by storm, giving you the ability to build your own robots and program them to perform all types of actions. What kind of robots? How about five exploratory robots, used to explore the newly discovered tomb of an ancient Mayan king?

    You are along for the ride with Evan and his archaeologist uncle as they explore a Mayan pyramid complete with traps and treasures. Using a variety of NXT robots, the archaeology team is able to move deeper into the tomb towards the secrets of King Ixtua. But beware of the traps! The pyramid's design has successfully deterred unwanted visitors through the centuries, and your team will need to be careful and alert.

    You will learn and use a design methodology that will teach you about the new motors and sensors that your robot can use. Complete building and programming instructions are provided for each robot, allowing you to follow along and learn as you build.

    Can you help Evan and the team of explorers navigate through the old pyramid and discover King Ixtua's tomb? Read the stories, examine the environments, and build and program the robots that will allow the team to move closer to the secrets of The Mayan Adventure.

    • This book shows how to design a NXT robot to solve real-world problems.
    • It includes worksheets that encourage constructive brainstorming techniques.
    • You'll gain access to four new and unique robot designs.
    • This book is suitable for both adults and kids exploring NXT.
    ... Read more

    Reviews

    5-0 out of 5 stars I'm the Author, so buyer beware :), December 14, 2006
    The description that Amazon is providing lacks detail, so let me please share with you how this book works.

    First, there are 5 robot projects that require one (1) NXT robotics kit - preferably the retail kit, but the educational kit will work with some minor substitutions.

    The book has a storyline running through it - Evan is on vacation with his archaeologist uncle in Guatemala, exploring a newly discovered Mayan tomb. The archaeology team begins to encounter problems in accessing areas of the tomb and Evan comes to the rescue by offering to build small robots that can go in and accomplish certain tasks that a human cannot.

    The book is broken into 5 sections. Each section has 1 chapter that has part of the fictional story. The story starts in Chapter 1 and continues in chapters 5, 9, 13, 17, and concludes in chapter 21.

    Next, each section contains a "building theory" chapter that helps you to examine the problem the archaeology team has encountered and to brainstorm (mindstorm) a robotics solution. You use a "Design Journal Page" for each robot (and I've included 6 blank copies in the back of the book for you to follow along). These theory chapters are found in chapters 2, 6, 10, 14, and 18.

    Finally, complete building instructions (photos) are provided for all 5 robots in chapters 3, 7, 11, 15, and 19. Programming instructions (screenshots of the NXT-G programming language) are provided in chapters 4, 8, 12, 16, and 20. In these chapters you'll also find instructions for setting up your "testing environment" to simulate the challenges faced by the archaeological team.

    Also included are some appendices that cover websites, blogs, how to document your own robot creations, NXTLOG (community web tool) and the new Compass Sensor.

    When brainstorming the book, I thought about just a book full of robot building instructions, but then I realized it would be more fun to wrap the 5 robots up in a story that young readers (and some young-hearted adults) will find entertaining and inspiring.

    I hope you like the book... I'm very proud of it and I provide my email address in the book for my readers to send me pictures and comments about their experience with the book.

    5-0 out of 5 stars A GREAT Reference Book for Kids Interested in Robotics, December 15, 2006
    My 13-year old son loves the NXT, but he's too busy to sit down with a kit and make his own projects. He has BEGGED for step-by-step building and programming instructions for NXT robots.

    This book has met his need in spades.

    There are five robots in the book to build and program, and step-by-step instructions are provided for each. The book also has a friendly, encouraging style, which kids and parents will appreciate.

    The model instructions that come with the NXT kit are good, but the kit only provides instructions for building four robots. Your child will go through those robots in a hurry! (Mine did). If there are parents out there who have purchased an NXT kit for their child, then I'd encourage you to make this book a companion purchase.

    For those kids who DO have time to get creative, the book encourages that, too. Each robot in the book is given a specific "mission" to complete, and kids are encouraged to complete the mission by using their own robot designs. There's a "design journal" in the back of the book, where kids can keep track of their own NXT creations.

    This is the ONLY NXT book out there that caters to kids. If you and/or your child are new to the NXT, then this book is a perfect and USEFUL introduction.

    5-0 out of 5 stars Excellent..., December 28, 2006
    I cannot describe just how great this book is - I am a software engineer with over 13 years of experience and found Mr. Kelly's approach to learning to play with the NXT excellent and beyond my expectations. The first four chapters are broken up logically. Chapter 1 contains a well written story and lays the foundation of the problems and challanges that await the reader. During this chapter the first 'problem' is introduced. The 2nd chapter is devoted exclusively towards reiterating the problem and laying out the analysis of 'how to solve' the problem at hand. Also during this chapter the reader is given an introduction on a "Design Journal" that will later assist them building the solution. The end of the chapter 2, the reader can continue to read chapters 3 and 4 - which layout the author's solution to the problem or spend time on attempting their solution to the problem that was just introduced and analyzed. Chapter 3 deals with the 'hardware' implementation of the solution - specifically the building of the robot. Chapter 4 lays out the software solution. This was exactly the best approach for young readers!! However, don't feel this book is something you can give your child and then walk away. You have to involve yourself in the process - you have to read it, you have to work the solution with your budding LEGO master builder. I am working through the exercises with my 10 year old son who has been interested in robots for a number of months now. He has really enjoyed reading the book and has even started working out his own solutions with the "design journal".

    5-0 out of 5 stars Interesting and informative, January 21, 2007
    I love this book. Having been an Industrial Arts teacher years ago I can appreciate the planning process for each building project. Though I know the story line is more for kids than adults, I am enjoying reading it and then building and performing the robot challenges. I think the Design Journal page is great because it will help me develop robots beyond what is offered in this book. In essence it helps me think! I received the Mindstorms NXT set for Christmas at age 64. I love to build things and haven't had this much fun doing it for years. The Mindstorms NXT is an excellent learning tool for youngsters and an excellent way to keep an "oldster's" mind young. This book truly enhances the learning experience.

    5-0 out of 5 stars Great way to teach kids to program, January 26, 2007
    My 9 year old son absolutely devoured this book. He talks incessantly about building robots and made his own robot design journal page based on the one in the book. I'm a professional software developer, and I've been searching for a way to teach my kids to program. They can't type, so normal languages are just mechanically too hard. I tried StarLogo, Squeak, and a few others until I found the NXT programming environment. They managed to LEGO-ify programming. This book makes brings it all together in an enjoyable way. A+

    5-0 out of 5 stars Excellent book for parents & kids, December 26, 2006
    We got this book for my son (age 9) and I to develop new robots. Was I ever pleased to see how this book is designed. The concept for the 5 robots has each a storyline, the theory, the building of the robot, and the programming of the robot.

    This book is an excellent buy, and please stay away from "LEGO MINDSTORMS NXT Hacker's Guide" I bought it and it is on eBay for sale. It has little to do with hackink the mindsorm and more in hacking your wallet.

    5-0 out of 5 stars Purchase this book, It DOES teach robotic building skills, February 14, 2007
    D. Raines posted the exact same review (with the exact same words) for Dave Prochnow's book (LEGO Mindstorms NXT Hacker's Guide). I doubt D. Raines purchased either book. This book does teach robot building skills and the other reviews back this up. LEGOMAN (D. Raines) has posted an inaccurate and very short review without providing any evidence for his statement.

    5-0 out of 5 stars Exploring The Mayan Adventure with NXT, March 9, 2007
    If it was possible to give this book 10 stars, I would not hesitate to do so. The stories about Evan and Uncle Philip with his team exploring the Mayan pyramid surely touch a childs imagination (I am 46 and even I am floating away with Evan beating the intellect of those adults in the team). On the technical side, this book really shines. I bought my first NXT set early december 2006. But beside the standard robot instrucions include, I feeled that I did not understand perfectly. With RCX I used NQC as programming language. But I am not used to the graphical interface of Lego. Jim Kelly made a very nice addition in this field. His explanations have just enough detail which make them easy to follow.

    When it comes to construct those robots, there is very much room for your own creativity and ideas. There is only one minor flaw, those photographs should be in color even when the price of the book raises. This book really deserves color photographs. But even in black and white, those photographs are easy to follow.

    The book in general encourages you to explore your own mind when you design your robots. There are many possible ways to build the same robot. Don't just copy the robots from the book. Use your imagination and make your own changes.

    Also the robot construction journals are very helpfull when planning and building a robot. Design your own journals based onto those inside the book will keep the book intact. Those journals give you a way to structure the robot creation process. There is more to this process than constructing, programming and testing. The more you structure your mind the better, and those journals helps you with this.

    I have one remark at the Explorobot. Since the writing of this book (and this is no way a shortcoming or negative) HiTechnic constructed a lot of interesting sensors like a Compass and a Gyro sensor. The compass sensor is available, the gyro not on this moment. If you can you should buy a compass sensor from HiTechnic which makes your eploration much more accurate. As an example :

    You know from the map that those corners are 90�. So when you start of toward the first corner, measure the direction.
    Then when you reach the first corner make rotation of "your initial direction" minus 90�.
    Then you go straight to the next corner.

    When you constantly measure your direction, you can prevent friction loss causes deviation from the optimal path to follow.

    This is a little detail which makes your pyramid exploration much more real. Your not assuming you follow a straight path but you ARE following a straight path unesteemed one wheel feels more or less resistance than the other.

    Sorry that I am deviating a little from the main subject but I feel that the author has a very important field here unexploited. I admit it was impossible to include the compass sensor in the book because the correct decision was made to use only parts included in the standard NXT set.

    But maybe it is possible to setup an accompanion website at which such topics are explaned. And because the author is encouraging his audience to send photos of their creation, maybe those can find a place on the website also. A website can much more easily updated than a book.

    As a conclusion this is a great book for both adults and children interested in Robotics. It shows clearly how robotics can serve in solving daily life situations. And surely it will teach you the basics of robotics after which you can go on designing your own creations.

    Friendly greetings,

    Bad_Wolf
    Belgium
    Europe

    5-0 out of 5 stars Fun way to hone NXT skills, January 13, 2007
    (This review is actually written by Jonathan Daudelin)

    I've been designing Lego robots for five years, and have never seen a book that teaches skills in such an interesting and simple a way as this one. The story line flows very nicely, and almost persuades one that NXT robots would be very useful in exploring an ancient pyramid! It also does a great job of keeping the reader's interest.

    For the building part, 5 widely varied robots provide great inspiration and practice. I also enjoyed the author's unique approach to designing robots using Design Journal Pages - places to write down things like the robot description, tasks it needs to complete, etc., which help orienting the reader in building the robot.

    The programming chapters were great, too. They're very descriptive and easy-to-follow, and the author has a good way of explaining the different basic blocks, like loop, move, and wait blocks.

    All in all, I would recommend this book to anyone interested in the Mindstorms NXT. People who are new to the NXT would learn a lot from reading this, but also more experienced people would benefit from the inspiration and unique ideas.

    5-0 out of 5 stars All the Basics and more, March 9, 2007
    I love this book. It has a fun little story and it explains why and how you build little robots.
    That is one of the challenges when you get the robot set. What do you do with it...
    This book gives a. planning guide, b. design guide c. programming guide to each of the robots.
    Very systematic.
    My son is 9 and he can follow the reasoning and he is learning that he needs to think about the design before he starts putting the robot together.
    I can highly recommend this book
    ... Read more


    19. The Design of Design: Essays from a Computer Scientist
    by Frederick P. Brooks
    Paperback
    list price: $34.99 -- our price: $27.29
    (price subject to change: see help)
    Isbn: 0201362988
    Publisher: Addison-Wesley Professional
    Sales Rank: 18380
    Average Customer Review: 4.0 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    Making Sense of Design

    Effective design is at the heart of everything from software development to engineering to architecture. But what do we really know about the design process? What leads to effective, elegant designs? The Design of Design addresses these questions.

    These new essays by Fred Brooks contain extraordinary insights for designers in every discipline. Brooks pinpoints constants inherent in all design projects and uncovers processes and patterns likely to lead to excellence. Drawing on conversations with dozens of exceptional designers, as well as his own experiences in several design domains, Brooks observes that bold design decisions lead to better outcomes.

    The author tracks the evolution of the design process, treats collaborative and distributed design, and illuminates what makes a truly great designer. He examines the nuts and bolts of design processes, including budget constraints of many kinds, aesthetics, design empiricism, and tools, and grounds this discussion in his own real-world examples—case studies ranging from home construction to IBM's Operating System/360. Throughout, Brooks reveals keys to success that every designer, design project manager, and design researcher should know. ... Read more

    Reviews

    4-0 out of 5 stars Well Designed!, April 6, 2010
    Brook's new book is a worthy successor to the classic Mythical Man-Month. It starts by discussion of the well known waterfall model of design and why this model remains seductive to this day. It then shows its flaws, pragmatic problems with design in the real world and alternative models. Many readers may be familiar with these issues (as I was ) but Brooks digs into a lot of history that you may not know about.

    The next sections talk about design as a collaborative process , different perspectives for thinking about design, visions for designing houses, the role of individual design talent (process can't replace greatness!), and how great designers can be nurtured. This part of the book is superb.

    The last section is a series of case studies including buildings, a System/360 (naturally), computer architecture, and the design of a joint research facility. This is the one area where the book could have been improved and the reason I did not give it 5 stars. Understandably, Brooks draws on his own experience in picking cases studies but I personally would have liked a bunch of cases studies of application software. I imagine most designers who read this book will be software developers and few will be involved in OS design or design of physical structures. Brooks would argue that there are universal ideas that really make design transcend particular design domains, and in that sense the cases studies he provides are certainly useful. However, it is always easier to learn form a case study that is close to what you actually do yourself.

    Overall, Brook's writing style is excellent, entertaining and thoroughly researched so you will not be disappointed.

    5-0 out of 5 stars An important book on the foundations of IT design, April 23, 2010
    There are few people who can be described as part of the foundation of modern business computing technology and IT management. Fred Brooks is one of them. His book "The Mythical Man Month" (MMM) is one of the seminal works on IT management. Now he follows that book up with "The Design of Design." Like MMM this book is a collection of essays and thoughts from someone who has been thinking and working on the deep systems behind information technology. This book is thought provoking, informative and makes a contribution to our understanding of IT and the nature of design.

    A word of caution however, this book, like MMM is not for the casual reader. People who are looking for a book similar to the other `sliver bullet' books about tech will be sorely disappointed because there is no silver bullet. Brooks told us that in the MMM. However, serious students of the evolution of design and IT management however will find much in this book to debate, disagree and discussion.

    Overall the 20 essays and 7 case studies provide an in-depth view on Brook's thinking and experience concerning design. Brook's approach tends toward a more academic treatment of these issues than other more solution oriented books. A strength of these essays is their ability to go back to the founding ideas and principles based on Brook's study or often first hand knowledge of the pioneers in IT.

    Two disclosures here. First I wrote my dissertation about the design of enterprises, so I am very interested in the topic and found the book enjoyable. Second, a while ago I was leading a class about IT for some MBA students and I added MMM to the reading list. Unfortunately it did not work, as the MBA students did not have a grounding or appreciation of the ideas in MMM. I am afraid the same can be said of the Design of Design as it provides a comprehensive and thoughtful look at a complex subject that may be too much for the casual reader or someone with casual interest.

    The Design of Design is a fitting compliment to MMM and should be among the reading list of those people seriously looking at the fundamental processes and management of IT. This book is recommended for people who have the interest and passion to think through Brook's thoughts, ideas and advice.

    5-0 out of 5 stars Essential reading for 21st century thinkers and doers, June 6, 2010
    In 1989 I started a new kind of software company, and considering that I had no financial, business, nor management experience, things went fairly well. Indeed, we doubled revenue every year for the first five years and grew from 3 people to more than 60. Somewhere along the line we hit our first real management crisis, and I was given the assignment to read The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) as a first step in understanding why our scheduling and deliverables process had become so protracted and precarious.

    It was an eye opener, and it gave me my first real understanding of the fundamental limits of the industrial model. (Michael Pollan's The Omnivore's Dilemma: A Natural History of Four Meals was the second, and perhaps even more profound.) Thus, when I discovered that Brooks had written a new book to treat one of my favorite new topics--Design--I decided to order it right away. Then, while it was sitting in my shopping cart, I read through some of the comments, and though several of them spread doubt about the quality or validity of this latest effort, I decided that I would risk the purchase. And I am glad I did.

    I recently gave a four star review to another book on the topic of design: Roger Martin's latest book The Design of Business: Why Design Thinking is the Next Competitive Advantage. I felt bad about doing so because there is so much to like about that book and so much I appreciate about Martin's teachings. But the book did not strike me as one the best possible treatment of the subject, so I gave it only four stars. By that measure, I'm giving The Design of Design: Essays from a Computer Scientist a full five-star rating because I believe he has met that criteria. His writing is economical, elegant, accessible, and authoritative. His stance is earnest and authentic. His examples are relevant and essential. And his topic is absolutely vital to the proper construction of our 21st century economy.

    This is a book I will have to buy in bulk, and to give to the many people I meet in my daily work who need the conceptual reboot that it provides. I recommend it to anyone who needs or produces creative work in these early days of the 21st century, whether in the public, private, or academic sectors.

    4-0 out of 5 stars Old-ish insights in a new book, May 10, 2010
    I, as probably many others, was looking forward reading "the design of design." I had pre-ordered it as soon as I knew I could and read it soon after it arrived. Unfortunately, the book disappointed me somewhat. It is not that it doesn't have insights... it does! It is not that it is written badly... it isn't! It is that most of the insights and examples are similar or the same as the Mythical Man-Month. Next to that, Fred Brooks doesn't seem to have any newer experiences managing software projects than the OS360 project :( The book is still worth reading, but it definitively isn't as useful as the Mythical Man Month (which with every work of Fred Brooks will be compared).

    The book contains six parts and is about 400 pages thick. The first part of the book called "Models of Designing" dives (again) in the Waterfall Model and explains that it doesn't work, cannot work, and has never ever worked. He compares the Waterfall model to the Rational Model of design (from Simon) which has been criticized as being overly simplistic. Brooks still spends about 50 pages diving in Waterfall model and concludes this with: "The waterfall model is wrong and harmful; we must outgrow it"

    The second part is about collaboration and tele-collaboration. To me, this was the weakest part of the book. In this part, Brooks argues that a good design always comes from one designer and cannot be developed by a group or a team. This is contrary to my own experiences and also, according to his notes, contrary to some of the reviewers experiences. Yet he keeps stressing this point throughout his book. The subject of tele-collaboration was covered only minimally.

    The third part is probably the best part of the book and names design perspectives. Each chapter is a separate essay about one aspect of design. I especially enjoyed chapter 13 where Brooks argues we'll need more examplars of good software developers we can build on. Good design is build on good examples, but in software development... good examples are rarely studied (even though they are nowadays frequently Open Sourced)

    The fourth and most of the sixth part of the book were uninteresting to me. The fourth part discusses a design that Brooks made with his team to design a dream system for architects for designing houses. It was mainly a description of the design decisions he made. Chapter six consists of case studies. Most of these case studies are Brooks amateur (physical) architecture studies where he, in he free time, extended his house and build a beach house. The cases aren't strongly linked to the design perspectives and design model he described earlier and it made them rather uninteresting to me (a software developer first). Chapter six also has cases about the IBM 360 system and operating system. I was more interested in these chapters, especially from a historical perspective. (Brooks his beach house might be beautiful, it had no impact on the world other than Family Brooks' enjoyable life at the beach).

    The fifth part is short and names Great Designers. It contains two chapter "Great Designs come from Great Designers" and "Where do Great Designers Come From?". I enjoyed these chapters as a reminder of the impact of people and talent on the result of a project. And the question, which is unfortunately not a common discussion, how to actually teach great design (which he then links back to the examplars).

    Overall, I enjoyed reading The Design of Design, yet I expected more. I was particularly disappointed by the old-ness (and perhaps obsoleteness) of the examples. Nearly all examples came again from the IBM 360 project. As programming language examples with a good design, Brooks doesn't talk about Ruby or Haskell... no he mentions APL. There is no example about modern design (in software that is) or any suggestion that Fred Brooks has been involved in a software development project after the IBM 360 project. This did not make his writing less entertaining, nor his insights less insightful, yet... I had expected more. Oh, and the case studies about his amateur architecture projects could probably be skipped.

    Anyways, as mentioned, I still enjoyed reading it. The writing was good and the lessons were still valid. I thought of rating it 3 or 4 stars and decided to still go with a 4 star rating. However, if you are unfamiliar with Fred Brooks work, I'd recommend to read "The Mythical Man Month" instead.

    5-0 out of 5 stars as some of you know, September 21, 2010
    As some of you know, I rarely read business books, personally finding most of them collections of platitudinous clich�s or the rehash of tired old war stories. However, there are exceptions and Frederick Brooks' The Design of Design: Essays from a Computer Scientist is one of them. Written from a lifetime of experience in large and small scale design projects (like the IBM System 360), Brooks has a lot of very sensible things for all of us to think about. Fortunately the book really is a collection of essays and does not have to be read cover to cover. The first section covers conceptual models of design process contrasting the rational sequence of requirements, design, validation, and implementation with reality. Reality wins. The second section sensibly talks about collaboration and telecollaboration but doesn't tell us much we don't already know. The third section titled design perspectives gets into details of understanding how good design processes work and how flawed design processes fail. Then there is a section of case studies in computer science and architecture that may or may not be very interesting although his uniform analysis method is interesting. A short section of Great Designers and Great Designs is well worth looking at and is followed by another set of case studies similar to the earlier set.
    A sense of the tenor of the conversation with Brooks is his teaching that requirements are never and should never be frozen at the start of the project - in fact they always change and develop as the project continues if there is any meaningful communication between designers and some representatives of the user community. He strongly advocates early conceptual prototyping of more or less functional if crude prototypes to bring reality kicking and screaming into the design cycle. Brooks believes that bold design decisions taken early in a project are a hallmark of good outcomes. He ponders the inherent problem that most corporate design processes of toll gates and the like have negative intent and are primarily designed to create vetoes of bad projects not elevations of great projects. Brooks thinks this is not wrong in itself but must be recognized when confronting a really innovative project.
    You may not agree with all of Brooks' points and may not be interested in all his stories but this is really written by someone who has walked the walk and is still able to talk about it. I really recommend it for everyone involved in the product development process.

    4-0 out of 5 stars if you love computing this is abook to cherish, May 31, 2010
    The author of the Mythical Man-Month, the Father of the IBM 360 hardware and software, Brooks is a giant. He has put together a series of essays that give any designer serious insights into the process. Regardless of what you work in, architecture for homes or cathedrals,. OS for RIM, Linux modules, web pages or wooden picnic tables, there is something for everyone on these essays. From the book , "The author tracks the evolution of the design process, treats collaborative and distributed design, and illuminates what makes a truly great designer. He examines the nuts and bolts of design processes, including budget constraints of many kinds, aesthetics, design empiricism, and tools, and grounds this discussion in his own real-world examples--case studies ranging from home construction to IBM's Operating System/360. Throughout, Brooks reveals keys to success that every designer, design project manager, and design researcher should know.

    He points out that you study history to find out what works and how in order to learn from others. His chapter Constraints are Friends is worth the price of the book. He is veru harsh on himself for the errors that occured on his watch. He also advocates that good design requires much more planning and research than people are giving it. If a company is always in a hurry to get to market, then it is not committed to good design. If you consider yourself a designer - you have read this book. If you love computers you will cherish this book.

    4-0 out of 5 stars Highly recommended for engineering managers caught in bureaucracy, December 1, 2010
    Mr. Brooks' collection of essays are well-written and well thought-out. The recounting of his home remodeling does more to take away from the book than contribute---however, Brooks gets a pass because it obviously meant something to him. The first half is excellent, and Brooks provides valuable anecdotal advice on "how" to engineer systems better. His appeal to recruit brilliance---find the kids who can and let them conveys a sense of enthusiasm about design and engineering sorely in need in some sectors. Brooks argument for a rigorous, truth-filled, design process is also very good.

    Overall, take the house stuff out, and this book is inspiring and informative. Highly recommended.

    From my realtime review when I read the book in September:

    For multiple reasons, I strongly recommend Frederick P. Brooks, Jr.'(tm)s The Design of Design. While the subtitle is �"Essays from a Computer Scientist,"don'(tm)t let that dissuade you from a very accessible, common sense approach to developing "designers." I know, I know---design what?---I'm speaking of product development in whatever field you may find yourself---even design! While Brooks is talking designers, the truth is you could substitute almost any profession and his logic/advice would hold. If the book has a drawback, it would be the use of house design as a anecdotal vehicle; I did not ignore these chapters, but did not find as useful. Highly recommended.

    4-0 out of 5 stars Unique although the prose could be better, July 13, 2010
    First, I recommend the book. It is pretty nice to read, except for the sections about how he designed his own house :P... sorry, I am not interested about that.

    I put a four instead of a five, because the book is written in purpose as a series of short self-contained stories/anecdotes. However, there is not a clear discourse path that combine them.

    Is this is the first book you want to read about design and management issues in software projects, I rather recommend the following list: The mythical man-month, Adrenaline Junkies and Template Zombies, Peopleware, and finally the design of design

    4-0 out of 5 stars Great book on the design and the design process, April 12, 2010
    In this book Brooks talk about the concept of design and the design process.

    Although there is plenty literature on these subject Brooks feels there are several good reason to write another book on the subject.

    The first reason that he mentions is that the design process has changed a lot since World War II and the new challenges have rarely been discussed. The new challenges that he mentions is that design is now a **team activity** rather than an individual one. Another challenge is that unlike designers of previous generations nowadays **designers cannot longer built with their own hands what they design**. Instead designs are captured in computer models and build by somebody else [p. xi]

    The second reason why Brooks considers worthwhile writing a book on design is that "much mystery remains" on the subject and that this becomes "evident when we try to teach students how to design well" [p. xi] In this book Brooks uses his six decades of design experience to help expand the knowledge of how the design process works and how we teach it. In his book Brooks does not attempt to find or describe "a science of design" in fact he considers such a goal both impossible and misleading. Instead, the tone of the book is in the form of a few opinionated essays [p. xii]

    I found the first three sections of the book incredibly well thought out where I was not as impressed with the last three. However the first three sections make the book worthwhile.

    In the first section Brooks' starts by describing design and the design process. The he describes the "rational process of design" (aka the Waterfall process in software development,) what's wrong with it, and other better design processes that are iterative and incremental. Although the Waterfall model felt out of fashion in software development I found Brooks' description of what's wrong with it and what a better design process needs quite insightful.

    On the second section Brook's tackles the question of team design (collaboration) and tele-collaboration, both topics rather timely.

    On the third section Brooks' talks about the need for explicit models in design which are especially important when the design is done as a team effort. He also talks about the resources and how to go about scarce resources in the design process: "If a design, particularly a team design, is to have conceptual integrity, one should name the scare resource explicitly, track it publicly, control it firmly." [p. 119]

    I've posted a more comprehensive review on my blog: [...]

    3-0 out of 5 stars A Wandering Mind, September 26, 2010
    This is a collection of essays loosely centered around philosophy and practice of design. The writing is wandering and unfocused always jumping from Renaissance examples to OS/360 to Fred's vacation house and back. Because of lack of focus or theme the material was not engaging. In fact I dismissed the book after going though a half and couple of weeks later finished it. Contrast that to Mythical Man Month (MMM) which I just could not put down until I finished it.

    It felt like OS/360 related material was a regurgitation of some other writings. The non-computer related "case-studies" were pathetic - they were just stories retrofitted/analyzed as if they were projects.

    I am surprised these words are coming out of my mouth being a huge fan of MMM. I would recommend buying other books by F.Brooks. That said it is still a F.Brooks book, which means substance dominates over fluff. It is still more insightful than 96%+ of books you will ever read. ... Read more


    20. Programming in Objective-C 2.0
    by Stephen G. Kochan
    Kindle Edition
    list price: $35.99
    Asin: B001BAGW6Y
    Publisher: Addison-Wesley Professional
    Sales Rank: 2978
    Average Customer Review: 4.5 out of 5 stars
    US | Canada | United Kingdom | Germany | France | Japan

    Editorial Review

    THE #1 BEST SELLING BOOK ON OBJECTIVE-C 2.0!


    From the author of Programming in C,Programming in Objective-C 2.0 provides the new programmer a complete, step-by-step introduction to the Objective-C language. The book does not assume previous experience with either C or object-oriented programming languages, and it includes many detailed, practical examples of how to put Objective-C to use in your everyday programming needs.


    Objective-C has become the standard programming language for application development on the Mac OS X and iPhone platforms. A powerful yet simple object-oriented programming language that’s based on the C programming language, Objective-C is widely available not only on OS X but across many operating systems that support the gcc compiler, including Linux, Unix, and Windows systems.

     

    The second edition of this book has been updated and expanded to cover Objective-C 2.0. It shows not only how to take advantage of the Foundation framework’s rich built-in library of classes but also how to use the iPhone SDK to develop programs designed specifically for the iPhone and iPod Touch.

    ... Read more

    Reviews

    5-0 out of 5 stars Outstanding Beginner's Guide to Objective-C, January 3, 2009
    This book is both comprehensive and easy to understand. The sequence of chapters chosen to be read chronologically is well thought out (e.g. having the reader use static data types before introducing the generic id type, or having the reader declare and implement accessor methods before introducing the property and synthesize directives). The end of chapter exercises are also short (i.e. quick to complete) but also thoughtfully designed.

    The author chose to make this book serve not only as a reference, but as a tutorial. In other words, a bit like the "... for Dummies" series in its hand-holding (i.e. tutorial) style. However, this book is certainly not for "dummies" as the author does not assume the reader to be slow or requiring interjections of humor or casualness. Other books will have authors write things like "Now grab a slice of pizza before we hit this really hard subject!", but this author thankfully spares the reader of this. Kochan is concise and direct. There are very few wasted or unnecessary sentences.

    Kochan does not assume prior Objective-C, Cocoa framework, or X-code knowledge. However, if you have experience with just about any procedural or object-oriented language, you will have a much easier time with learning any new language, including Objective-C. If you do not have experience with ANY other language, then you will still have a difficult time with learning all of the Objective-C language as some topics just by their very nature are difficult to grasp immediately without practical experience.

    Although there is a chapter each on the Cocoa framework and iPhone development, this book is focused on the Objective-C language and Apple's Foundation framework. Other resources will have to be utilized to learn Cocoa or Cocoa Touch.


    BOOK'S TABLE OF CONTENTS:

    1. Introduction
    2. Programming in Objective-C
    3. Classes, Objects, and methods
    4. Data Types and Expressions
    5. Program Looping
    6. Making Decisions
    7. More on Classes
    8. Inheritance
    9. Polymorphism, Dynamic Typing, and Dynamic Binding
    10. More on variables and Data Types
    11. Categories and Protocols
    12. The Preprocessor
    13. Underlying C Language Features
    14. Introduction to the Foundation Framework Foundation Documentation
    15. Numbers, Strings, and Collections
    16. Working with Files
    17. Memory Management
    18. Copying Objects
    19. Archiving
    20. Introduction to Cocoa Framework Layers
    21. Writing iPhone Applications
    22. Appendix A. Glossary
    23. Appendix B. Objective-C 2.0 Language Summary
    24. Appendix C. Address Book Source Code
    25. Appendix D. Resources


    You may also want to consider reading Apple's developers' guides:

    -Learning Objective-C: A Primer
    -Object-Oriented Programming with Objective-C
    -The Objective-C 2.0 Programming Language

    Apple's guides are not easy for a novice, but having read them before reading Kochan's book definitely made using his book significantly easier and faster for me.

    In summary, this book will make learning Objective-C about as easy as it can be since it starts with the assumption that the reader has no prior programming knowledge.

    5-0 out of 5 stars Fantastic book organization!, January 11, 2009
    I am a web designer and developer and I've programmed in a lot of languages (i.e. HTML, javascript, actionscript, visual basic, etc.). I wanted to learn Objective-C as the quickly as I could. I quickly found out that not having experience in programming in C (the predecessor to Objective-C) made it hard to understand the reasoning behind the code syntax and finding resources that didn't assume I knew C was almost impossible...

    After going through the first three chapters of this book in less than an hour, my confidence in the language has increased exponentially. The book is roughly 624 pages, but I feel like I could code the samples and finish the book in just a few days...

    The book is organized into four main sections:
    I: The Objective-C 2.0 Language
    II: The Foundation Framework
    III: Cocoa and the iPhone SDK
    IV: Appendixes

    The separation of these main topics, Objective-C Language features and the Foundation Framework for example, almost guarantees that there won't be much confusion if you are learning the language for the first time and that there will be a distinction between the topics and concepts for each section.

    Kochan does a good job of creating a deep understanding of the material instead of simply saying `just write the code and we'll explain later'. For example, each chapter provides instructions on how to fulfill basic concepts using Objective-C such as writing classes, inheritance, loops, operators, etc. At the end of each chapter, there are `Exercises' which may range anywhere from 5-9, which more or less tests the reader's comprehension on the material that was just covered.

    I bought the Beginning iPhone Development: Exploring the iPhone SDK and Cocoa(R) Programming for Mac(R) OS X (3rd Edition) before this book and I should have done the exact opposite. This book can serve as a foolproof foundation and reference guide for either of the aforementioned books and definitely shortens the learning curve to mastery.

    5-0 out of 5 stars Best book to learn Objective-C 2.0, January 24, 2009
    Note: Typos have been fixed since the edition I originally purchased. I've kept my original review below, which was influenced by the number of typos and formatting glitches I encountered in the original edition. Now that it's all been rectified, there is NO BETTER BOOK for learning Objective-C 2.0 than this book.


    *** ORIGINAL REVIEW (noted deficiencies corrected in updated revisions) ***

    I'd love to recommend this book as the gateway to learning to program Mac OS X applications, but unfortunately I cannot. It contains more than a few typographical errors, especially in the first few chapters. Those new to programming in C may end up confused and unable to understand why their programs will not compile. This is unacceptable for this type of book.

    Beyond typos, my second gripe is the lack of exercise solutions. This book provides challenging exercises at the end of each chapter that are designed to hone your skills and solidify your understanding of taught topics. Frustratingly, there does not seem to be a source containing exercise solutions. None are found in the book, and surprisingly -- nothing is offered on the book's web page either. Nada. Learning is difficult when you cannot check your solution against the author's intended solution.

    My surmise is to blame the editors -- someone unaccustomed to working on programming/technical books likely did the final layout.

    I learned C Programming over 20 years ago, thanks in large part to Stephen G. Kochan's original 1988 masterpiece, "Programming In C." I picked up his latest book looking to master my Objective-C programming skills. Personally, I accomplished my goals -- but only because I have a 20+ year history of programming in C (and many other languages). Those new to the language may have to hobble through typos.

    This book (minus typos) does an excellent job teaching you Objective-C 2.0. Knowing ObjC is a prerequisite to learning the Cocoa framework for Mac OS X.

    Final thoughts:

    TWO to THREE STARS for those new to programming. Don't frustrate yourself with typos and lack of solutions to chapter exercises.

    FOUR to FIVE STARS for experienced C/C++ developers looking to jump to Objective-C 2.0.

    NOTE: Those giving FIVE STAR reviews to this book knowing that it contains typos are not providing any service to those who are new to programming. What good is it to reward a publisher for poor performance? With any luck, the publisher will fix future versions.

    5-0 out of 5 stars Great book: Clear, concise, and comprehensive!, January 12, 2009
    I had heard about Kochan's reputation for writing clear and concise books, so I was anxiously awaiting the release of the second edition of what has been recommended to me as THE book to learn Objective-C from. I was certainly not disappointed. I was able to work through this book in a week's time and even write my first iPhone application, just from the material presented in this text.

    Kochan methodically teaches the mechanics of the language, followed by the Foundation Framework, and then the iPhone SDK. In the last chapter on the iPhone, Kochan shows how to use two of the classes taught in the book (a calculator class and a fraction class) to develop a fraction calculator that runs on the iPhone. I was able to get the program running on the iPhone simulator that comes with the iPhone SDK. You should note that there was a mistake in listing some of the code for this example. I contacted the author and he was aware of the error. He mentioned that all the code, the answers to the exercises, and the errata will be posted shortly. It's helpful to note that Kochan is active in MacRumors forums and seems to respond quickly to questions posted there as well as to the several emails I sent him.

    After I got the iPhone fraction calculator working, I started adding features to the calculator (some came from suggestions in the exercises at the end of the chapter), and this has greatly improved my understanding of how everything works and how it all works together: XCode, Interface Builder, the iPhone Simulator, and Objective-C.

    Now I have to dive deeper into Cocoa programming and the iPhone SDK. Kochan has given me a great start to move on to one of the recommended follow-on texts with confidence and a strong footing in the language..

    In my opinion, this book is the best way to learn Objective-C and a must read for prospective mac and iPhone application developers.

    5-0 out of 5 stars Just buy it!!, March 15, 2010
    If you are reading the reviews because you're on the fence, stop now and buy this book. Of the many, many programming books I've purchased over the years, this is by far the best. (Really!) The book itself is well organized, builds steadily on previous chapters, and I'm sure will also be a great reference for some time to come. But what really sets this book apart is the author's forum. There is a TON of information, including study guides, quizzes, questions answered (often by the author himself!) topics clarified, and ideas shared. If you are already a programmer the book alone is worth purchasing. But if you are starting out or still have a thing or two to learn, the book combined with the site is invaluable.

    5-0 out of 5 stars Superb text for learning objective-C, March 6, 2010
    As an instructor looking for a text for students taking an introductory programming course, this book is perfect. I had waded through several other works on objective-c but none took the approach of starting from square one. Even though I have programmed in many languages (APL, C, Forth, Pascal) I was new to OOP and I found most other texts very tiring to understand.

    This book is a breath of fresh air and includes good exercises at the end of each chapter. Coupled with a great on-line forum site with additional quizzes and solutions to problems, this is one of the best works I could have found for learning this material.

    I highly recommend this book for anyone wishing to learn about object oriented programming and for anyone who wants to learn how to create iPhone (or Mac) applications. Writing iPhone apps is just too different an area to jump into without first getting a good grasp of the programming fundamentals. This is a necessary first step in that process.

    Dave Crabbe

    5-0 out of 5 stars Excellent Book, Formatted Perfectly for Kindle!, March 29, 2009
    This book is fantastic for beginning programers. I have a little bit of experience with C, and programming in other languages, but am completely ignorant when it comes to Objective-C. Kochan had me understanding complex subjects in minutes.

    The analogies used in this book are very clear--using the analogy in this book, I explained how classes work to my wife (whose eyes glaze over when programming is mentioned) and she understood it well.

    Another thing the author does well is avoiding overburdening the reader with too many concepts at once. Frequently, the explanations for complex concepts that are not totally relevant to the task at hand are deferred until a later section in the book. This helps you grasp the simple things early on, without feeling overwhelmed. You are then prepared when things get more complex.

    If you are a Kindle owner, you'll be happy to know that the conversion to Kindle has been done flawlessly. When important concepts are referred to, or previous examples mentioned, they are always linked for a quick click back or forward to the relevant location. Images and tables are rendered nice and large, and easy to read. One of the best Kindle formatting jobs I have ever seen.

    I fell in love with Objective-C almost immediately after starting this book. Those new to programming or Objective-C will find a lot to love here.

    5-0 out of 5 stars Outstanding book and works great on the Kindle!, March 17, 2010
    This is the fourth programming book I have bought in as many months, and it will most probably be the only one that I manage to complete! I won't repeat everything that others have written, and I will confess I am still near the beginning, but I can say that:
    - His text is clear and well presented.
    - His examples are relevant and easy to follow.
    - He actually explains WHY he is doing something!
    (How many of you have read detailed technical books and by the end of it you are just typing stuff in like a monkey with no clue why the syntax is what it is, etc.?)
    - Every chapter ends with exercises that are interesting, fun, and actually cement your learning.

    After much mental debate, I bought the Kindle version of this book (which I was pleasantly surprised to see available!). Although I find the weight of a textbook somehow comforting, in this case I was getting a bit weary of carrying around multiple 3" thick books. I can say now that I am very pleased with the Kindle version (which I actually read via "Kindle for PC"). The text is very clear, the code examples are well formatted, and the illustrations are excellent (and some are even in color!).

    And what better way to learn: I have this book open on the PC (on a MacBook Pro running in a VM window) right next to XCode (where you can enter and test the examples and exercises in parallel with your study of the book). I love it!

    I highly recommend this book for anyone who wants to learn Obj-C, perhaps on the way to learning the iPhone (as in my case).

    5-0 out of 5 stars Much more than an Excellent Book!, November 3, 2009
    I graduated as a mechanical engineer in 06' and during that time took one class on C programming. Being that it was 8 years ago and I guess you could say I was a beginner as a programmer. I was looking for a book on Objective-C back in December of '08 and after a lot of research ended up choosing this book. At the time I had read numerous good things about the book but I was unprepared for what I was actually getting. Learning computer programming is tough but this book is an excellent step by step guide to taking you comfortably from a beginner to someone who is comfortable with the Objective-C language. I started the book in March of this year and soon after was searching for answers to the exercises in Google. I ended up finding the authors forum for the book which has been worth ten times the price of the book and it is all free. There are numerous sections where you can get the answers to exercises, ask for help, make suggestions, help other etc. The really great part is the authors involvement. I have been a member since April and have over 100 posts on the site as I came across things I had further questions on. I would say at least 80% of the time the author was the one who responded and in less then 24 hours and most times less than 12 hours. Steve has a real passion for teaching and in my opinion has a real knack for doing so.

    I just finished the book today. My approach was probably more thorough than most. I first read the chapter, then reread it taking notes and then completed the exercises at the end of each chapter I also completed all of the program examples in the chapters. There are claims in the reviews that you can get through this book in 3 weeks which I find awfully hard to believe. I spent on average 7-10 a week on the book and it took me eight months to complete it. I also took advantage of the live lessons which are available online. There is a series of 16 lessons which walk you through the book. The author guides you through the book using the material from the book and there is also additional information. Conveniently it was close to the time I was finishing the book and served as a great review of what I had learned.

    While waiting for this book I picked up a copy of Learn C on the Mac and read through it. I will say that this book helped refresh my memory and did give me a good head start. I would read this again first if I had to do it over again. I am not saying that you need to learn C first I am just saying having a base knowledge didn't hurt me.

    All in all I really can't say enough about the author, the forum, the book and the community of people who are behind this book. If you are looking for a way to learn about Objective-C and you don't choose this book I think you are making a big mistake. I really wish that Steve had a book on iPhone programming. I only hope that my next steps are met with as much support and dedication as I have received from Steve. Thanks Steve!

    5-0 out of 5 stars Strongly recommended!, March 27, 2010
    OK, this is THE book if you want to start with Objective-C programming for Mac OS X, the iPhone, and now the iPad. In fact, you should read it as a prelude to any book about Cocoa programming, because having a good foundation in Objective-C is fundamental. Don't let anybody tell you that you should learn C first, Objective-C is a superset of C and you pick up enough C in the process. You can always dive into C a little bit more later. Learning C first can be even detrimental as it sometimes goes against good object oriented programming practice. There's an online forum in support of the book, where some concepts can be talked about in more detail. (Even the author is around!) Strongly recommended. ... Read more


    1-20 of 100       1   2   3   4   5   Next 20
    Prices listed on this site are subject to change without notice.
    Questions on ordering or shipping? click here for help.

    Top