CS 635: Foundations of Parallel Computation