Course Notes available by UWaterloo Nano 2018s, for UWaterloo Nano 2018s