Showing posts with label computer science. Show all posts
Showing posts with label computer science. Show all posts

36% Off Discounts: Purchase Cheap Design Patterns: Elements of Reusable Object-Oriented Software Review

Design Patterns: Elements of Reusable Object-Oriented Software

Are you looking to buy Design Patterns: Elements of Reusable Object-Oriented Software? here is the right place to find the great deals. we can offer discounts of up to 90% on Design Patterns: Elements of Reusable Object-Oriented Software. check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Design Patterns: Elements of Reusable Object-Oriented Software Review

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

Design Patterns: Elements of Reusable Object-Oriented Software Overview



Want to learn more information about Design Patterns: Elements of Reusable Object-Oriented Software?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

39% Off Discounts: Purchase Cheap Computer Science Illuminated, Fourth Edition Review

Computer Science Illuminated, Fourth Edition

Are you looking to buy Computer Science Illuminated, Fourth Edition? here is the right place to find the great deals. we can offer discounts of up to 90% on Computer Science Illuminated, Fourth Edition. check out the link below:

>> Click Here to See Compare Prices and Get the Cheapest Deals

Computer Science Illuminated, Fourth Edition Review

I am currently using this text for the fifth time in my survey course for non-majors. It does exactly what I want it to do: it gives the students a feel for each of the topics with just enough depth to be rigorous for non-majors without being overwhelming. It's not perfect for my tastes; I do less than a full chapter, for example, when talking about languages (only covering the introductions to Chapters 7 and 8), whereas I do a full week on an expanded coverage of databases (Chapter 12). But I have a hard time imagining a text with a better fit, and I have used this since its first edition.

Computer Science Illuminated, Fourth Edition Overview

Revised and updated with the latest information in the field, the Fourth Edition of Computer Science Illuminated continues to engage and enlighten students on the fundamental concepts and diverse capabilities of computing. Written by two of today s most respected computer science educators, Nell Dale and John Lewis, the text provides a broad overview of the many aspects of the discipline from a generic view point. Separate program language chapters are available as bundle items for those instructors who would like to explore a particular programming language with their students. The many layers of computing are thoroughly explained beginning with the information layer, working through the hardware, programming, operating systems, application, and communication layers, and ending with a discussion on the limitations of computing. Perfect for introductory computing and computer science courses, the fourth edition's thorough presentation of computing systems provides computer science majors with a solid foundation for further study, and offers non-majors a comprehensive and complete introduction to computing.

Want to learn more information about Computer Science Illuminated, Fourth Edition?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

19% Off Discounts: Purchase Cheap Computer Networking: A Top-Down Approach (5th Edition) Review

Computer Networking: A Top-Down Approach (5th Edition)

Are you looking to buy Computer Networking: A Top-Down Approach (5th Edition)? here is the right place to find the great deals. we can offer discounts of up to 90% on Computer Networking: A Top-Down Approach (5th Edition). check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Computer Networking: A Top-Down Approach (5th Edition) Review

This review compares the following four books:
Computer Networks by Peterson and Davie (P & D)
Computer Networks by Tanenbaum
Computer Networks by Comer / Internetworking with TCP/IP
Computer Networking by Kurose and Ross (K & R)
By far the best book in the list is "Computer Networking" by Kurose and Ross. This book covers all of the essential material that is in the other books but manages to do so in a relevant and entertaining way. This book is very up to date as seen by the release of the 5th Ed when the 4th Ed is barely two years old. There are lots of practical exercises using wireshark and the companion website is actually useful and relevant. The attitude of this book with regard to teaching networking concepts could be summed up as "try it out and see for yourself". One interesting thing to note is that the socket programming example are all in Java.
Next up is the Peterson and Davie book which covers everything that Kurose and Ross discuss but is slightly more mathematical in how it goes about things. There are a lot more numerical examples and defining of formulas in this book which is fine by me and in no way detracts from the book. Also the socket programming examples are in C which is a little more traditional. The points where this text loses ground to K & R is that it doesn't have the practical application exercises that K & R has and it also doesn't extend the basic networking theory that is covered to modern protocols like K & R.
The two Comer books come next. Comer's "Computer Networks" book is probably the most introductory book out of this whole list and is more of a survey of networking topics that doesn't cover anything in any real depth. Still, this is an excellent book in that it is a quick clear read that is very lucid in its explanations and you can't help feeling that you understand everything that is covered in the book. Comer's TCP/IP book is the equivalent of the other authors' computer network books and in that respect it is pretty average. It covers all of the relevant material and in a manner which is more than readable but that is all. There is nothing exceptional about the book which stands out from the rest.
Last comes Tanenbaum's book from the author who is probably most famous for his OS books. This is probably the most technical and detailed of the books with lots of sample C code belying is experience with operating systems and their network stack code. The weak point of this book is that all of the code and technical minutia might prevent the reader from seeing the forest for the trees. Unless you are trying to learn how to program your own network stack for a Unix/Linux system, then I would get either the K & R book or the P & D book to learn networking for the first time. This book would best be served as a reference in which case the technical nature of the book becomes a benefit rather than detracting from the text.

