3 Cr. (Hrs.:3 Lec.)
Covers various computational modeling and simulation principles and techniques applicable to various domains of engineering and science. The course will rely on the python programming language and use frameworks such as PySim to explore topics in discrete event simulation; such as Apache Mesa to explore agent-based modeling; and SciPy to explore topics in continuous time simulation. Students will implement and apply these methods, including model verification and validation, to basic examples, eventually completing a project within their discipline to design a representative model, implement the model, complete a verification and validation of the model, and update the model to reflect corrections, improvements and enhancements. Other topics include matrix languages, ODE solving, PDE solving, finite difference approximation, finite element methods, and visualize data generated from computer simulations. Students may not take this course for both 400 and 500 level credit.
Prerequisite: (CSCI 112 or CSCI 117 or CSCI 135) and
M 273 and STAT 332 or Consent of Instructor
(1st)
E1. The student should be able to program in a high-level programming language and/or create programs within a software packages – such as MATLAB, R, etc.
E2. The student should have a foundation in calculus and statics.
E3. Student should have explored mathematical models within their discipline.
R1. Be familiar with the importance of modeling for science and engineering.
R2. Be able to identify different types of models and simulation.
R3. Be able to create a computer simulation of a set of observations based on the system’s physical characteristics.
R4. Be able to solve both ordinary and partial differential equations with computers.
R5. Know how to verify and validate a computational model using data.
R6. Know how to construct a computer visualization of the model results.
R7. Understand the quality of the model and sources of errors.
R8. Have made use of one of the simulation frameworks discussed throughout the course to create a term modeling project within their discipline and present a working computational model at the end of the term.