Best Introductory & Beginning Programming
1 A Smarter Way to Learn JavaScript: The new approach that uses technology to cut your effort in half
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."
"I love this book and it is helping me to learn JavaScript the way that I want to learn because Mark is teaching you new things in every chapter and reinforcing things that you learned in other chapters so that you don't forget what you have already learned."
"But it never has worked very well for me - I simply don't remember the details in order to write the code without going back to reference the lessons. I like the way Mark has divided up the content into small chunks, and then drills me on that material with the exercises on his website. Mark has invested a lot of time in creating these materials, and the price for the Kindle versions is so low - it's almost embarrassing!"
"I have done some programming in the past, so although I've never written a line of JavaScript the first 10 chapters have felt like extremely basic review. There are a couple exercise components I do not like including one where you need to drag and drop random code bits to form a proper JavaScript statement."
"I usually get sleepy learning to code even during working hour but with this book, learning is fun and keeps me alert even at 4 in morning. This book makes learning code fun and not overwhelming."
As you work through Python Crash Course you’ll learn how to: –Use powerful Python libraries and tools, including matplotlib, NumPy, and Pygal. –Make 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progresses. –Work with data to generate interactive visualizations. –Create and customize Web apps and deploy them safely online. –Deal with mistakes and errors so you can solve your own programming problems.
Reviews
Find Best Price at Amazon"I purchased this book with a book on Machine Learning in Python as well."
"but not with this book. Like i said, I started this book AFTER going through all those other materials so I'm not sure how it would fair with someone who is starting at absolute zero, but my honest opinion is that if i had started here and moved on i would have perhaps been a bit further at this point."
"This is one of the best book for beginners who wants to learn Python."
"This book filled that expectations, the only thing I would improve is the Django section because it is a bit confusing."
"Good for python beginner."
In Automate the Boring Stuff with Python , you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand—no prior programming experience required.
Reviews
Find Best Price at Amazon"The book begins with the essential skills and concepts necessary to build a solid foundation in not only python, but programming in general. For those more interested in day-to-day applications than building games, this is an amazing place to learn by building with python."
"Humor is great to keep readers engaged and help prevent them from stressing out about stuff that can be intimidating, but there are a few times here where I felt the quality of explanation suffered a little to squeeze in a joke or geek-culture reference. Most other programming books that I have used are no where near as pragmatic and it's great to be able to apply your new knowledge to your own life immediately."
"It is a decent enough book, but a surprising amount of the python code is outdated and functions have been replaced by the developers of python, pyxl and other python modules referenced in this book."
"This guide is definitely meant for a beginner and I will probably have to buy another book to learn more advance tips."
"Bought this as a crash course for Python scripting for a job interview."
"I found it helpful to work through this one slow and building a good base of knowledge."
"I will be referring back to this book frequently as I try to script some very repetitive daily operations at work."
"This is really a great book."
Best Microsoft Programming
If you're a beginning to intermediate VBA programmer looking to get up to speed on creating customized solutions with Excel applications, Excel VBA Programming For Dummies, 4 th Edition makes it easier. Learn to:
Reviews
Find Best Price at Amazon"I now understand absolute vs. relative references! Understand this is an INTRO book."
"Well written but you need something a little simpler if you're a noob."
"Excellent!"
"This book explains VBA/Macros very simply, and is a definitely worth having as a reference!"
"This book strikes the perfect balance between simplicity and usefulness."
"Excellent for those new to VBA!"
"Starting around Chap 7, Mr. Walkenbach starts giving a lot of examples of code that is setting dimensions; static counters, offsets; cells vs ranges, etc, but he doesn't complete those examples with the actually code that would run some macro after the previously defined dimensions. I recommend this book as a good starting place for someone like me who has some experience using the Macro Record tool in Excel."
Best Graphics & Multimedia Programming
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 Web Development & Design Programming
This book is also available as part of a set in hardcover - Web Design with HTML, CSS, JavaScript and jQuery , 9781119038634; and in softcover - Web Design with HTML, CSS, JavaScript and jQuery , 9781118907443. Large info-graphics are used to help simplify new or complex concepts Clean design and layout presents each topic on a new page for easy reference Printed in full-color, using a vibrant palette to distinguish different types of code Attractive code samples help you make beautiful web sites.
Reviews
Find Best Price at Amazon"The book starts easy and takes each concept step by step in order to make it as easy as possible for you to learn the content, contains examples almost every page that you can try yourself and tinker with to your hearts content."
"Several years later I finally got around to reading it cover to cover (I took a class) and let me tell you I could not have gotten by without this book."
"I love this book, but the only caveat about it, if you are really using it the pages are not glued well, so the book falls apart super fast."
"The fact that the lessons are, in fact, so casual left me going through chapters as though I were in the sitting there with a friendly teacher right in front of me."
"Every page feels like a well-designed web page."
"I highly recommend this book if you are going to learn HTML, or need like a reference book to HTML."
"I bought this book because during the winter brake I wanted to learn how to create a personal website to use as an online portfolio, and I have to say that this book has given me the foundation to be able to create a decent looking web page."
"To add to my happiness, shipping was amazing, I received my book way sooner than anticipated."
Best Functional Software Programming
Packed with the author's original artwork, pop culture references, and most importantly, useful example code, this book teaches functional fundamentals in a way you never thought possible. Then once you've got the basics down, the real black belt master-class begins: you'll learn to use applicative functors, monads, zippers, and all the other mythical Haskell constructs you've only read about in storybooks. This book is aimed at people who have experience programming in imperative languages—such as C++, Java, and Python—and now want to try out Haskell. But even if you don’t have any significant programming experience, I’ll bet a smart person like you will be able to follow along and learn Haskell. NOTE If you ever get really stuck, the IRC channel #haskell on the freenode network is a great place to ask questions. Miran Lipova?a is a computer science student in Ljubljana, Slovenia.
Reviews
Find Best Price at Amazon"Here are some of the crucial things it taught me above and beyond LYAH: Cabal, Stack, testing, Foldable, Traversable, parser combinators, monad transformers, non-strictness, and profiling. For example, my personal blog is a Snap web app that reads posts from a PostgreSQL database."
"Good pace and easy to pick up, now if only Haskell was an easy language."
"Excellent introduction to Haskell and basic functional programming concepts."
"Even though there is a free version on the web, I purchased it to say thank you to the author."
"Although I haven't read many books on Haskell, I am satisfied by this purchase and recommend it without hesitation."
"Functional programming is often be presented as a bunch of abstract mathematical proofs."
"It's first book I read when starting with Haskell and it's done successfully with its job."
"This is an awesome book for beginners (either to programming or to Haskell)."
Best Apple 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.
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."
"Of course I was learning, but a good book provides so much more! I like to be able to imagine, and although it may in my personal opinion it is slower to learn using a book in the sense that it takes time to make the connections, apply what you learned, and see the results; a good book as this one is, is always worth reading!"
"This book is super hard to read, not because of the content, but because the author makes it super boring."
Best Parallel Computer Programming
With the fourth edition of this comprehensive guide, you’ll learn how to build and maintain reliable, scalable, distributed systems with Apache Hadoop. Previously he was as an independent Hadoop consultant, working with companies to set up, use, and extend Hadoop.
Reviews
Find Best Price at Amazon"So, companies that are using large distributed systems that operate using Hadoop are generally closed shops and Catch 22 applies."
"Good overview of the Hadoop ecosystem."
"This book is so good that it forced it me to write my first book review on Amazon :)."
"Howdy Hoop, look at all of that data!"
"Wasn't as complete as I would have like with multiple syntax examples."
"This book covers a wide range of technologies in Hadoop ecosystem."
"Book covers all the topics with sufficient depth."
"Great new book that will help me learn about Hadoop!"
Best Programming Languages
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."
"I love this book and it is helping me to learn JavaScript the way that I want to learn because Mark is teaching you new things in every chapter and reinforcing things that you learned in other chapters so that you don't forget what you have already learned."
"But it never has worked very well for me - I simply don't remember the details in order to write the code without going back to reference the lessons. I like the way Mark has divided up the content into small chunks, and then drills me on that material with the exercises on his website. Mark has invested a lot of time in creating these materials, and the price for the Kindle versions is so low - it's almost embarrassing!"
"I have done some programming in the past, so although I've never written a line of JavaScript the first 10 chapters have felt like extremely basic review. There are a couple exercise components I do not like including one where you need to drag and drop random code bits to form a proper JavaScript statement."
"I usually get sleepy learning to code even during working hour but with this book, learning is fun and keeps me alert even at 4 in morning. This book makes learning code fun and not overwhelming."
Best Programming 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"I have attended several major Southern California universities, all computer instructors bow to this text."
"If you don't understand any terms or even some of the math that is shown, the appendix and sections in the back will tell you everything you need to know."
"This is widely considered the one algorithms book that every computer science should read."
"Book."
"Very thorough and complete book, although a bit hard to read."
"More often than I thought, I go back to refer to it for nearly anything algorithm-related; time complexity of common algorithms, linear programming, NP-Completeness, Dynamic Programming."
"The best book in algorithms, its kinda like a bible as far as algorithms is concerned."
"It is a very nice book, but sometimes you can find a simpler description/explanation of some algorithms."
Best Software Design, Testing & 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."
Best API & Operating Environments
The Linux Programming Interface (TLPI) is the definitive guide to the Linux and UNIX programming interface—the interface employed by nearly every application that runs on a Linux or UNIX system. Michael Kerrisk has been using and programming UNIX systems for more than 20 years, and has taught many week-long courses on UNIX system programming.
Reviews
Find Best Price at Amazon"I can't imagine the work done in writing such a massive book, but I appreciate it."
"If your serious about developing AAA Linux applications this is an excellent guide."
"The images are all broken on the Kindle version."
""The Linux Programming Interface" is a very comprehensive book targeted at programmers and is concerned with teaching the system calls and library functions provided by the Linux operating system."
"This book is pretty amazing in explaining complex subjects in Linux programming."
"I purchased this book to use on my job as a part time programmer working from home on scientific applications in a Linux environment."
"It's a great reference, better than googling!"
"This is a thorough, well-organized, lucidly written treatment of the somewhat arcane world of programming in the Linux environment."
Best Cross-platform Software Development
Learn test-driven and API-first development concepts Communicate with other services by creating and consuming backing services such as databases and queues Build a microservice that depends on an external data source Learn about event sourcing , the event-centric approach to persistence Use ASP.NET Core to build web applications designed to thrive in the cloud Build a service that consumes, or is consumed by, other services Create services and applications that accept external configuration Explore ways to secure ASP.NET Core microservices and applications. He's written over a dozen books on computer programming and has presented at a number of user groups and conferences, including Apple's WWDC and ScalaDays.
Reviews
Find Best Price at Amazon"I've been wanting a book on MicroServices but something that walks me through building good code examples and this has that too. Additionally, the introduction to .NET Core is very good because it gives you exactly what you need to try it out without overwhelming at the first parts of the book."
"Very good advice when developing and deploying microservices."
"It's one of those books that constantly points you to a URL in order to learn about different technologies."