Free Downloads
Introduction To Computation And Programming Using Python (MIT Press)

This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of "data science" for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in a massive open online course (or MOOC) offered by the pioneering MIT-Harvard collaboration edX.Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. The book does not require knowledge of mathematics beyond high school algebra, but does assume that readers are comfortable with rigorous thinking and not intimidated by mathematical concepts. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming. Introduction to Computation and Programming Using Python can serve as a stepping-stone to more advanced computer science courses, or as a basic grounding in computational problem solving for students in other disciplines.

Series: MIT Press

Paperback: 320 pages

Publisher: The MIT Press; revised and expanded edition edition (August 9, 2013)

Language: English

ISBN-10: 0262525003

ISBN-13: 978-0262525008

Product Dimensions: 8.5 x 0.5 x 11 inches

Shipping Weight: 1.6 pounds (View shipping rates and policies)

Average Customer Review: 4.3 out of 5 stars  See all reviews (51 customer reviews)

Best Sellers Rank: #99,327 in Books (See Top 100 in Books) #103 in Books > Computers & Technology > Programming > Languages & Tools > Python #208 in Books > Computers & Technology > Programming > Introductory & Beginning #251 in Books > Computers & Technology > Programming > Web Programming

Let me post a disclaimer first. I bought the paperback from MIT-press' website since it was cheaper after the edX discount.Now the real deal : The book is excellent. It is the perfect companion to MIT's course on edX. I attended the course on a whim, since I already have a masters degree in computer engineer, but I thoroughly enjoyed it. The book takes a beginner from the basics to some of the most important aspects of computer science. There is a bit of graph theory, a bit of statistics, a bit of sorting, linear regression, data plotting using Pylab, and even the knapsack problem thrown in. I loved the book as well as the course, and will readily recommend both to people interested in computer science, irrespective of the level of their expertise (there is something for everyone).I have read bad reviews about the Kindle edition of this book and so I will add that a DRM free e-book is also available for purchase from MIT-press' website. If you want the ability to open your e-book with any PDF reader, buy that instead of the Kindle version.

Bought this for the MIT Computer Science course 6.00.1x. It is a fast paced but very readable first year text for Computer Science. It uses Python 2.X as its language and you will come up to speed in Python quickly, and then spend the bulk of the book learning algorithms and computational techniques.I am very pleased with the book. It is terse and fast. If you require a more leisurely pace, John Zelle's Python Programming, an Introduction to Computer Science takes 425 pages to cover what this book covers in 110 pages, and then has a short chapter just touching on what this book covers more deeply in the remaining 200 pages. Zelle's book is also a popular first year CS text, but obviously for a different audience. Obviously, you will learn more with this book if you can take the pace. I bought Zelle's book also and have used it for extra exercises and the occasional alternative explanation.I also am using Problem Solving with Algorithms and Data Structures by Miller and Ranum to supplement/flesh out my algorithms knowledge during breaks in the class. This also seems to be a good book, and uses Python as its language for examples.Buy Guttag for sure, or Zelle if you feel the need for a slower pace, and Miller and Ranum to flesh out your algorithms.Dave

Taking the edX class. I thought this book would help and it does: it repeats the content of the class, but adds very little. My issue with the book is that: 1) It isn't easy to search. 2) It covers concepts too quickly - very little review. 3) Programming terminology is "bolded", but no glossary is provided at the back.I recommend the book to those taking the edX class simply because it helps reduce note-taking. But if you are a beginner at programming and just looking for a book to start learning Python, I am sure there are better ones out there (i.e. clearer books that are a little more "hands-on"). I have enjoyed learning web related languages with Sitepoint and O'reilly books, so I'll probably look into getting one of those to deepen my understanding of Python.

As the title suggests, it is a book on computation, and Python is used as a programming tool. It assumes no prior knowledge of programming, but readers are expected to have good mathematical maturity as it goes on to discuss techniques from a wide variety of topics from numerical analysis to clustering. If you already know programming, and just want to learn Python data and control mechanisms, this is not the book for you.

I used this textbook along with the MIT online course 6.01 on edX.com. Overall I thought it was well written and structured, my biggest qualm was that explanations were not always given for code. Considering how small the text is, I think they could have given readers better explanations in certain places without making the book too long.Pros:-Covers a little material on many subjects and provides a thorough introduction to computer science.Cons:-Like other reviewers have said, much of the textbook is word for word from the online lectures.-Does not fully explain every piece of code. When explanations are given, they are not comprehensive and the reader is expected to look at other sources.-Not really a standalone introduction, without the online course one will not fully grasp the concepts.

