X

Introduction To Haskell Programming

By Prof. S. P Suresh   |   CMI
Learners enrolled: 1053   |  Exam registration: 131
ABOUT THE COURSE :

This course teaches basic programming and algorithmic problem-solving using the language Haskell. Haskell is a functional language, which uses a very different style of programming than that of the more mainstreams languages like Java, C, Python, etc. But the functional programming features pioneered in languages like Haskell and ML are increasingly present in the major languages too.

Haskell allows us to easily and elegantly transcribe a mathematical / logical solution to a program, avoiding unnecessary bookkeeping.

INTENDED AUDIENCE: 

Undergraduate / graduate wishing to learn
introductory programming / algorithmic problem solving.

Professionals / experienced programmers concepts of functional programming.


Summary
Course Status : Ongoing
Course Type : Elective
Language for course content : English
Duration : 12 weeks
Category :
  • Computer Science and Engineering
Credit Points : 3
Level : Undergraduate/Postgraduate
Start Date : 19 Jan 2026
End Date : 10 Apr 2026
Enrollment Ends : 02 Feb 2026
Exam Registration Ends : 20 Feb 2026
Exam Date : 24 Apr 2026 IST
NCrF Level   : 4.5 — 8.0

Note: This exam date is subject to change based on seat availability. You can check final exam date on your hall ticket.


Page Visits



Course layout

Week 1: 

1. Introduction and GHCi demo.
2. Defining functions - pattern matching, multiline definitions

Week 2: 

3. Defining functions - guards, case
4. Multiple arguments and currying
5. Recursive functions

Week 3: 

6. Lists, recursive definitions on lists
7. Lists -- built-in functions, list comprehension

Week 4: 

8. Data types -- Char, String, tuples, Maybe, Either, etc.
9. Higher-order functions on lists -- map, filter, fold etc.

Week 5: 

10. Polymorphism and type classes.
11. User-defined data types.

Week 6: 

12. User-defined data types -- more examples
13. Rewriting, laziness, infinite lists
14. BFS, DFS and laziness in graph search problems

Week 7: 

15. IO basics -- do notation, basic IO actions
16. More IO -- looping, etc.

Week 8: 

17. Measuring efficiency of programs, complexity
18. Sorting

Week 9: 

19. Abstract data types via modules -- stacks
20. The Queue ADT

Week 10: 

21. Binary search trees
22. AVL trees

Week 11: 

23. Heaps
24. Red-black trees

Week 12: 

25: Introduction to Monads - Maybe, List, State
26: Imperative programming - ST, STRef, STArray etc.

Instructor bio

Prof. S. P Suresh

CMI
Prof.S P Suresh studied at REC Trichy (MCA) and The Institute of Mathematical Sciences (PhD). He has been a faculty member at the Chennai Mathematical Institute since 2004, currently an Associate Professor. His main research interests are logic in computer science, formal methods for security and proof theory

Course certificate

The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
Date and Time of Exams: April 24, 2026 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
Registration url: Announcements will be made when the registration form is open for registrations.
The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.

CRITERIA TO GET A CERTIFICATE

Average assignment score = 25% of average of best 8 assignments out of the total 12 assignments given in the course.
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

Please note that assignments encompass all types (including quizzes, programming tasks, and essay submissions) available in the specific week.

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Madras .It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning.

- NPTEL team
MHRD logo Swayam logo

DOWNLOAD APP

Goto google play store

FOLLOW US