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.
What is Python and why is it important? Python is an interpreted text based general purpose programming language, which has a wonderfully simplified syntax, dynamic typing and an awesome open source community constanly creating more and more amazing libraries and modules. This makes python an awesome tool for someone just getting into proramming as well as someone with serious ambitions in fields like data analysis web development or the Internet of Things. What is special about this course? Quite simply this is the ultimate second programming course for the everyman!.
About this course: Robotic systems typically include three components: a mechanism which is capable of exerting forces and torques on the environment, a perception system for sensing the world and a decision and control system which modulates the robot's behavior to achieve the desired ends. In this course we will consider the problem of how a robot decides what to do to achieve its goals. This problem is often referred to as Motion Planning and it has been formulated in various ways to model different situations. You will learn some of the most common approaches to addressing this problem including graph-based methods, randomized planners and artificial potential fields. Throughout the course, we will discuss the aspects of the problem that make planning challenging.
Computational thinking has become a battle cry for coding in K–12 education. It is echoed in statewide efforts to develop standards, in changes to teacher certification and graduation requirements, and in new curriculum designs.1 The annual Hour of Code has introduced millions of kids to coding inspired by Apple cofounder Steve Jobs who said, "everyone should learn how to program a computer because it teaches you how to think." Computational thinking has garnered much attention but people seldom recognize that the goal is to bring programming back into the classroom. In the 1980s many schools featured Basic, Logo, or Pascal programming computer labs. Students typically received weekly introductory programming instruction.6