Virtual ripple tank
This wonderful java applet is a simulation of a ripple tank. It demonstrates waves in two dimensions, including such wave phenomena as interference, diffraction (single slit, double slit, etc.), refraction, resonance, phased arrays, wave guides and the Doppler effect.
The predefined setups (on the right hand side of the applet) are just starting points; you can modify the sources and walls as you desire. Depending on your PC you may want to alter the 'Simulation speed'.You can also draw on the screen with the mouse and drag the point sources. Full Instructions.
This beautiful applet was developed by Paul Falstad. His site is an unmissable resource for physics teachers: http://www.falstad.com/mathphysics.html