Computer Networking: A Top-Down Approach (5th Edition) Overview

Building on the successful top-down approach of previous editions, the Fifth Edition of Computer Networking continues with an early emphasis on application-layer paradigms and application programming interfaces, encouraging a hands-on experience with protocols and networking concepts. With this edition, Kurose and Ross have revised and modernized treatment of some key chapters to integrate the most current and relevant networking technologies. Networking today involves much more than standards specifying message formats and protocol behaviors—and it is far more interesting. Professors Kurose and Ross focus on describing emerging principles in a lively and engaging manner and then illustrate these principles with examples drawn from Internet architecture.

Want to learn more information about Computer Networking: A Top-Down Approach (5th Edition)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

34% Off Discounts: Buy Cheap C Programming Language (2nd Edition) Review

C Programming Language (2nd Edition)

Are you looking to buy C Programming Language (2nd Edition)? here is the right place to find the great deals. we can offer discounts of up to 90% on C Programming Language (2nd Edition). check out the link below:

>> Click Here to See Compare Prices and Get the Great Deals

C Programming Language (2nd Edition) Review

This book (widely known as K&R, after the authors' initials) has for over twenty years been the best way to learn C. When I got this book in 1980, I had access to a Unix system and worked through much of the tutorial material in it. On the way I learnt a great deal, not just about C, but about good programming style, code reuse, the value of clear comments--in short, I was introduced to the skill set of an experienced computer professional.
The book was a trendsetter in several ways. For example, the very first exercise given is to print "hello, world"; this is now seen as the first exercise in innumerable other, more recent books, many of which may not realize that they are borrowing from K&R. The rest of chapter 1 (there's a chapter 0, an introduction; another geek-cool change which has been widely copied) is a tutorial that takes you through assignment statements, data types, if/else, for, while, printf, function definitions, arrays, and variable scoping, in less than 30 pages. If you work your way through the embedded exercises you'll have written utilities to strip tabs, reverse input by lines, strip trailing whitespace from input, and several others. This is much more challenging than most tutorials, but the effect on the student is that you feel you are being treated as an equal. The book doesn't talk down to you; it gives you accurate and concise answers. It's written for programmers, in other words.
The next few chapters go back over the elements of C in more detail, and should also be treated as a tutorial. Going through this material religiously will be far more valuable than any college class could possibly be.
There is a reference section at the back, which is good to have. But the real value of this book is in the tutorial approach: it is a rare pleasure in the computing field to find a book that is simultaneously clear, stimulating and informative.

C Programming Language (2nd Edition) Overview



Want to learn more information about C Programming Language (2nd Edition)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

21% Off Discounts: Purchase Cheap Artificial Intelligence: A Modern Approach (3rd Edition) Review

Artificial Intelligence: A Modern Approach (3rd Edition)

Are you looking to buy Artificial Intelligence: A Modern Approach (3rd Edition)? here is the right place to find the great deals. we can offer discounts of up to 90% on Artificial Intelligence: A Modern Approach (3rd Edition). check out the link below:

>> Click Here to See Compare Prices and Get the Cheapest Deals

Artificial Intelligence: A Modern Approach (3rd Edition) Review

- With AIMA 1st Edition, I had relearned AI anew from a fresh, insightful and wonderfully pedagogical perspective.
Best computer science textbook ever.
- With AIMA 2nd Edition, I got a lot of recent advances in AI brought to me in the same way, even if presented at times in a way that was too concise for a textbook, and read more like an encyclopedia.
Yet, great 2nd Edition.
- This 3rd Edition is alas AIMA 2.1 and not the AIMA 3.0 that I was waiting for. The new material and new insightful way to organize past material are both scant. Certainly not worth the price for those who own the 2nd Edition.
Don't get me wrong, if you are about to buy your first AI textbook, this is a great buy as it is still light years ahead of the competition. But some chapters that were getting really thin and outdated in 2009 did not get significant updating.
This is particularly true for knowledge representation. Missing are all the recent yet already consolidated advances brought about by the new solutions to the frame problem (such as the fluent calculus), default reasoning, abduction-based and case-based diagnosis, rule-based reasoning (such as constraint handling rules, answer sets, object-oriented logic programming etc.), in short, all forms of reasoning that are neither pure deduction, nor probabilistic. Advances on multi-agent reasoning are also not covered. I understand that to summarize AI in 1000 pages many important topics will not make the cut, but I feel, as a researcher on the topic for the past 25 years and lecturer on it for the past 15 years, that this 3rd edition contains obsolete stuff from the 80s (like frames, semantic networks, production systems, situation calculus, etc.) instead of their modern substitute listed above.
In short, after two Herculean efforts, it seems like the authors put far less work in this one. As a result, we are left without an truly comprehensive and up-to-date text to teach AI and agents. I hope the incoming text by David Poole will cover some of the weaknesses of this AIMA 2.1.

Artificial Intelligence: A Modern Approach (3rd Edition) Overview

Artificial Intelligence: A Modern Approach, 3e offers the most comprehensive, up-to-date introduction to the theory and practice of artificial intelligence. Number one in its field, this textbook is ideal for one or two-semester, undergraduate or graduate-level courses in Artificial Intelligence.
Dr. Peter Norvig, contributing Artificial Intelligence author and Professor Sebastian Thrun, a Pearson author are offering a free online course at Stanford University on artificial intelligence.
According to an article in The New York Times, the course on artificial intelligence is "one of three being offered experimentally by the Stanford computer science department to extend technology knowledge and skills beyond this elite campus to the entire world." One of the other two courses, an introduction to database software, is being taught by Pearson author Dr. Jennifer Widom.
Artificial Intelligence: A Modern Approach, 3e is available to purchase as an eText for your Kindle™, NOOK™, and the iPhone®/iPad®.
You can also purchase the eText for 180 days through CourseSmart.

Buy the Print Book
Buy the CourseSmart eTextbook
To learn more about the course on artificial intelligence, visit http://www.ai-class.com. To read the full New York Times article, click here.


Want to learn more information about Artificial Intelligence: A Modern Approach (3rd Edition)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

22% Off Discounts: Purchase Cheap Computer Organization and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) Review

Computer Organization and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)

