is a graphical DOS-based program that copies the behavior of an elastic string. Cheez Wave Simulator displays one end of the string tethered to the side of the screen and the other follows the movement of the mouse. Sections of the string change color according to their velocities, and blocks between sections make it easy to see the movement of longitudinal waves.
You can modify the mass of the sections of the string and the number of segments. The mass can be specified for the two halves of the string separately, to demonstrate what happens when a wave passes into a more or less dense medium.