Simulation: Algorithms and Implementation

Course
Identifier: 
COM S 5550
  1. Credits and contact hours: 3 credits, 3 contact hours
  2. Instructor’s or course coordinator’s name: Andrew Miner/Gianfranco Balbo
  3. Text book, title, author, and yearDiscrete- Event Simulation: A First Course, L. M. Leemis and S. K. Park.
  4. Other supplemental materials: None

Specific course information

  1. Brief description of the content of the course: Introduction to discrete-event simulation with a focus on computer science applications, including performance evaluation of networks and distributed systems. Overview of algorithms and data structures necessary to implement simulation software. Discrete and continuous stochastic models, random number generation, elementary statistics, simulation of queuing and inventory systems, Monte Carlo simulation, point and interval parameter estimation. Graduate credit requires additional in-depth study of concepts.
  2. Prerequisites or co-requisites: COM S311, and COM S 230, STAT 330, ENGL 150, and SP CM 212; for graduate credit: graduate standing or permission of instructor
  3. Required, elective, or selected elective? Selected Elective

Specific goals for the course

  1. Specific outcomes of instruction: Students will...
  • Understand basics of discrete-event and Monte-Carlo simulations
  • Understand theory of random number generation and random variables (1)
  • Understand theory and practice (algorithms) of collecting and computing statistics (for measurements generated by simulations) (2)
  • Be able to construct computational models (simulations) of real-world discrete-event systems
  • Be able to identify current areas of research in discrete-event simulation
  • Submit written reports (3)

Brief list of topics to be covered

  • Modeling (by examples)
  • Random number generation
  • Monte Carlo simulation
  • Sample statistics
  • Next-event simulation
  • Discrete random variables (theory, and algorithms to generate them)
  • Continuous random variables (theory, and algorithms to generate them)
  • Output analysis (confidence intervals, batch means)