Are you looking to buy Computer Organization and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)? here is the right place to find the great deals. we can offer discounts of up to 90% on Computer Organization and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design). check out the link below:

>> Click Here to See Compare Prices and Get the Lowest Price Offers

Computer Organization and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) Review

Iown all 4 editions of this book, plus the 4 published editions (and one preliminary edition) of the related "Computer Architecture - A Quantitative Approach".
Why?
Because, every time one of these comes out, they become clear standards. The last 20 years have been a period of rapid changes in computing. Fortunately Patterson and Hennessy somehow find time to update their books about every 5 years, not only adding new material, but also improving the pedagogy and readability for different audiences.
This book offers a thoughtful combination of printed and electronic information that potential authors should study, as this combination has evolved across the various iterations.
I especially appreciate the reader's guide (page xvii), which highlights different paths through the book for different audiences. This is very important in books that cover material comprehensively, as not everyone needs to read everything, especially the first time through.
This edition is well worth having, even if one already has the earlier ones. The additional material on multiprocessors is especially crucial, given that uniprocessor performance growth has slowed, and multiprocessor software remains challenging.
I spent many years trying to get people to write software at the highest level possible, but the otherwise-desirable trend in that direction can have one unfortunate side-effect. Some younger software designers have little or no experience with computer architecture and hardware/software interface, and it is all too easy to create performance and scalability surprises that could easily be avoided.
I'd strongly recommend this book to avoid such surprises. Even if a programmer writes in very high level languages, some knowledge of the lower levels and their pitfalls goes a long way.
I used to recommend the other book to people like technology journalists, venture capitalists, and financial analysts, i.e., people who are rarely computer professionals, but need to understand computer technology and its trends. Many such have been surprised to find the book was useful to them.
However, as Patterson and Hennessy have reworked the balance of material between the two books, the more introductory material is located here, whereas the other book is more appropriate for computer designers or software people working close to the hardware.
Hence, the next time someone needs to understand computer technology, well-explained by experts, this is the book I'd recommend.

