Notes on Theory of Distributed Systems CPSC 465 / 565 : Spring 2016