CSE502 - Foundations of Parallel Programming


Winter 2020

4 credits


Vivek Kumar

Teaching Assistants

Nikhil Gola
Pankaj Gupta

Info - Foundations of Parallel Programming, IIIT-Delhi


Constrained by the heat and power usage, today all computing devices are composed of multicore processors, with little or no increase in clock speed per core. In order to harness the power of the multicore processors, software applications being developed also needs to be parallelized. This makes parallel programming a very important paradigm of computing.This course introduces the fundamentals of parallel programming. It will cover both traditional approaches and new advancements in the area of parallel programming. A key aim of this course is to provide hands-on knowledge on parallel programming by writing parallel programs in different programming models taught in this course.


  • Understand the fundamentals of parallel programming and different programming models for parallel programming that are supported by wide range of industries.
  • Write shared memory parallel programs using the traditional thread based approach, widely used OpenMP library and the modern asynchronous dynamic task programming model.
  • Write distributed memory parallel programs as well as hybrid distributed-shared memory parallel programs.
  • Reason between the productivity and performance offered by different parallel programming models.


  • Quizzes (N-1) - 10%
  • Assignments - 10%
  • Labs (N-1) - 5% [Students should code the program on lab machine within 90 minutes]
  • Project - 25%
  • Midsem - 20%
  • Endsem - 30%
  • Strict Passing Criteria - students will have to get at least: a) 30% in total of assignments and labs, b) 30% in project, c) 30% in mid semester exam, and d) 30% in end semester exam.



  • Students should be proficient in C/C++ programming. If not, then you should be confident that you can pick it up on your own.
  • Intro to Programming (CSE101)
  • Advanced Programming (CSE201)
  • Data Structures and Algorithms (CSE102)

Class Timings

  • Lectures: Tuesday and Friday 2.30pm-4.00pm (A006)
  • Labs: Fridays 5.30pm-7.00pm (Venue: 317 Seminar Block)

Office Hours

Dr. Vivek Kumar: Fridays 4.00pm-5.00pm (B506 R&D Block)
Nikhil Gola: Monday 2:30 pm to 3:30 pm (A-519 R&D Block) (Contact number: 9910905828)
Pankaj Gupta: Wednesday 2:00 pm to 3:00 pm (A-519 R&D Block) (Contact number: 8923488697)