Before revision:  The graphical simulation tool is implemented using the React library for the fancy UI elements of the Node.js framework and is available as a  web application at URL  The goals of this paper are to showcase the demonstrative capabilities of the tool for instruction, share student experiences in developing the engine underlying the simulation, and to inspire its use by other educators.
After revision:  The graphical simulation tool is implemented using the React library for the fancy UI elements of the Node.js framework and is available as a web application at URL Assigning the development of the underling text-based simulation engine, on which the graphical simulator runs, to students as a course project is also an effective approach to teach students the concepts. The goals of this paper are to showcase the demonstrative capabilities of the tool for instruction, share student experiences in developing the engine underlying the simulation, and to inspire its use by other educators.