Introduction to Computation and Programming Using Python: Revised and Expanded Edition
John V. Guttag (The MIT Press, 2013)
As the title suggests, Introduction to Computation and Programming Using Python, is the premiere resource to the Python language. John V. Guttag educates the reader with a sense of humor and insight rarely found in programming books.
John V. Guttag is the former head of MIT’s Electrical Engineering and Computer Science department, he holds an MA from Brown University as well as a doctorate form the University of Toronto; for the past thirty years he has taught computer engineering at the undergraduate level, while developing programs in the telemedicine field including diagnostic tools and non-invasive monitoring.
Introduction to Computation and Programming Using Python has recently been revised and updated to keep aspiring programmers in the loop on all current industry standards and innovations.
- Chapters 1-4 serve as an introduction to Python for programmers who are new to the script. Topics covered include Basic elements of Python, Simple Numerical Programs as well as Functions, Scoping, and Abstractions.
- Chapter 5 builds off of the foundations learned in earlier chapters, introducing readers to more advanced level programming such as Sequences and Multiple Assignment, Cloning, and Strings, Tuples and Lists.
- Chapter 6 offers a nice general guide to the world of debugging, both how to identify bugs in your script, fixing said bugs, and optimizing your design for minimal bugs.
- Chapters 7-8 get into even more advanced topics such as using exceptions and assertions to control the flow of your script and Classes and Object-Oriented programming.
- Chapters 9 and 10 are all about algorithms, both their basic structure and functions, also linear/binary search, and sorting algorithms in Python.
- Chapters 11-12 cover plotting in Python as well as mathematical information on probability and statistics. These will serve well to educate the reader on math concepts used in programming as well as expediting functions
- Chapter 13 covers data visualization and provides allegories for programming to make sense of advanced programming concepts.
- Monte Carlo Simulation comprises the 14th chapter and holds various information on testing your script and running simulations to improve performance. The following chapter covers interpreting the data obtained through simulation and how to move forward with your script.
- In Chapter 16, the reader gets a sense of the author’s talented prose as he offers anecdotes on programming history and its problems, as well as cautionary tales for new programmers.
- Chapter 17, Knapsack and Graph Optimization Programs, which is a wonderful resource for spotting programs in algorithms.
- Chapter 18 focuses on Dynamic Programming giving readers a taste of further advanced functions and where they can take their programming in the future.
- Chapter 19 imparts the reader with concepts on machine learning, including feature vectors, distance metrics, and detailed examples explaining the works in progress.
The reviews on the book from the reader community have praised the author for his prose and readability, while some professional outlets have called it “the one programming book you’ll need.”
For aspiring programmers, consider yourself Eve and this the Python in the garden of Eden, bite in!
Reviewed by: William Oscar Updyke