Introduction to Computation and Programming Using Python
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 ...
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 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.
John V. Guttag 于1999—2004年任MIT電氣工程與計算機科學(xué)系主任,所授計算機科學(xué)系列導(dǎo)論課程深受學(xué)生歡迎。目前為計算機科學(xué)與人工智能實驗室網(wǎng)絡(luò)及移動系統(tǒng)組聯(lián)合負責(zé)人,還進行軟件工程、機器定理證明、硬件驗證等領(lǐng)域的研究以及培訓(xùn)工作。獲美國布朗大學(xué)英語專業(yè)學(xué)士學(xué)位、應(yīng)用數(shù)學(xué)碩士學(xué)位,多倫多大學(xué)計算機科學(xué)博士學(xué)位。
