This is a first course in parallel programming and does not require any previous parallel computing experience. Data structures and Operating Systems are required. L-T-P: 3-0-2. With the growing number of cores on a chip, programming them efficiently has become an indispensable knowledge for the future. Modern Parallel Programming is a hands-on course involving significant parallel programming on compute-clusters, multi-core CPUs and massive-core GPUs.