Nanoelectronic Devices, With an Introduction to Spintronics (Lecture Notes)