As a result of taking the video course from MIT, I bought the book. It augments the video course and fills the gaps.

I'm taking a "Computer Science Foundations" program at my university and this is one of the required texts; although we mostly use Think Python (which I like a lot better as a textbook) and an interactive book "[...]This is an excellent book if it will be your first and only book in your quest to become a Computer Scientist. It focuses--as stated by the author-- "on breadth rather than depth" and it moves FAST. By the end of the second chapter, you will have covered iteration, variables, assignments, types, operators, and will have gone over the basics of an IDLE: the book assumes you can, by then, write a small program that involves using all that you have learned up until that point.If you instead want to learn a specific computer language (Python, Java, C++, etc), then I would suggest something specific and tailored to that language.It's a good book, but it moves too fast for me, and assumes too much from a "beginner"; it's trying to teach us how to use Python to solve computational problems, rather than simply learning the computer language Python. :)

Python: PYTHON CRASH COURSE - Beginner's Course To Learn The Basics Of Python Programming In 24 Hours!: (Python, Python Programming, Python for Dummies, Python for Beginners, python crash course) Python: Learn Python In A DAY! - The Ultimate Crash Course to Learning the Basics of Python In No Time (Python, Python Course, Python Development, Python Books, Python for Beginners) Programming #45: Python Programming Professional Made Easy & Android Programming In a Day! (Python Programming, Python Language, Python for beginners, ... Programming Languages, Android Programming) Python: Learn Python FAST - The Ultimate Crash Course to Learning the Basics of the Python Programming Language In No Time (Python, Python Programming, ... (Learn Coding Fast with Hands-On Project 7) Introduction to Computation and Programming Using Python (MIT Press) Introduction to Computation and Programming Using Python: With Application to Understanding Data (MIT Press) PYTHON: Python in 8 Hours, For Beginners, Learn Python Fast! A Smart Way to Learn Python, Plain & Simple, Learn Python Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! Programming Raspberry Pi 3: Getting Started With Python (Programming Raspberry Pi 3, Raspberry Pi 3 User Guide, Python Programming, Raspberry Pi 3 with Python Programming) Python: Learn Web Scraping with Python In A DAY! - The Ultimate Crash Course to Learning the Basics of Web Scraping with Python In No Time (Web Scraping ... Python Books, Python for Beginners) Programming #8:C Programming Success in a Day & Android Programming In a Day! (C Programming, C++programming, C++ programming language, Android , Android Programming, Android Games) Programming #57: C++ Programming Professional Made Easy & Android Programming in a Day (C++ Programming, C++ Language, C++for beginners, C++, Programming ... Programming, Android, C, C Programming) Programming: Computer Programming for Beginners: Learn the Basics of Java, SQL & C++ - 3. Edition (Coding, C Programming, Java Programming, SQL Programming, JavaScript, Python, PHP) Python Data Analytics: Data Analysis and Science using pandas, matplotlib and the Python Programming Language Swift and Python Programming Guide: Programming Language For Beginners: Learn in a Day! Box Set Collection (Swift, Python, JAVA, C++. PHP) Hacking: Hacking Made Easy 1: Beginners: Python: Python Programming For Beginners, Computer Science, Computer Programming Python: Learn Python in One Day and Learn It Well. Python for Beginners with Hands-on Project. (Learn Coding Fast with Hands-On Project Book 1) DOS: Programming Success in a Day: Beginners guide to fast, easy and efficient learning of DOS programming (DOS, ADA, Programming, DOS Programming, ADA ... LINUX, RPG, ADA Programming, Android, JAVA) ASP.NET: Programming success in a day: Beginners guide to fast, easy and efficient learning of ASP.NET programming (ASP.NET, ASP.NET Programming, ASP.NET ... ADA, Web Programming, Programming) C#: Programming Success in a Day: Beginners guide to fast, easy and efficient learning of C# programming (C#, C# Programming, C++ Programming, C++, C, C Programming, C# Language, C# Guide, C# Coding) FORTRAN Programming success in a day:Beginners guide to fast, easy and efficient learning of FORTRAN programming (Fortran, Css, C++, C, C programming, ... Programming, MYSQL, SQL Programming)