Official Information | |
---|---|
Course Number: | MATH 2121.001 |
Course Title: | Mathematical Modeling and Simulation |
Times: | TR 11:00-12:20 |
Room: | 010 Wachman Hall |
Instructor: | Benjamin Seibold |
Instructor Email: | seibold(at)temple.edu |
Instructor Office: | 518 Wachman Hall |
Instructor Office Hours: | TR 12:20-1:30 |
Official: | Course Syllabus |
Course Materials: |
There is no required textbook for this course. All materials will be provided by the instructor (including lecture notes, short videos, software) or acquired via assigned reading. For students who wish to read more on the topic of modeling and simulation in general (not directly related to the present course), the following textbooks provide suitable sources:
|
Prerequisites: | Programming: MATH1034/CIS1051/CIS1057/CIS1068 or equivalent. Mathematics: MATH1042 or equivalent. See Course Catalog for up-to-date prerequisites. |
Course Goals: | By the end of the semester, students will be able to build models and simulations for complex emergent phenomena, and to systematically analyze and interpret the simulation results. |
Topics Covered: | This course introduces the concept of (a) building a mathematical model of a real-world process, (b) using computational resources to simulate the model, and (c) properly interpreting the results. The main focus lies on processes with many interacting agents, such as: traffic flow, spread of diseases, animal swarming, economic markets, social networks, robotics. The course provides an overview of model building concepts, training on the implementation of models in a computing environment, as well as theoretical background on how to analyze and understand large-scale emergent structures (such as traffic waves, stock market crashes, swarm intelligence, etc.). General interest in mathematical model building and in programming is required. |
Course Grading: | Homework and in-class activities: 30%; course project: 45%; examination: 25%. |
Final Exam Date: | 05/06/2025. |
Attendance Policy: | Students are expected to attend every class. If a student cannot attend a class for some justifiable reason, they are expected to contact the instructor before class. Students are expected to actively participate in the in-class activities and to be properly prepared to do so, including having completed any pre-class assignments and providing suitable hardware and software, as explained during the first class. |
Homework: | Homework problem sets will be assigned every 1.5 to 2 weeks, and must be submitted by the submission date to the course instructor (any extension must be requested and granted before the submission deadline), involving both a programming part and a written/typed part as instructed on the problem set. All submitted work must be the student's own work, though discussion with classmates is allowed and even encouraged. All submitted software must adhere to best practices, including a description of purpose, clear comments, and properly citing code segments from other sources. |
Programming: | Computational problems will be conducted using MATLAB. Temple University has a site license for MATLAB, and it can be installed free-of-charge on personal computers by the steps given on the ITS website. For the course project, other languages may also be used, but for specific assignments the usage of MATLAB is required. |
Course Project: | Over the course of the semester, each student will work on an individual course project related to the course material, on a topic found in discussion with the course instructor. Each course project should demonstrate the major themes of model building, computer simulation, presentation, interpretation, and analysis of results. Project topics suggested by the student are very welcome, and the instructor will make an effort to admit topics of specific interest to students. Each project involves a project proposal, a midterm report, a final report, and a project presentation (due dates see below). |
Course Schedule (Plan) | |
01/14/2025 Class 1 | Principles of agent-based models, Mexican wave example, Matlab basics
|
01/16/2025 Class 2 | Deterministic vs. stochastic models, contagion model, Matlab data structures and randomness
Read:
Infection,
Stochastic
|
01/21/2025 Class 3 | Monte-Carlo method, nested functions in Matlab
Read:
Monte Carlo method
|
01/23/2025 Class 4 | Random walks, randomness in Matlab
Read:
Random walk
|
01/28/2025 Class 5 | Random walks in 2d, histograms
Read:
Histogram,
Lévy flight
|
01/30/2025 Class 6 | Random walks with bias, simulated annealing
Read:
Simulated annealing
|
02/04/2025 Class 7 | Butterfly movement model
Read:
Hill-topping
|
02/06/2025 Class 8 | Run-and-tumble, E. coli model, chemotaxis
Read:
Chemotaxis
|
02/11/2025 Class 9 | Agents affecting field quantities
|
02/13/2025 Class 10 | Diffusion (macroscopic and microscopic)
|
02/18/2025 Class 11 | Interactions between agents, population dynamics models
Read:
Population dynamics
|
02/20/2025 Class 12 | Theory of population dynamics
|
02/25/2025 Class 13 | Dynamical systems, equilibria, stability
|
02/27/2025 Class 14 | Numerical time stepping
|
03/11/2025 Class 15 | Runge-Kutta methods, SIR model
Read:
Runge-Kutta methods,
SIR model
|
03/13/2025 Class 16 | Traffic flow: car following models, traffic waves, instabilities
|
03/18/2025 Class 17 | Traffic flow: cellular automaton models
|
03/20/2025 Class 18 | Conway's game of life
|
03/25/2025 Class 19 | General cellular automaton models
Read:
Cellular automaton,
Rule 184
|
03/27/2025 Class 20 | Models for crowd dynamics
Read:
Crowd
|
04/01/2025 Class 21 | Swarming and flocking
|
04/03/2025 Class 22 | Ant colony simulation
|
04/08/2025 Class 23 | Economic models: fundamentals and trading
|
04/10/2025 Class 24 | Economic models: stock market
|
04/15/2025 Class 25 | Opinion dynamics
Read:
Opinion
|
04/17/2025 Class 26 | Calibration, verification, validation
|
04/22/2025 Class 27 | Project presentations
|
04/24/2025 Class 28 | Project presentations
|
05/06/2025 | Final Examination |
Course Reading and Presentation Materials | |
| |
Instructional Videos | |
| |
Matlab Programs | |
| |
Matlab Introductions and References | |
| |
Homework Problem Sets | |
| |
Course Projects | |
Every student has to conduct an individual course project over the course of the semester. Proposals (written, via email) for projects are due Fri 01/24/2025. Midterm project reports are due Tue 03/11/2025. Final project reports are due Fri 05/02/2025. |