This code uses Processing to visualize selction sort algorithm, linear and scaling property of Fourier Transform.
It first visualizes the selection sorting in two halves, one half to ascending order and the other to descending order. It then shows the fourier transform of a cosine wave, with its time domain representation on one side, and its frequency domain representation on the other side.
As time goes, the cosine wave's magnitude changes, and the animation shows the frequency representation's magnitude changes in the same way (linearity). It then changes the cosine wave's frequency, and shows the reverse relationship between the interval length in frequency domain and time domain (scaling property).
To run this code, first set up the environment as described here
More details of this project can be found here