CSCE 569: Parallel Computing