PoPL 2026-Monsoon @ IIITH
Table of Contents
1. Course Information
- Course Details
CS1.402 Principles of Programming Languages (PoPL)
Credit (L-T-P-C): 3-1-0-4
- Lectures
Mon, Thu 3:35 pm - 5:00 pm (SH1)
- Instructor
-
Venkatesh Choppella venkatesh.choppella@iiit.ac.in
-
- Teaching Assistants
-
Nitheesh Chandra nitheeshchandra.y@research.iiit.ac.in
-
Muhammed Shamil muhammed.shamil@research.iiit.ac.in
-
Mayank Tadala mayank.tadala@research.iiit.ac.in
-
Anvithraj Reddy (Email to be added)
-
- Office Hours
-
Venkatesh: Tue 1:30-2:30pm (501 Himalaya D Block)
-
2. Objectives, Prerequisites and Overview
Please see the course announcement page for details on course objectives and prerequisites.
3. Course Infrastructure
- Course Webpage
- GitLab Classroom
(Restricted access) TBA
- Source Code Repository
The Racket/Scheme source code for all the code in Essentials of Programming Languages (3rd Edition) is available at https://github.com/mwand/eopl3.
4. Lecture Schedule
No. | Date | Topic | Readings |
|---|---|---|---|
1 | 2026-07-30 Thu | Intro to Recursive Functions in Racket and Lean | RG and Ch 1: FPiL |
2 | 2026-08-03 Mon | Types, Currying and Higher-Order Functions | RG and Ch 1: FPiL |
3 | 2026-08-06 Thu | Product and Sum Types, Structures, Inductive Type, Type Classes, Propositional Logic | |
4 | 2026-08-10 Mon | Valuation Semantics and Natural Deduction for Propositional Logic. Introduction to Proofs in Lean |
5. Texts and References
5.1. Main Texts
There is no single text for the course. Material will be drawn from several online resources.
- LEAN
TODO
- EOPL
Essentials of Programming Languages 3rd Edition. Friedman and Wand. This is the main text for the course. Available on Amazon.in. Copies on reserve in the library.
- HtDP
How to Design Programs. Felleisen et al. Available online. Uses Racket exclusively.
- Mapcode book
An introduction to mathematical computer science. Kasturi Viswanath. Copies available on reserve at the library.
- TRaAT
Term Rewriting and All That. Baader and Nipkow. Chapters 1 and 2. Chapter copies on reserve in the library.
5.2. Related Texts
- SICP
Structure and Interpretation of Programs. Abelson and Sussman. Available online. Accompanying video lectures also available online.
- PLAI
Programming Languages: Application and Interpretation 2nd Edition. Shriram Krishnamurti. Available online.
- SSICS
Simply Scheme: Introducing Computer Science. Brian Harvey and Matthew Wright. Available online.
- RG
Racket Guide. Available as part of Racket language documentation.
5.3. Reading Resources & Tools
The following resources are recommended for functional programming and theorem proving components:
Topic / Resource | URL / Reference Link |
|---|---|
Intro to FP using Racket | |
Functional Programming in Lean | |
Lean Language Reference Manual | |
Theorem Proving in Lean | |
Lean Community Portal |
6. Grading and Submission Policies
6.1. Grades Breakup
Assessment Component | Weight (%) |
|---|---|
Homeworks (HWs) | 25 |
Quiz 1 (Q1) | 10 |
Quiz 2 (Q2) | 10 |
Midsem Exam (Mid) | 25 |
Endsem Exam (Final) | 30 |
6.2. Late Submission Policy
Delay Period | Maximum Grade Credit |
|---|---|
On Time (t+0) | 100% |
Up to 3 days late (t+3d) | 95% |
Up to 1 week late (t+1wk) | 85% |
Up to 2 weeks late (t+2wk) | 70% |
Up to 3 weeks late (t+3wk) | 50% |
Up to 4 weeks late (t+4wk) | 25% |
7. Academic Integrity
7.1. Collaboration and Resource Policy
You are encouraged to discuss the course material and the homework and its solutions with your classmates. After consulting with your friends and online resources, however, you are expected to implement the homework solutions on your own.
When collaborating with your classmates in projects, please ensure that you properly credit your fellow contributors.
7.2. Generative AI Policy
The use of Generative AI tools (such as ChatGPT, GitHub Copilot, Claude, etc.) is permitted under the following guidelines. To ensure academic integrity, this policy is strictly enforced through verifiable mechanisms:
-
Allowed Assistance: You may use AI tools to explain programming language concepts, debug syntax errors, understand Lean 4 compiler errors, or brainstorm algorithms.
-
Prohibited Direct Copying: Directly copying and submitting AI-generated code as your own work is prohibited.
-
Verification through Live Defense (Vivas): Course grading includes mandatory and random oral examinations (vivas) conducted by the TAs or Instructor. During the viva:
-
You will be asked to explain the logic, semantics, and design choices of specific parts of your submitted code.
-
You will be asked to perform a minor live modification or extension to your code (e.g., changing a recursive function definition or adding a simple rule) to demonstrate practical understanding. Failure to explain your code or perform the live modification will result in a grade of zero for the assignment and referral for disciplinary action.
-
-
Verification through Version Control (Git): All submissions must be accompanied by a logical Git commit history on GitLab Classroom. Submissions containing only a single monolithic commit of completed code without developmental history will be automatically flagged for audit and mandatory viva defense.
-
Attribution-Friendly Submissions: If you use a generative AI tool to write, refactor, or structure any portion of your code, you must explicitly attribute it. Honest, clear attribution of AI assistance is treated as a valid academic citation rather than cheating, provided you include a header comment in your submission containing:
-
The specific tool used (e.g., Claude 3.5 Sonnet).
-
The prompt(s) used to generate the code.
-
The exact parts of the code generated or inspired by the AI, and how you modified or integrated them. Note that even with proper attribution, you must still fully understand the code and pass the Live Defense checks to receive credit.
-
7.3. Penalties for Unfair Means
- Homeworks
If you are caught adopting unfair means in doing homeworks, you will receive a zero for that homework and all previous homeworks.
- Quizzes
If you are caught adopting unfair means in a quiz, you will receive a zero for that quiz and all previous quizzes.
8. Important Dates
Event | Date |
|---|---|
First Day of Classwork | 2026-07-30 Thu |
Add/Drop deadline | 2026-08-05 Wed |
Quiz 1 | 2026-08-27 Thu |
Midsem Exams | 2026-09-21 Mon to 2026-09-24 Thu |
Quiz 2 | 2026-10-22 Thu |
Withdrawal of course with 'W' | 2026-11-02 Mon |
Last Day of Classwork | 2026-11-19 Thu |
Endsem Exams | 2026-11-23 Mon to 2026-11-30 Mon |
Declaration of Results | 2026-12-15 Tue |
9. License
Material in the POPL course pages is covered by the Creative Commons CC-BY-NC-ND Attribution-NonCommercial-NoDerivs license. You are free to use the material for non commercial purposes without changing it and after attribution.
