Best Software Design & Engineering
And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard. Learn how to uncover the hints and hidden details in a question, discover how to break down a problem into manageable chunks, develop techniques to unstick yourself when stuck, learn (or re-learn) core computer science concepts, and practice on 189 interview questions and solutions. Extensive coverage of essential topics, such as big O time, data structures, and core algorithms. At Google, she interviewed hundreds of software engineers and evaluated thousands of hiring packets on the hiring committee.
Reviews
Find Best Price at Amazon"The DP solutions in this book are not actually tabular DP formulations--I recommend looking at the problems here http://people.cs.clemson.edu/~bcdean/dp_practice/ (Brian Dean's Dynamic Programming Practice Problems)."
"The main reason I bought the book is that it closely reflects the status quo of the technical interviews in large tech companies. For many of the problems, unless you know the solutions beforehand, there is no way you can code up a decent one within an hour. The book mentions an example, a good candidate whom the author knows very well but just cannot pass the coding interviews. I am guessing the assumption is that the coding problems we do nowadays on the interviews somehow achieve minimal number of false positives. One solution reduces the problem to checking for substrings. The author claims the time complexity is O(m+n), which I believe for Java is actually O(mn). Overall this is good book for preparing for coding interviews."
"I've been writing software for a long time, and I'm competent at my job. Because the presence of books like these create a vicious cycle: prep book gets written; interviewees study/memorize answers; interviewers make questions "harder" to compensate; new book gets written! The grinder continues to turn, and whereas ten years ago you could get a good job with some string or linked-list manipulation questions, now you've got people who consider whiteboard coding of topcoder elite questions to be the baseline measurement of programmer competency. You'll even run into lazy interviewers who take questions directly from this book, which is the ultimate in stupidity: if "good" candidates have prepared from the book, and you ask questions directly from the book, what are you really accomplishing, other than a test of memorization skills? I've seen it myself."
By the time you finish this book, you’ll be able to take advantage of the best design practices and experiences of those who have fought the beast of software design and triumphed. Eric Freeman recently ended nearly a decade as a media company executive, having held the position of CTO of Disney Online & Disney.com at The Walt Disney Company. More recently, she's been a master trainer for Sun Microsystems, teaching Sun's Java instructors how to teach the latest technologies to customers, and a lead developer of several Sun certification exams.
Reviews
Find Best Price at Amazon"a nice intro to design patterns."
"I love these Head First books."
"I've always preferred and loved the idea of fun and learn being together, and this book does exactly that, it's a book so easy to read that helps you to keep reading, and invites you to actually do the excercises, and they look fun to do."
"Fun book."
"It presents exactly what you need to know in an easy and fun to read format, making it much less of a textbook and more of a "Hey look at all this cool stuff you can do with software!""
"While GOF book covers more patterns, it's not as nearly as much fun to read as Head First Design Patterns. Bottom line: - I definitely recommend this book to any junior developer who wants to get familiar with Design Patterns. - Experienced developers will skip quite a few pages (like I did), yet it's still a good read."
"Great book, I should have read it years ago."
"This book is definitely not the patterns Nirvana, and it may not make you the patterns guru, but it sure is a great book, extremely well written to welcome the beginner to the world of patterns. Once I master this book and practice the patterns, I am sure I will be able to move to the next level and maybe I will be better able to understand the GOF bible which I learn is a must read for any serious techie!"
Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it. Clean Code is divided into three parts. How to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development. Robert C. “Uncle Bob” Martin has been a software professional since 1970 and an international software consultant since 1990.
Reviews
Find Best Price at Amazon"What's sad about the reality is that 'bad code' will continually increase over time because people don't realize what 'bad code' can do in the long run."
"This is one of the books that I keep multiple copies of around my office for my developers to read."
"Best book for programming, period."
"I believe that mastery of computer programming involves mastery of both the science & the art of programming, and this is the go-to book for the art of computer programming."
"Although highly opinionated, applying the principles and practices here will make any programmer more productive than they might otherwise be."
"This is a great book for learning to write easy, readable, testable code."
"Great writing, with clear examples and explanations."
"Stop reading reviews, start reading the book."
Best Business Software Guides
Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project. He is the author of several books, including Code Complete and Rapid Development, both honored with Software Development magazine's Jolt Award.
Reviews
Find Best Price at Amazon"readable encyclopedia of best practices on software quality, covering topics such as how to build classes, use data and control structures, debug, refactor, and code-tune. Yes, it would be nice if the book was updated to include substantive material on languages like Ruby or Python (cf. p. 65, Python "also contains some support for creating larger programs") but, in the words of Gertrude Stein, "Not everything can be about everything" -- though Code Complete does come pretty close. McConnell also sprinkles the text with classic words of wisdom, e.g. "The competent programmer is fully aware of the strictly limited size of his own skull" (Edsger Dijkstra), "Never debug standing up" (Gerald Weinberg), "Copy and paste is a design error" (David Parnas), "Any fool can defend his or her mistakes -- and most fools do." It is important to point out that even though this volume is encyclopedia-like, it does have both a sense of humor (e.g. "the encryption algorithm is so convoluted that it seems like it's been used on itself") and a clear authorial voice (e.g. "Though sometimes tempting, that's dumb."). 33, after quoting Edward Yourdon at length, McConnell adds "This lusty tribute to programming machismo is pure B.S. I found this to be bizarre, given that in the 1995 edition of "The Mythical Man-Month" Brooks states in no uncertain terms that he has changed his mind on this: "This I now perceive to be wrong" (p. 265). On a different note, although some of the on-line accompanying material is fascinating (e.g. the links to the original Dijkstra and Lawrence articles in ch."
"Very readable, excellent real-world examples and case studies, and many valuable insights."
"I'm a self taught programmer going on 5 years now doing it full time, and I have learned a lot of techniques that have filled in some holes in my skills."
"The Microsoft code way."
"Bad humor, takes a long time to convey information, but is useful."
"I'd also recommend the more recent Clean Code, especially for Java programmers, as it goes into more depth, even providing actual case studies in which code is dramatically cleaned up."
"I make all of my new programmers at least read selections from it (in fact that is part of our training program.)."
"Great book on software development."
Best Computer Programming Languages
And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard. Learn how to uncover the hints and hidden details in a question, discover how to break down a problem into manageable chunks, develop techniques to unstick yourself when stuck, learn (or re-learn) core computer science concepts, and practice on 189 interview questions and solutions. Extensive coverage of essential topics, such as big O time, data structures, and core algorithms. At Google, she interviewed hundreds of software engineers and evaluated thousands of hiring packets on the hiring committee.
Reviews
Find Best Price at Amazon"The DP solutions in this book are not actually tabular DP formulations--I recommend looking at the problems here http://people.cs.clemson.edu/~bcdean/dp_practice/ (Brian Dean's Dynamic Programming Practice Problems)."
"The main reason I bought the book is that it closely reflects the status quo of the technical interviews in large tech companies. For many of the problems, unless you know the solutions beforehand, there is no way you can code up a decent one within an hour. The book mentions an example, a good candidate whom the author knows very well but just cannot pass the coding interviews. I am guessing the assumption is that the coding problems we do nowadays on the interviews somehow achieve minimal number of false positives. One solution reduces the problem to checking for substrings. The author claims the time complexity is O(m+n), which I believe for Java is actually O(mn). Overall this is good book for preparing for coding interviews."
"I've been writing software for a long time, and I'm competent at my job. Because the presence of books like these create a vicious cycle: prep book gets written; interviewees study/memorize answers; interviewers make questions "harder" to compensate; new book gets written! The grinder continues to turn, and whereas ten years ago you could get a good job with some string or linked-list manipulation questions, now you've got people who consider whiteboard coding of topcoder elite questions to be the baseline measurement of programmer competency. You'll even run into lazy interviewers who take questions directly from this book, which is the ultimate in stupidity: if "good" candidates have prepared from the book, and you ask questions directly from the book, what are you really accomplishing, other than a test of memorization skills? I've seen it myself."
Best Object-Oriented Software Design
These texts cover the design of object-oriented software and examine how to investigate requirements, create solutions and then translate designs into code, showing developers how to make practical use of the most significant recent developments. Design Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design.
Reviews
Find Best Price at Amazon"Depending on on how you think of programming, this book could be incredibly insightful, or horribly abstract and impractical."
"I find it very interesting and it goes into details for design patterns and re-use of code."
"I have been using this book as a reference on Design Pattern."
"This book will forever stand as a foundation of software development."
"OK, so this title has become almost a bible for the software industry - it seems to get cited by every other author I read, so I thought it was about time I actually bought a copy."
"Even though I program in ABAP, it helps me to translate the pattern into that code."
"Great book for who want to understand each pattern deeply."
"Excelent book."
Best Database Storage & Design
Whether you're an application developer, database administrator, web application designer, mobile app developer, or Microsoft Office users, a good working knowledge of SQL is an important part of interacting with databases. And Sams Teach Yourself SQL in 10 Minutes offers the straightforward, practical answers you need to help you do your job. Expert trainer and popular author Ben Forta teaches you just the parts of SQL you need to know–starting with simple data retrieval and quickly going on to more complex topics including the use of joins, subqueries, stored procedures, cursors, triggers, and table constraints. You'll learn methodically, systematically, and simply–in 22 short, quick lessons that will each take only 10 minutes or less to complete. With the Fourth Edition of this worldwide bestseller, the book has been thoroughly updated, expanded, and improved. Lessons now cover the latest versions of IBM DB2, Microsoft Access, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite, MariaDB, and Apache Open Office Base. And new full-color SQL code listings help the beginner clearly see the elements and structure of the language. Construct complex SQL statements using multiple clauses and operators. He is the author of the best-selling Sams Teach Yourself SQL in 10 Minutes , spinoff titles on MySQL and SQL Server T-SQL, ColdFusion Web Application Construction Kit and Advanced ColdFusion Application Development (both published by Adobe Press), Sams Teach Yourself Regular Expressions in 10 Minutes , as well as books on Flash, Java, Windows, and other subjects.
Reviews
Find Best Price at Amazon"great quick ref for daily sql users or someone who is just starting to learn."
"), people looking for a book about databases (this book only goes into the basic SQL stuff, though it does mention a couple good practices for database structure), anyone who wants an in-depth book about SQL (it really does just cover the basics). In short, this book is for newbies who need to learn SQL quickly: just the basics, an intro into more advanced topics, it's very user friendly, easy to follow, and you can get through it in an afternoon if need be."
"This is a brilliantly colored guide that takes you step-by-step through the basic of learning SQL."
"Mr. Forta navigates effortlessly through the deeper constructs of SQL, illuminating such oddities as the the Cartesian Product with the same ease that he describes time-saving techniques like JOINS and SUBQUERIES."
"However, in practice, this is the first book I turn to when I need a quick reference for basic/intermediate SQL use."
"The Kindle versions also helpful because I don't have to carry the book with me everywhere."
"I don't really write review on product but today I decided to do that because this book is on point."
"Not good."
Best Computer Networking
From Mike Meyers, the #1 name in CompTIA training and exam preparation, a thorough revision of his bestselling exam guide―updated to cover the 2015 release of the CompTIA Network+ exam. Network architectures Cabling and topology Ethernet basics Network installation TCP/IP applications and network protocols Routing Network naming Advanced networking devices IPv6 Remote connectivity Wireless networking Virtualization and cloud computing Network operations Managing risk Network security Network monitoring and troubleshooting. Mike Meyers, CompTIA A+, CompTIA Network+, CompTIA Security+, is the industry's leading authority on CompTIA certifications and the bestselling author of eight editions of CompTIA A+ Certification All-in-One Exam Guide .
Reviews
Find Best Price at Amazon"Very good overview."
"Very understandable, pulls together concepts in very logical fashion with good detail."
"Mike Meyer's in depth look at objectives on the test has been very helpful in my studying!"
"Will take the test next week."
"great gift for beginners."
"necessary for exam study."
Best Computer Operating Systems
Practice exams download for both exam 901 and 902 with hundreds of accurate practice exam questions More than an hour of online video training featuring Mike Meyers Online performance-based simulations that prepare you for the performance-based exam questions A link to Mike's favorite PC tools A PDF copy of the book. He is author of Mike Meyers’ A+ Guide to Managing and Troubleshooting PCs and Mike Meyers’ Network+ Guide to Managing and Troubleshooting Networks .
Reviews
Find Best Price at Amazon"My method of study i chose to read this textbook cover to cover, taking all practice tests at the end of each chapter, along with the included practice exams on the disc. In addition to this text i went further to find online practice exams and Professor Messer videos on Youtube as free self studying material. The book covered the objectives and even went beyond which is why this makes a great on-the-job reference."
"Most importantly, I was looking for a book that could not only keep me engaged yet also provide the necessary educational materials. Presently I'm over a hundred or so pages in (the book is Bible thick) and have purposely slowed myself down at times to ensure lesson absorption but honestly could read this book like it was a spellbinding work of fanciful fiction. It really helps to have an actual, honest interest in the subject matter and there are times where you'll want access to several different operating systems."
"Just started, but it has been an easy to follow book so far."
"It's alright, the language the guy uses isn't 100% professional but VERY relatable with the youth."
"Will always keep current copies of Mike Meyers books in my library."
"Gives a CD in order for you to have a digital copy of the book as well as other helpful quizzes....I do not have a CD drive on my laptop, had to go out of my way to find someone with a CD drive just to place it on a thumb drive."
"this is an IT field essential."
"Came it great condition, book is a bible but it very entertaining and it's enjoyable."
Best Artificial Intelligence
An Introduction to Statistical Learning provides an accessible overview of the field of statistical learning, an essential toolset for making sense of the vast and complex data sets that have emerged in fields ranging from biology to finance to marketing to astrophysics in the past twenty years. “Written by four experts of the field, this book offers an excellent entry to statistical learning to a broad audience, including those without strong background in mathematics. … the book also demonstrates how to apply these methods using various R packages by providing detailed worked examples using interesting real data applications.” (Klaus Nordhausen, International Statistical Review, Vol. “The book is structured in ten chapters covering tools for modeling and mining of complex real life data sets. … The style is suitable for undergraduates and researchers … and the understanding of concepts is facilitated by the exercises, both practical and theoretical, which accompany every chapter.” (Irina Ioana Mohorianu, zbMATH, Vol. "The book excels in providing the theoretical and mathematical basis for machine learning, and now at long last, a practical view with the inclusion of R programming examples.
Reviews
Find Best Price at Amazon"This is a wonderful book written by luminaries in the field."
"The book provides the right amount of theory and practice, unlike the earlier (venerable and, by now, stable) text authored (partly) by the last two authors of this one (Elements of Statistical Learning), which was/is a little heavy on the theoretical side (at least for practitioners without a strong mathematical background). It is, however, an excellent introduction to Learning due to the ability of the authors to strike a perfect balance between theory and practice. ISL is an excellent choice for a two-semester advanced undergraduate (or early graduate) course, practitioners trained in classical statistics who want to enter the Learning space, and seasoned Machine Learners. ____________________________________________. UPDATE (12/17/2013): Two of the authors (Hastie & Tibshirani) are offering a 10-week free online course (StatLearning: Statistical Learning) based on this book found at Stanford University's Web site (Starting Jan. 21, 2014)."
"Hands down one of the best intro books to data science/machine learning out there."
"I came to this book after a few other more technical and comprehensive books on machine learning and still find this book a useful and interesting read."
"Comparable to Mitchell's "Machine Learning" only more up to date and includes hands-on labs (using R... well, better than nothing... had they used something like numpy/python, 5-stars!)."
"I am taking off one star as this book does not cover naive Bayes which is a very useful and popular algorithm."
"Great book."
"A beautifully written and composed survey of modern statistical learning techniques."
Best Computer Graphics
Good game design happens when you view your game from as many perspectives as possible. Game Nite ’s Editors’ Choice "… this book is considered by many to be the ‘bible’ of game design. … Much of the material has been updated … the introduction to probability … is a must read for aspiring game designers … engaging and thought provoking … a substantial book for someone looking to get serious about game design. … this book trains you to think as a designer …". ―James Portnow, Game Designer, CEO of Rainmaker Games, and Writer of Extra Credits. "This book was clearly designed, not just written, and is an entire course in how to be a game designer. "As indicated by its title, Jesse Schell’s The Art of Game Design: A Book of Lenses uses many different perspectives (the titular lenses), which each prompt their own important questions, ranging from ‘What problems does my game ask the players to solve?’ to ‘What does beauty mean within the context of my game?’ These distinct points are interwoven throughout a step-by-step analysis of the design process that begins with the designer and his or her basic idea, and builds successfully from there. "Easily the most comprehensive, practical book I’ve ever seen on game design." "Jesse Schell’s new book, The Art of Game Design , is a marvelous introduction to game design by a true master of the form. " The Art of Game Design describes precisely how to build a game the world will love and elegantly crank it through the realities of clients and publishers. "Packed with Jesse’s real-world experience and humorous insight, The Art of Game Design: A Book of Lenses is a tool chest crossed with a kaleidoscope. Like a chemistry set for making mental explosions, it’s an idea(l) book guiding the design process for both new and seasoned game designers. "On games industry desks, books tend to come and go, but they all seem to go on top of Jesse Schell’s The Art of Game Design , because that’s the one book that seems to stick around." "Ken Rolston, internationally celebrated game designer, recommends Jesse Schell’s The Art of Game Design both for smart people and for people who are learning how to be smart."
Reviews
Find Best Price at Amazon"A great tool for checklist of elements and find some other issues, is not absolute, and depends more of the way of use, team and school of knowledge, frameworks one uses, but is it indeed effective, especially on Gamified Designs."
"Schell does a great job outlining the philosophy and process of game design."
"Best and most useful textbook to date."
"This is a great, straight-forward book on iterative game design created by someone active in the field."
"And he also covers methods that other entertainment industries use, giving anyone interested in designing games more options in creating better experiences."
"Fantastically good book on game design."
"This clear vocabulary is empowering, as it enables a designer to more easily think about the elements of their game, and in addition, to add to the foundation that Jesse has already put together."
Best Computer Algorithms
A new edition of the essential text and professional reference, with substantial new material on such topics as vEB trees, multithreaded algorithms, dynamic programming, and edge-based flow. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. (Gabriel Robins, Department of Computer Science, University of Virginia) Introduction to Algorithms , the 'bible' of the field, is a comprehensive textbook covering the full spectrum of modern algorithms: from the fastest algorithms and data structures to polynomial-time algorithms for seemingly intractable problems, from classical algorithms in graph theory to special algorithms for string matching, computational geometry, and number theory.
Reviews
Find Best Price at Amazon"It is a very nice book, but sometimes you can find a simpler description/explanation of some algorithms."
"Now 8 years later, I bought the third edition to renew these knowledge."
"However, it's still an introduction to algorithms, although it's already hard for most of averaged students."
"I love this book."
"This textbook isn't just a textbook for an algorithms class."
"Gives complete and deep explanation on topics covered."
"This type of material is easier to read on a wide screen."
"I actually bought it so that I could follow the MIT Computer Science course on OCW (open course ware), and though some chapters are a bit intimidating, I have learn much more than I expected."