Computational Strategies for Spectroscopy: from Small Molecules to Nano Systems