PoPL 2025-Monsoon @ IIITH
Table of Contents
1 Course Info
- Number
- CSC 415
- Name
- Principles of Programming Languages (PoPL)
- Lectures
- Himalaya 101, Mon, Thu 3:30 pm - 4:55: pm
- Instructor
- Venkatesh Choppella
<venkatesh.choppella@iiit.ac.in>
- Venkatesh Choppella
- Teaching Assistants
- Nitheesh Chandra
<nitheeshchandra.y@research.iiit.ac.in>
- Moida Praneeth Jain
<moida.praneeth@students.iiit.ac.in>
- Nitheesh Chandra
- Office Hours
- Venkatesh: by Appt. (please email
<ravi.kiran@vlabs.ac.in>
for appointments with your free times.)
- Venkatesh: by Appt. (please email
2 Important dates
Event | Date |
---|---|
First day of class | |
Add/Drop deadline | |
W grade deadline | |
Last day of class | |
Grades to Academic Section |
3 Course infrastructure
- Course web pages
- https://iiit.ac.in/~vxc/popl
- Gitlab Classroom
- (Restricted access) TBA
- Source code
- 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 Objectives, Prerequisites and Syllabus
Please see the course announcement page.
5 Texts and References
5.1 Main texts
- 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 theoretical computer science. Kasturi Viswanath. Copies available on reserve at the library.
- Term Rewriting and All That. Baader and Nipkow. Chapters 1 and 2. Chapter copies on reserve in the library.
6 Grading (tentative)
Item | unit marks | no. | total | Remarks |
---|---|---|---|---|
HW | TBA | TBA | 15 | Not all HWs may |
have equal weight | ||||
Quiz1 | 7.5 | |||
Quiz2 | 7.5 | |||
Mid | 20 | |||
Final | 30 | |||
Proj | 20 | Tentative | ||
Total | 100 |
7 Academic integrity
7.1 Discussion and Collaboration and Online resources and tools
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 Penalties
- 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.
7.3 Late Submission of Homeworks
Days beyond deadline | Marks |
---|---|
0 | 100% |
(0-3] | 95% |
(3-7] | 80% |
(7-14] | 60% |
(14-21] | 40% |
(21-28] | 20% |
beyond 28 | 0% |
8 Lecture Plan
Lec No. | Date | Topic | Reading Assignments |
---|---|---|---|
1. | Transition Systems | slides.pdf | |
2. | Mapcode machines and | Notes on Mapcode | |
Algorithmic Problem Solving | Viswanth Ch 1-3 | ||
and Examples | code.zip | ||
3. | Program Correctness | Viswanath Ch4 | |
slides.pdf | |||
slides.pdf | |||
4. | Interactive Problem Solving | ||
and Interactive Evaluation | |||
5. | Recursion and Mapcode | ||
6. | Rewrite Systems | ||
7. | Abstract Reduction Systems I: | Notes on Abstract Reductions | |
closures of relations | |||
8. | Abstract Reduction Systems II: | Notes on Abstract Reductions | |
Confluence properties | |||
Well-founded induction, Local Confluence | |||
9. | Well-founded induction, Local Confluence | ||
10. | Quiz I |
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.