An introduction to using computation to understand real-world phenomena. John Guttag, Dugald C. Jackson Professor of Computer Science and Electrical Engineering, Massachusetts Institute of Technology
This course is the second of a two-course sequence: Introduction to Computer Science and Programming Using Python, and Introduction to Computational Thinking and Data Science. Together, they are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems.
6.00.2x will teach you how to use computation to accomplish a variety of goals and provides you with a brief introduction to a variety of topics in computational problem solving . This course is aimed at students with some prior programming experience in Python and a rudimentary knowledge of computational complexity. You will spend a considerable amount of time writing programs to implement the concepts covered in the course. For example, you will write a program that will simulate a robot vacuum cleaning a room or will model the population dynamics of viruses replicating and drug treatments in a patient's body.
Topics covered include:
Advanced programming in Python 3
Knapsack problem, Graphs and graph optimization
Dynamic programming
Plotting with the pylab package
Random walks
Probability, Distributions
Monte Carlo simulations
Curve fitting
Statistical fallacies
John V. Guttag (August 2016) »Introduction to Computation and Programming Using Python«,
Second Edition With Application to Understanding Data, ISBN: 9780262529624