X

Introduction To Lambda Calculus

By Prof. Rajdeep Niyogi   |   IIT Roorkee
Learners enrolled: 89
ABOUT THE COURSE:

This course offers an introductory overview of lambda calculus, which serves as the basis for various functional programming languages such as Haskell. In the initial two weeks, we focus on fundamental concepts like function representation, function abstraction and application, and term reduction (i.e., computation). A particular emphasis is placed on the creation of complex functions and data structures from the ground up, a topic often overlooked in most textbooks and online resources. The following two weeks will address simply typed lambda calculus. We will establish a formal system that allows us to logically deduce that a term M possesses a type . An algorithm for assigning principal types to typable terms will be demonstrated through examples. Lastly, we will briefly explore the idea of the relationship between types as logical formulas and the proofs of these logical formulas as type deductions of lambda terms.

INTENDED AUDIENCE: UG/PG/PhD students in CSE

PREREQUISITES: No pre-requisites are required regarding attending any other course(s) before taking this course.
Summary
Course Status : Upcoming
Course Type : Elective
Language for course content : English
Duration : 4 weeks
Category :
  • Computer Science and Engineering
Credit Points : 1
Level : Undergraduate/Postgraduate
Start Date : 16 Feb 2026
End Date : 13 Mar 2026
Enrollment Ends : 16 Feb 2026
Exam Registration Ends : 27 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:  Representation of a function in anonymous mode, partial application of functions, Currying technique, Syntax of pure Lambda calculus, technique for removal of redundant parenthesis from a lambda term, Free and bound variables, reductions, Church-Rosser Theorem, Normal forms, call-byname, call-by-value semantics.

Week 2: Representation of if-then-else, recursion, Y combinator, Church numerals, synthesis of some arithmetic functions (successor function, iszero, plus, multiply) and Boolean operations (or, and, not, exclusive or)

Week 3: Simply typed lambda calculus, the type system TA λ: motivation and definitions, work out examples of how deduction is done in the system, construction tree of term and type: work out some examples

Week 4: Principal Type algorithm, substitution, most general unifier, work out some examples of the working of the algorithm, Intuitionistic implicational logic, Curry-Howard isomorphism

Books and references

Sethi, R. Programming Languages: Concepts and Constructs, Pearson Education. 2004.
Hindley, J, R. Basic simple type theory. Cambridge University Press 1997.
Mitchell, C, J. Foundations of programming languages. The MIT press Cambridge, 1996. 

Instructor bio

Prof. Rajdeep Niyogi

IIT Roorkee
Prof. Rajdeep Niyogi is currently a Professor in the Computer Science and Engineering Department at IIT Roorkee, having joined in 2007. He earned his PhD in Computer Science and Engineering from IIT Kharagpur. He has also worked as a faculty member and researcher in the Computer Science Departments of other esteemed institutions across India. In 2014, he served as a visiting faculty member at the University of Perugia in Italy. His areas of research encompass automated planning, formal methods, distributed algorithms, as well as the applications of logic and automata theory. He has participated as a program committee member for numerous international conferences. To date, he has published over 150 papers in international conferences and journals.

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 3 assignments out of the total 4 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 Roorkee .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