Paradigms of Programming
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
- Instructor: KC Sivaramakrishnan, who goes by “KC”.
- Where: SSB 134
- When: E Slot: Tue 1100 – 1150, Wed 1000 – 1050, Thu 0800 – 0850, Fri 1700 – 1750
- Slack: http://cs3100m25iitm.slack.com/ Join using
<your_email_id>@smail.iitm.ac.in
. - Moodle: https://courses.iitm.ac.in/course/view.php?id=9781
- TAs:
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