Best Algorithm Programming
Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. 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"I had my moments of wanting to hurl it across the room, but it remained amongst the few texts I held onto, thinking it might be useful or enlightening in the future, relative to the burden of lugging it around. - Problem set. Tip: Concrete Mathematics by Knuth is good primer, establishing the specific discrete and continuous mathematical techniques underpinning the algorithms, and filling several knowledge gaps."
"I bought the paperback edition, which is significant lighter because of the thinner paper however that allows the text to be seen from the other side."
"The best introduction to algorithms book, hands down."
"It would be best to study this along with a computer science course on the same matters, or along with a more practical book that concentrates on implementing those algorithms and data structures."
"Nice book both if you're trying to get started on algorithms ( that was my case) and if you are looking for a reference book."
"I bought it for school thinking I would sell it back after exams, but I decided to keep this book and have it permanently in my library."
"Just bought the Third edition Hardcover."
This expanded and updated second edition of a classic bestseller continues to take the 'mystery' out of designing and analyzing algorithms and their efficacy and efficiency. “The Algorithm Design Manual by Steven Skiena is aimed at two groups of people: students and professionals. … Each of the topics is treated in a readable informal style with lots of asides and accounts of personal experiences - ‘war stories’ in implementing algorithms. It will not only serve as a valuable undergraduate textbook, but it will also become an irreplaceable reference guide for most professionals in the area." … this book is suitable as a text for an undergraduate algorithms class, but also as an invaluable reference for the practicing programmer. "My absolute favorite for this kind of interview preparation is Steven Skiena’s The Algorithm Design Manual. More than any other book it helped me understand just how astonishingly commonplace … graph problems are -- they should be part of every working programmer’s toolkit. The book also covers basic data structures and sorting algorithms, which is a nice bonus. The list of implementations, an extensive bibliography … make the book an invaluable resource for everyone interested in the subject." The list of implementations [and] extensive bibliography make the book an invaluable resource for everyone interested in the subject." "It has all the right ingredients: rich contents, friendly, personal language, subtle humor, the right references, and a plethora of pointers to resources." This newly expanded and updated second edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficacy and efficiency. Expanding on the first edition, the book now serves as the primary textbook of choice for algorithm design courses while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The first part, Techniques , provides accessible instruction on methods for designing and analyzing computer algorithms. • Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them.
Reviews
Find Best Price at Amazon"I guess many software developers would reach efficient solutions much quicker after having read this book, and find that problems they've struggled with are already solved and even have names."
"A classic for anyone who wants to build a solid foundation of algorithm theory and practice."
"Clear, concise, C style coding."
"Great book, very detailed explanations of the most often used algorithms."
"This is a great book."
"Good book for beginners."
"It's incredibly easy to read and grok (I read it cover to cover)."
"Probably the best book that I own on Algorithms and Data Structures."
A walkthrough of computer science concepts you must know. It attempts to condense a large subset of a standard computer science curriculum in a mere 168 pages—a rather formidable task. The book offers a glimpse of important topics usually taught in discrete mathematics, data structures, algorithms, computer architecture, databases, operating systems, and programming languages courses. The author targets the casual coder who is missing fundamental knowledge in computer science. The claim that this book can open the door to programming mastery is a bit farfetched, as the material it exposes barely scratches the surface. The missing guide to computer science topics every programmer should know Do you know basic coding, but hesitate to tackle big problems?
Reviews
Find Best Price at Amazon"It has helped me tremendously to strengthen concepts I had trouble with in the past, and the author manages to explain it in a way that's light and entertaining at the same time."
"Nice book for non-cs reader."
"This book offer a good explanation of computer science specifically for people who are self- thought programmers."
"Good book for understanding computer science."
"I'm a geophysicist and have been programming (somewhat haphazardly, I admit) for about 7 years."
"Great book for me and my 8yr old daughter."
"I think Wladston has done an outstanding job making the concepts in this book easily digestible. As a newcomer to computer science, not once did I scratch my head or felt overwhelmed by the information in this book."
"A bit outdated, needs to address object oriented paradigms, but excellent presentation and basic computer science material."
Best Microsoft Programming
This book shows how to use the Power Query tool to get difficult data sets into both Excel and Power Pivot, and is solely devoted to Power Query dashboarding and reporting. Miguel Escobar is an Excel MVP and a consultant and expert on business intelligence, PowerPivot, Excel, Power View, and SharePoint.
Reviews
Find Best Price at Amazon"I had been wondering for a while (like the past year or so) what Power Query was, but I was not really finding a good, clear answer."
"For all the Excel users out there that are just discovering Power Pivot, do yourselves a big favor and go ahead and get familiar with Power Query as well - this is a good book to have on your shelf."
"There are some useful books on DAX (this is NOT a book on DAX), but don't overlook the role of pre-shaping and automating your data model."
"If you are a QB user and hate the Advance Report engine, dump that junk and dig into power query."
"The book isn't bad but I found that I rarely used it as Power Query has most of the important functions as easy-to-use buttons that write the code for you and the code that couldn't be generated could be found easily through google."
"I Love this book for learning Power Query and have already recommended it to a colleague."
"Great book!"
"This book is worth every penny."
Best Open Source Programming
The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functions The relationships among std::move , std::forward , rvalue references, and universal references Techniques for writing clear, correct, effective lambda expressions How std::atomic differs from volatile , how each should be used, and how they relate to C++'s concurrency API How best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. For more than 20 years, Scott Meyers’ Effective C++ books (Effective C++, More Effective C++, and Effective STL) have set the bar for C++ programming guidance.
Reviews
Find Best Price at Amazon"Great book so far."
"I write c++ almost everyday and this book was immediately useful."
"Then this is the book for you."
"I was skeptical about C++11 thinking it was just a makeup to look like other newer languages."
"Excellent exploration of 11 and 14 features."
"As he has done in the past, Scott Meyers has filled-in the gaps between the raw C++ specification and everyday best usage with thorough and insightful analysis."
"It was difficult for me to fully understand C++ 11 concepts without this book."
"This book is DENSE!"
Best Computer Games Programming
The biggest challenge facing many game programmers is completing their game. Robert Nystrom has programmed professionally for twenty years, about half of which is in games.
Reviews
Find Best Price at Amazon"TL;DR: To understand the code and some of the more performance-oriented patterns, you must understand C/C++ pointers and memory model. "Game Programming Patterns" delivers, providing an in-depth look at the core engineering patterns used ubiquitously in games but seldom known outside of the games industry. I HIGHLY recommend this, especially to new-ish programmers starting off in their first job (again, regardless of whether or not they work on games)."
"While the book can be used as an absolute go to when trying to find a solution to your implementation I would suggest to take the book as an engineering course; it does show a good amount of patterns but doesn't leave those simple."
"A real technical read."
"The very best book about how to design computer software. Many other books on software design are abstract or dense and those books are valuable."
"This book is a fantastic foundation for proper game architecture."
"I want to be a professional game programmer one day and I think this book will be a great asset for me."
"Even if you think you know this stuff already this book packs enough detail to really solidify your understanding."
"It uses source code to demonstrate ideas but doesn't use any platform/library specific pre existing resources so that ideas are easily transferable to different environments."
Best Mobile Device Programming
Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 9 IDE, Cocoa Touch, and the latest version of Apple’s acclaimed programming language, Swift 4. Matt Neuburg started programming computers in 1968, when he was 14 years old, as a member of a literally underground high school club, which met once a week to do time-sharing on a bank of PDP-10s by way of primitive Teletype machines.
Reviews
Find Best Price at Amazon"Finally someone wrote an iOS programming book that isn't half useless space-wasting screenshots of dialogue boxes in Xcode!"
"This is my second week in Swift 4 and all of the questions I had about Cocoa and the general app architecture have all been resolved after spending hours skimming sites and videos trying to get a clear, high level picture."
Best Programing Languages & Tools
After reading a short chapter, you go to my website and complete twenty interactive exercises. Many learners hit a wall when they try to understand advanced concepts like variable scope and prototypes. But the fault lies with the authors, coding virtuosos who lack teaching talent. Thanks to the interactive exercises on my website, you'll always understand and remember everything necessary to confidently tackle the next concept. "I've signed up to a few sites like Udemy, Codecademy, FreeCodeCamp, Lynda, YouTube videos, even searched on Coursera but nothing seemed to work for me. It's how you wind up satisfied, confident, and proud, instead of confused, discouraged, and defeated. The exercises keep you focused, give you extra practice where you're shaky, and prepare you for each next step. But, as Amazon reviewer James Toban says, when you get to the end of the book, you've built "a tower of JavaScript." But if you're new to programming, more than a thousand five-star reviews are pretty good evidence that my book may be just the one to get you coding JavaScript successfully. "Mark Myers' method of getting what can be...difficult information into a format that makes it exponentially easier to consume, truly understand, and synthesize into real-world application is beyond anything I've encountered before." My professional focus is on using technology to reduce the effort and tedium of learning, primarily through interactivity. I'm developing the "A Smarter Way to Learn" series on programming, a collection of instructional books paired with online interactive exercises. Along with my wife Judy and our two politically-active cats, I live in Taos, NM, where I cook under the ghostly supervision of Marcella Hazan, read extensively, play showboat frisbee once a week, and long for more episodes of "Breaking Bad."
Reviews
Find Best Price at Amazon"As part of my learning, I'm also taking another class by Jeff Escalante, it's called "Making Kittens fly with JavaScript", I'm learning so much already because his course actually involves building a project from scratch. I tried learning javascript before from the "Eloquent Javascript" book and it was more intermediate than beginners so hopefully once I'm done with a smarter way to learn javascript and the other class I'm taking, I'll be able to finally understand the content of that book."
"Granted, there's more reading involved than some of the other resources that provide video tutorials, and there isn't any elaborate are direction to the interface, but this is a small sacrifice for a fantastic value. Fun fact: I was able to complete my first InDesign script before finishing the book."
"This book and the accompanying exercises (that you get at no additional expense) make this a one-of-a-kind learning system. Because of the organization, clear communication and most of all the online component of this system, this is the best book I have ever bought."
"Pros: -Gets you writing code quickly. -Includes online practice problems, that if completed, really help you retain the information. -Doesn't assume previous programming experience and has clear explanations where needed. -Author asks for and responds to feedback. Cons: -won't be the only JavaScript book you need, as it doesn't really cover design patterns, or any super in depth stuff. -doesn't go over any of the new ES6 stuff. This was my first programming book and I'm glad it was."
"This book provides you 20 individual exercises per chapter, where the computer will keep prompting you on the answers you get wrong until you get them right. This builds muscle memory for programming, and you find yourself recalling bits of code that you would not immediately remember just from reading the standard JS texts."
Best Pattern Recognition
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Design Patterns: Elements of Reusable Object Oriented Software is one of those indispensable texts for anyone who develops software using objects. The heart of this title is the "pattern catalog" of 23 basic patterns, ranging from creational patterns, such as Factory and Builder, and structural patterns, such as Facade and Flyweight, to behavioral patterns, such as Command and Mediator. This book isn't an introduction to object-oriented technology or design. It's a book of design patterns that describe simple and elegant solutions to specific problems in object-oriented software design....Once you understand the design patterns and have had an "Aha!"
Reviews
Find Best Price at Amazon"Should be required reading for graduation - but I found this to be much more relatable a few years into my career where I had seen these patterns out in the wild having used or written them without terminology to match."
"explaining all design patterns with examples by core authors in simple way ."
"Should be read by all developers."
"Still in process of reading, but it arrived in good condition."
"If you are just starting out as a software developer, I would highly recommend this book."
"The Book was a gift for my son, and he appreciate it."
"Depending on on how you think of programming, this book could be incredibly insightful, or horribly abstract and impractical."
"I have been using this book as a reference on Design Pattern."
Best Software Design, Testing & Engineering
Early in his software developer career, John Sonmez discovered that technical knowledge alone isn't enough to break through to the next income level - developers need "soft skills" like the ability to learn new technologies just in time, communicate clearly with management and consulting clients, negotiate a fair hourly rate, and unite teammates and coworkers in working toward a common goal. Plus how helping your manager with his goals can make you the MVP of your team The technical skills that every professional developer must have - but no one teaches you (most developers are missing some critical pieces, they don't teach this stuff in college, you're expected to just "know" this) An inside look at the recruiting industry. Brand New Developers In this book you'll discover what it's like to be a professional software developer, how to go from "I know some code" to possessing the skills to work on a development team, how to speed along your learning by avoiding common beginner traps, and how to decide whether you should invest in a programming degree or "bootcamp." Not Just For Beginners--Guaranteed To Make You A Better Developer When I first started reading this book I was skeptical. Rui FigueiredoSoftware Developer and Computer Science PhDDublin, Ireland Deals With The Human Side Of Software Development. This book is different from all other software development books I have read because it deals with the human side of software development. Even though as software developers we are surrounded with the latest technology, we are still people with feelings, fears and dreams, and John's book focuses on that. The Complete Software Developer's Career Guide is a great resource that I wish that I had years earlier in my career and in my education. Fernando Z.Senior Software Developer, Blogger and Programming FanaticCentral Texas Get It Even If You're NOT In Software Development. Invaluable advice for any software developer, from entry-level to senior. John Sonmez is a software developer and the author of two bestselling books, The Complete Software Developer's Career Guide and Soft Skills: The Software Developer's Life Manual. He's also the founder of the Simple Programmer blog and YouTube channel, where he reaches 1.4 million software developers yearly and helps them develop the unique blend of skills that made him a highly paid, highly sought-after developer and consultant.
Reviews
Find Best Price at Amazon"The book meets the breadth and depth requirements one would expect of a software developers' career guide. I wish I had a book like this when I was starting out as a software developer back in the days."
"I have been an engineer and architect for nearly 20 years now and have found that all of the topics covered in John's book ring home."
"You will learn many new things and some things might be a refresher, but hey who doesn't need a refresher every now and then."
"Having been involved in all aspects of software development, John does a very good job of giving good advice, and providing sufficient information for anyone to succeed in the software industry."
"John has successfully taken the big picture and broken it down into manageable chunks."
"The Complete Software Developer's Career Guide continues on the path blazed by Sonmez's Soft Skills of taking the complexity in our life (and in this book's case, your software engineering career) and breaking it down into manageable & actionable chunks."
"I first heard of John Sonmez from his Soft Skills book."
"Well much of the information you can get online, but if you prefer to know software career development by reading book, then this is a good book."