CS572/MT605 Modeling and Simulation of Systems (Jan-May 2026)

Elective course for UG and PG students (credits: 3)

About This Course

Simulation plays a critical role in the design, analysis and optimization of complex systems in most engineering disciplines. This course focuses on the simulation of Discrete-event systems (that is, systems in which the state is assumed to change at discrete time-instants only, as opposed to a system where the state evolves continuously in time). Computer networks, manufacturing systems, clocked digital circuits and inventory systems are some examples where discrete-event simulation is widely used.

The objectives of this course are to help the student build a strong intuition of how discrete-event simulation works, and to develop the ability to model and simulate a given system effectively and interpret the results correctly. Programming-based assignments will form a significant component of the course. The course will make use of Python's SimPy library.

Topics:

  • Introduction to models and simulation, types of simulation.

  • Approaches to discrete-event simulation.

  • Introduction to Python's SimPy library using examples. (programming assignments)

  • How SimPy works, understanding SimPy's basic constructs and its design

  • A review of basic probability theory and Markov chains (optional: discussion of basic queueing models)

  • How do we generate Random Numbers and Random Variates for simulation

  • Input modeling (representing observed data using random variates and fitting distributions)

  • Simulation-based estimation of performance measures

  • Discussion of some examples and use-cases in modeling and simulation (computer networks, manufacturing systems etc).

  • (Optional, if time permits) Approaches for parallel and distributed simulation, continuous system simulation.

Prerequisites

Basic probability theory, Familiarity with Python programming

References

  • Probability, Markov Chains, Queues, and Simulation, by William J. Stewart

  • SimPy Documentation

  • Discrete-Event System Simulation, 5th Edition, By: Jerry Banks, John S. Carson II, Barry L. Nelson, David M. Nicol

  • Parallel and Distributed Simulation Systems, by Richard Fujimoto

Lecture Timings (1hr slots)

  • Venue: LT2 by default, except for programming quizzes, which will be held on Tuesdays in CC lab on alternate weeks

  • Tuesdays 8am (LT2 or CC)

  • Wednesdays 12noon (LT2)

  • Fridays 11am (LT2)

All class notifications and resources will be uploaded on Google classroom. Login using your IIT Goa account.

Evaluation components (3 credits)

  • Programming-based Assignments and Quizzes: 40%

  • Project (in teams of 2-3): 10%

  • Mid-semester Exam: 20%

  • End-semester Exam: 30%

Course Calendar

Link to course calendar