Course Details

Exam Registration131
Course StatusOngoing
Course TypeElective
LanguageEnglish
Duration12 weeks
CategoriesComputer Science and Engineering
Credit Points3
LevelUndergraduate/Postgraduate
Start Date19 Jan 2026
End Date10 Apr 2026
Enrollment Ends02 Feb 2026
Exam Registration Ends20 Feb 2026
Exam Date24 Apr 2026 IST
NCrF Level4.5 — 8.0

Introduction To Haskell Programming: A 12-Week Journey into Functional Thinking

Are you ready to fundamentally change how you think about programming? The Introduction to Haskell Programming course offers a deep dive into the elegant world of functional programming, guided by an expert in the field. This 12-week program, designed for undergraduates, postgraduates, and curious professionals, is more than just learning a new language—it's about adopting a new paradigm for solving computational problems.

Why Learn Haskell?

Haskell is a purely functional programming language that stands apart from mainstream imperative languages like Java, C, or Python. Its design emphasizes mathematical precision, immutability, and declarative style. While the syntax may seem different initially, the concepts you learn—such as higher-order functions, lazy evaluation, and strong static typing—are increasingly influential and are being incorporated into major languages. Learning Haskell allows you to transcribe logical and mathematical solutions into code directly and elegantly, minimizing error-prone "bookkeeping" code.

Meet Your Instructor: Prof. S. P Suresh

This course is taught by Prof. S. P Suresh, an Associate Professor at the prestigious Chennai Mathematical Institute (CMI) since 2004. With a PhD from The Institute of Mathematical Sciences and a strong research background in logic in computer science, formal methods for security, and proof theory, Prof. Suresh brings a rigorous, foundational perspective to teaching programming. His expertise ensures that you learn not just the "how" of Haskell, but the profound "why" behind its design principles.

Who Is This Course For?

  • Undergraduate/Graduate Students wishing to learn introductory programming and algorithmic problem-solving from a fresh, formal perspective.
  • Professionals & Experienced Programmers looking to expand their skill set by mastering the concepts of functional programming, which are becoming essential in modern software development.
  • Anyone interested in understanding computation through the lens of mathematical logic and elegance.

Course Layout: A 12-Week Roadmap

The course is meticulously structured to build your knowledge from the ground up, culminating in advanced topics. Here’s a detailed weekly breakdown:

WeekTopics Covered
Week 1-2Introduction, GHCi, defining functions (pattern matching, guards), recursion.
Week 3-4Lists (recursion, comprehension), foundational data types (Char, String, Maybe, Either).
Week 5-6Higher-order functions (map, filter, fold), polymorphism, user-defined data types, laziness.
Week 7Input/Output basics using the `IO` monad and `do` notation.
Week 8-9Algorithm efficiency, complexity analysis, sorting algorithms.
Week 10-11Abstract Data Types (ADTs) and Data Structures: Stacks, Queues, Binary Search Trees, AVL Trees, Heaps, Red-Black Trees.
Week 12Advanced Concepts: Introduction to Monads (Maybe, List, State) and imperative programming styles within Haskell (ST monad).

Key Learning Outcomes

By the end of this course, you will have a solid foundation in both the theory and practice of functional programming with Haskell. Specifically, you will be able to:

  • Write clean, declarative Haskell programs using recursion and higher-order functions.
  • Design and implement custom data types and type classes.
  • Leverage Haskell's lazy evaluation for efficient algorithms, as demonstrated in graph search problems like BFS and DFS.
  • Analyze the time and space complexity of your programs.
  • Implement fundamental data structures like trees and heaps in a functional style.
  • Understand the core concept of monads, which manage side-effects like I/O in a pure functional setting.
  • Appreciate how functional programming principles can improve code in any language.

Start Your Functional Programming Journey

The Introduction to Haskell Programming course is a unique opportunity to learn from a leading academic at the Chennai Mathematical Institute. Whether you aim to become a better problem-solver, understand the foundations of modern programming languages, or simply explore a beautiful and powerful way to write software, this 12-week journey will equip you with invaluable skills and a new perspective on code. Embrace the elegance of functional thinking and unlock a new dimension of your programming potential.

Enroll Now →

Explore More

Mock Test All Courses Start Learning Today