Computational Thinking for Modeling and Simulation
Offered By: Massachusetts Institute of Technology via edX
Course Description
Overview
Computational thinking is becoming widely recognized as a skill necessary for every educated person in a technologically advanced society.
We will focus on just a subset of computational thinking which concerns creating models of the physical world – something that engineers frequently need to do. Because of that choice, this course covers many topics normally viewed as within the domain of mathematics such as algebra and calculus, but the solution procedures are algorithmic rather than symbolic.
The major themes of the course are:
We will focus on just a subset of computational thinking which concerns creating models of the physical world – something that engineers frequently need to do. Because of that choice, this course covers many topics normally viewed as within the domain of mathematics such as algebra and calculus, but the solution procedures are algorithmic rather than symbolic.
The major themes of the course are:
- Representation -- How do you encode information about the world in a computer? How do your choices in representation affect the ease with which you can solve problems?
- Decomposition -- How do you break a large and diverse problem into many simpler parts?
- Discretization -- How do you break up space and time into a large number of relatively small pieces? What are the alternative ways of doing this? What are the consequences of discretization procedures for accuracy and speed?
- Verification -- How do you build confidence in the results of a model?
Syllabus
What is Computational Thinking? (representation, discretization, error, decomposition, verification)
Interpolation (building simple surrogates for more complex functions)
Integration (processes for numerical quadrature)
Randomness (generating and using pseudorandom variables in models)
Differentiation (numerical derivatives)
Solving equations (Gaussian elimination for linear systems, Newton-Raphson for non-linear systems)
Interpolation (building simple surrogates for more complex functions)
Integration (processes for numerical quadrature)
Randomness (generating and using pseudorandom variables in models)
Differentiation (numerical derivatives)
Solving equations (Gaussian elimination for linear systems, Newton-Raphson for non-linear systems)
Taught by
Daniel Frey and Ali Talebinejad
Tags
Related Courses
ABC du langage CInstitut Mines-Télécom via France Université Numerique Abstraction, Problem Decomposition, and Functions
University of Colorado System via Coursera Advanced Data Structures in Java
University of California, San Diego via Coursera Advanced React
Meta via Coursera Testing with Agile
University of Virginia via Coursera