Lec. 3. Credit 3. Prerequisite: C or better in CSC 2400 and CSC 2500. Foundations of parallel computing including the parallel computer architectures, principles of parallel algorithm design, OpenMP and MPI programming models for shared- and distributed-memory systems, along with numerical and non-numerical algorithms for parallel systems.