CEG 435/635-01: Distributed Computing and Systems