# DEPARTMENT OF COMPUTER SCIENCE

## CS 4420: TECHNIQUES OF SIMULATION

Course Description

Principles of simulation and application of simulation languages to both continuous and discrete systems. Prerequisites: MATH 2470 and CS 2020.

Course Syllabus

• Introduction
• Simulation Language Tutorial
• Overview of Basic Approaches
• Monte Carlo Simulation
• Queuing Network Simulation
• Quasi-continuous Simulation
• Discrete-event Simulation <--- Emphasized
• Applications
• Simulation Basics
• Basic Concepts:
System, Attribute, State, Event, Process, Activity, Time, Parallelism, Model
• Basic Mechanisms:
• Alternative Models:
Activity, Process, Others
• Stages of Simulation Model Development
• Problem
• System Analysis
• Data Collection
• Fitting Distributions to Data:
• Parameter Estimation
• Goodness-of-Fit
• Iterative Prototyping
• Statistical Instrumentation
• Verification
• Validation <--- Emphasized
• Inference
• Abstract Representation Techniques
• Activity-cycle Diagrams
• State-Transition Diagrams
• Petri Nets
• Random Number Distributions
• Sources of Randomness
• Random Number Generation
• Random Variates
• From Distribution Functions
• From Empirical Data
• Evaluation of Simulation Modeling
• Ethical Issues in Simulation
• Benefits of Simulation
• Limitations of Simulation

Course Requirements

This course will involve a major simulation project.

Student Learning Outcomes

• I can explain what computer simulation is and why it is needed.
• I can identify application areas of computer simulation such as industry defense, finance, and education.
• I can explain the differences between the types of simulation such as Monte Carlo, VS. Discrete Event, and/or Real-time simulation.
• I can explain how to develop and build a simulation model to be executed on a simulation tool.
• I can develop what-if scenarios with variable number of input parameters and configurations.
• I can identify and explain what are the important components of a Discrete Even Simulation Engine.
• I am familiar with at least one Commercial off the shelf simulation tool.
• I can explain why Random Number Generators are used in a typical simulation study.
• I can conduct analysis of the obtained result of the simulation study.
• I can explain the importance of Verification and Validation in a simulation study.