This course is aimed at students with some prior programming experience in Python and a rudimentary knowledge of computational complexity. The goal is to provide students with a brief introduction to many topics, so that they will have an idea of what’s possible when the time comes later in their career to think about how to use computation to accomplish some goal.
Students will spend a considerable amount of time writing programs to implement the concepts covered in the course. Topics covered include plotting, stochastic programs, probability and statistics, random walks, Monte Carlo simulations, modeling data, optimization problems, and clustering.
What will you learn?
If you successfully complete this course, you will have:
- Developed some insight into the process of moving from an ambiguous problem statement to a computational formulation of a method for solving the problem,
- Learned a useful set of algorithmic and problem reduction techniques,
- Learned how to use simulations to shed light on problems that don’t easily succumb to closed form solutions,
- Learned how to use computational tools, including simple statistical, machine learning, and plotting tools, to model and understand data.
Full time/Part time
- Some prior programming experience in Python and a rudimentary knowledge of computational complexity
- Eric Grimson
- John Guttag
- Ana Bell