Computer Organization and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) Overview


The best-selling computer organization book is thoroughly updated to provide a new focus on the revolutionary change taking place in industry today: the switch from uniprocessor to multicore microprocessors. This new emphasis on parallelism is supported by updates reflecting the newest technologies, with examples highlighting the latest processor designs and benchmarking standards. As with previous editions, a MIPS processor is the core used to present the fundamentals of hardware technologies, assembly language, computer arithmetic, pipelining, memory hierarchies and I/O. Sections on the ARM and x86 architectures are also included.

A companion CD provides a toolkit of simulators and compilers along with tutorials for using them, as well as advanced content for further study and a search utility for finding content on the CD and in the printed text.

Covers the revolutionary change from sequential to parallel computing, with a new chapter on parallelism and sections in every chapter highlighting parallel hardware and software topics.
Includes a new appendix by the Chief Scientist and the Director of Architecture of NVIDIA covering the emergence and importance of the modern GPU, describing in detail for the first time the highly parallel, highly multithreaded multiprocessor optimized for visual computing.
Describes a novel approach to measuring multicore performance--the "Roofline model"--with benchmarks and analysis for the AMD Opteron X4, Intel Xeon 5000, Sun UltraSPARC T2, and IBM Cell.
Includes new content on Flash memory and Virtual Machines.
Provides a large, stimulating set of new exercises, covering almost 200 pages.
Features the AMD Opteron X4 and Intel Nehalem as real-world examples throughout the book.
Updates all processor performance examples using the SPEC CPU2006 suite.


Want to learn more information about Computer Organization and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...

30% Off Discounts: Buy Cheap Introduction to Algorithms Review

Introduction to Algorithms

Are you looking to buy Introduction to Algorithms? here is the right place to find the great deals. we can offer discounts of up to 90% on Introduction to Algorithms. check out the link below:

>> Click Here to See Compare Prices and Get the Cheapest Deals

Introduction to Algorithms Review

First of all, this is the quintessential book on algorithms. If you want to learn, this is the book to get. The information in the book is awesome and it can make an excellent reference.
Students will need a very strong mathematical background and a strong arm to even think about picking up this book because the it is heavy (both physically and metaphorically). Mastery of discrete math is a must, graph theory, programming, and, combinatorics will also help.
With that said, this book falls short in one MAJOR area, explanations. Too often explanations are left out and left as exercises and there are no solutions to the exercises! Or details are replaced by ambiguous statements such as of "cleary, this works", or "it is easy to see that this ...". I get the concept of learning by doing, really I do, but there should be some kind of solutions so the student can CHECK his/her understanding of the material and sometimes the exercises are not about advanced aspects of a concept, sometimes it is the core material. Even if the solution manual only contained a simple answer without the work. Not only would it help tremendously but the purpose of doing the exercises would be preserved; that is the student getting his/her "hands dirty" and working out a problem.
For the love everything good and pure in this universe, I really wish writers of mathematical books would stop using statements like "clearly this works" or "it is easy to see", "it is obvious" etc. While that may be true for you and your brilliant circle of colleagues, everything is not always clear and obvious to your readers. Save all of that ambiguity for your research paper.

A great book should deliver in two areas; it should challenge and it should inform. The challenge is there, no doubt. However in some ways it fails to inform the reader. The authors should really think about releasing a students solution manual to help students learn better. I take away two stars for the reasons stated about.

Introduction to Algorithms Overview

"Introduction to Algorithms, the 'bible' of the field, is acomprehensive textbook covering the full spectrum of modern algorithms: from thefastest algorithms and data structures to polynomial-time algorithms for seeminglyintractable problems, from classical algorithms in graph theory to specialalgorithms for string matching, computational geometry, and number theory. Therevised third edition notably adds a chapter on van Emde Boas trees, one of the mostuseful data structures, and on multithreaded algorithms, a topic of increasingimportance."--Daniel Spielman, Department of Computer Science, YaleUniversity (Daniel Spielman )

Want to learn more information about Introduction to Algorithms?

>> Click Here to See All Customer Reviews & Ratings Now
Read More...