Spectral Techniques in Theoretical Computer Science