ECE 512: Emerging Nanoelectronic Devices