Parallel Computing Lecture Notes