Using Self-Assembly for the Fabrication of Nano-Scale Electronic and Photonic Devices