This course explores the fascinating intersection of computational modeling and natural phenomena. We capture small pieces of our world by encoding them with computational structures - this is the essence of simulation modeling. Our model is a computer program that represents natural phenomena, while the simulation involves running the model to investigate questions or test hypotheses.
For the first time, this course examines the relationship between simulation modeling and reinforcement learning - an emerging field where agents maximize rewards in dynamic environments. We'll explore how computational models can represent dynamic environments effectively enough to enable the crucial "sim-to-real" transition for creating effective robots.
After completing this course, students will be able to:
- Write numerically efficient Python programs of intermediate complexity
- Construct algorithms that capture the physical characteristics of systems
- Solve ordinary differential equations computationally
- Verify and validate computer simulations
- Manipulate fundamental data structures of numerical computing (arrays)
- Represent and understand datasets graphically
- Connect classroom concepts to reinforcement learning platforms and evaluate sim-to-real transition effectiveness
- Jan 21 - Problem 1.1 (due 12:30pm)
- Jan 23 - Box Ball (due 9:30am)
- Jan 30 - ODE Integrators (due 9:30am)
- Feb 4 - Coffee Filter (due 9:30am)
- Feb 11 - Complete a Ballistics Object (due 9:30am)
- Feb 13 - Bullet Trajectory (trial project) (due 9:30am)
- Feb 20 - The N-Body Problem (due 11:59pm)
- Feb 27 - ODE Limitations (due 9:30am)
- Mar 11 - Project 1: The Helium Atom (due 9:30am)
- Mid-March - Exam I (due 11am)
- Mar 25 - Mujoco 1: Time integration (due 9:30am)
- Apr 3 - Lennard-Jones and Periodic Boundaries (due 10:50am)
- Apr 8 - Problems 8.3 and 8.4 (due 10:30am)
- Apr 17 - Applications of Many Particle Systems Code (due 9:30am)
- May 1 - Exam II (due 11am)
- May 8 - Mujoco 2: Gymnasium (due 8am)
- May 9 - Project 2: Granular Materials (due 11:59pm)
An in-depth exploration of atomic simulation using computational methods.
Investigation of complex material behaviors through simulation modeling.
- Python - Primary programming language for numerical computing
- MuJoCo - Physics simulation engine for reinforcement learning applications
- Gymnasium - Standard API for reinforcement learning environments
- Numerical Computing Libraries - For array manipulation and data analysis
Exploring the computational representation of our physical world, one simulation at a time.