CS6868 Banner

Photo © Madras Inherited

CS6868: Concurrent Programming

Course Overview

This course explores the fundamentals of concurrent and parallel programming with a focus on shared-memory multiprocessor systems. You’ll learn to design and implement correct, efficient concurrent programs while understanding the theoretical foundations and practical challenges of concurrency and parallelism.

Key Topics:

The course uses OCaml 5 with native support for parallelism via domains and concurrency via effect handlers, providing hands-on experience with modern concurrent programming techniques.

Prerequisites

Essential Details

Name Email (@smail.iitm.ac.in)
Abdun Nihaal cs23d008@smail.iitm.ac.in
Md. Isfarul Haque cs22b010@smail.iitm.ac.in
Dhanush cs24m047@smail.iitm.ac.in
Mustaq cs24m045@smail.iitm.ac.in

Liaise with the TAs over email about where to meet.

Grading

Item Weightage (%)
In-class short quizzes (best 5/6) 20
Mid-term exam 20
End semester exam 20
Programming assignments (4) 24
Research mini project 16

The dates of the in-class short quizzes will be announced a priori. We will use absolute grading: S 90, A 80, B 70, C 60, D 50, E 35.

Acknowledgements

This course material is inspired by and adapted from: