CS6868: Concurrent Programming
See the codeThis is the GitHub repo for the course CS6868 Concurrent Programming taught at IITM in the Spring semester 2026. The course website is here: https://kcsrk.info/cs6868_s26/.
This course teaches the fundamentals of concurrent and parallel programming, with a focus on shared-memory multiprocessor systems. Topics include:
The course uses OCaml 5 with its native support for parallelism via domains and concurrency via effect handlers.
lectures/ - Lecture materials and code examplesassignments.md - Course assignmentsschedule.md - Course scheduleresources.md - Additional learning resourcesOCaml parts of CS3100 or equivalent experience with functional programming and basic understanding of operating systems and computer architecture.
git clone https://github.com/kayceesrk/cs6868_s26
cd cs6868_s26
We will use OCaml 5.4 or later. Follow the instructions at https://ocaml.org/docs/install.html to install OCaml and the platform tools. Use Linux, macOS, *BSD or WSL on Windows for best compatibility. Some of the later lectures will need Linux tools. At IITM, you can use the DCF machines, which have the tools installed.
Below is the instruction for Linux/macOS systems.
bash -c "sh <(curl -fsSL https://opam.ocaml.org/install.sh)"
opam init # initialize opam
opam switch create 5.4.0 # create a new switch with OCaml 5.4.0
opam install ocaml-lsp-server.1.24.0 ocamlformat.0.28.1 utop.2.16.0 qcheck-lin.0.10 qcheck-stm.0.10 # install course packages
It is recommended that you use VSCode with the OCaml Platform extension for development.
Refer to individual lecture directories for specific setup instructions.
The course material is inspired by and adapted from various sources, including:
OCaml
84.8%
Java
5.0%
SCSS
4.1%
Python
1.8%
Makefile
1.6%
TeX
1.2%
CS6868: Concurrent Programming
See the codeThis is the GitHub repo for the course CS6868 Concurrent Programming taught at IITM in the Spring semester 2026. The course website is here: https://kcsrk.info/cs6868_s26/.
This course teaches the fundamentals of concurrent and parallel programming, with a focus on shared-memory multiprocessor systems. Topics include:
The course uses OCaml 5 with its native support for parallelism via domains and concurrency via effect handlers.
lectures/ - Lecture materials and code examplesassignments.md - Course assignmentsschedule.md - Course scheduleresources.md - Additional learning resourcesOCaml parts of CS3100 or equivalent experience with functional programming and basic understanding of operating systems and computer architecture.
git clone https://github.com/kayceesrk/cs6868_s26
cd cs6868_s26
We will use OCaml 5.4 or later. Follow the instructions at https://ocaml.org/docs/install.html to install OCaml and the platform tools. Use Linux, macOS, *BSD or WSL on Windows for best compatibility. Some of the later lectures will need Linux tools. At IITM, you can use the DCF machines, which have the tools installed.
Below is the instruction for Linux/macOS systems.
bash -c "sh <(curl -fsSL https://opam.ocaml.org/install.sh)"
opam init # initialize opam
opam switch create 5.4.0 # create a new switch with OCaml 5.4.0
opam install ocaml-lsp-server.1.24.0 ocamlformat.0.28.1 utop.2.16.0 qcheck-lin.0.10 qcheck-stm.0.10 # install course packages
It is recommended that you use VSCode with the OCaml Platform extension for development.
Refer to individual lecture directories for specific setup instructions.
The course material is inspired by and adapted from various sources, including:
OCaml
84.8%
Java
5.0%
SCSS
4.1%
Python
1.8%
Makefile
1.6%
TeX
1.2%