Paradigms of Programming

Don't worry. We will only cover a small subset of this.
Don't worry. We will only cover a small subset of this.

The aim of the course is to teach you about the different paradigms of programming, their underlying concepts, and the relationships between them. We will mostly look at functional and logic programming, touching upon imperative programming concepts as we go through the course. We will study functional paradigm through OCaml and logic paradigm through Prolog (specifically SWI-Prolog). The official course description is here.

The course will be primarily taught through interactive Jupyter Notebooks. The instructions for setting up the notebooks is found here.

Essential Details

Name Email (@smail.iitm.ac.in)
Sai Venkata Krishnan V cs20d408
Durwasa Chakraborty cs24d011
Vishakh Desai cs25s018
Sagar Biswas cs24m039
Pradeep Peter Murmu cs24m033
Vishal S cs22b033
Md Isfarul Haque cs22b010
Pranav cs22b015


Liaise with the TAs over email about where to meet.

Grading

Item Weightage (%)
Quiz 1 15%
Quiz 2 15%
Pop quiz (best 4 out of 6) 20%
Programming Assignments 15%
EndSem 35%


We will use absolute grading: S 90, A 80, B 70, C 60, D 50, E 35.


Acknowledgements

The course borrows some of the materials from