IITM BS OPPE previous year papers to code and run
- OPPE 1Set 1
- OPPE 1Set 2
- OPPE 1Set 3
- OPPE 1Set 1
- OPPE 1Set 2
- OPPE 1Set 3
- OPPE 1Set 4
- OPPE 1Set 1
- OPPE 1Set 2
- OPPE 1Set 3
- OPPE 1Set 4
- OPPE 2Set 1
- OPPE 1Set 1
- OPPE 1Set 2
- OPPE 2Set 2
- OPPE 1Set 3
- OPPE 2Set 3
- OPPE 1Set 4
- OPPE 1Set 5
- OPPE 1Set 1
- OPPE 2Set 1
- OPPE 1Set 2
- OPPE 2Set 2
- OPPE 1Set 3
More on the IITM BS OPPE
Every IITM BS OPPE paper on Quiz Space, free. The OPPE, the Online Proctored Programming Exam of the IIT Madras BS degree, is the exam where you write and run code instead of choosing options. Here are 74 real OPPE previous year papers, 2022–2026, for Python, DBMS, Java and System Commands: each question opens in a code editor on the page, runs against the paper’s test cases and has its video solution. Pick a course below, or open any paper above.
| Feature | IITM BS OPPE PYQs at a glance |
|---|---|
| Papers | 74 |
| Exams | 2 |
| Subjects | 4 |
| Questions | 511 |
| Years | 2022–2026 |
| Updated |
OPPE PYQs by exam
| Exam | Papers | Subjects | Years | Latest paper |
|---|---|---|---|---|
| OPPE 1 PYQs, every course | 45 | 3 | 2022–2026 | May 2026 |
| OPPE 2 PYQs, every course | 29 | 3 | 2022–2026 | May 2025 |
Every paper is listed on its exam’s page by subject and year; all 74 papers, newest first, are on all question papers.
OPPE PYQs by course
| Course | OPPE 1 | OPPE 2 | Questions | Written in |
|---|---|---|---|---|
| Programming in Python | Python OPPE 1 PYQ (27) | Python OPPE 2 PYQ (9) | 258 | Python |
| Database Management Systems | — | DBMS OPPE 2 PYQ (8) | 73 | SQL and Python with PostgreSQL |
| Programming Concepts using Java | Java OPPE 1 PYQ (7) | — | 31 | Java |
| System Commands | System Commands OPPE 1 PYQ (11) | System Commands OPPE 2 PYQ (12) | 149 | Bash |
Each course’s page lists its OPPE papers term by term, with how its OPPE is set out: the sections its questions come in, a paper’s size, and how the OPPE counts in that course.
What the OPPE is
The OPPE (Online Proctored Programming Exam) is the exam of the IIT Madras BS courses that teach programming — Python, PDSA, DBMS, Java, System Commands, Machine Learning Practice, C and others. It is taken online from home under proctoring: you write and run code instead of choosing options. A System Compatibility Test comes first, and each course sets its own eligibility and weightage.
Exam format
- Remote and proctored: taken online from home, unless IIT Madras says otherwise for a term.
- Generally 1.5 or 2 hours; the time varies from course to course.
- A System Compatibility Test (SCT) comes first: without it, no OPPE is scheduled.
- Proctored over Google Meet from a phone on a stand, showing the desk, the laptop, your face and both hands; no one else in the room.
- Help from AI tools such as LLMs counts as malpractice.
- Each course sets who may sit it, usually a minimum score in the weekly programming assignments.
- Past papers come in sections, and each question’s code is run against test cases (observed on past papers, not an official rule).
From IIT Madras’s own documents, checked October 2026: IITM BS Data Science grading document, September 2026 term, OPPE System Compatibility Test rules, IITM BS Data Science — Exams. The rules change from term to term; the course page on the IIT Madras site has the current ones.
How the OPPE counts, course by course
| Course | OPPE | In the final score |
|---|---|---|
| Programming in Python | OPPE 1 and OPPE 2 | The better OPPE 25%, the other 20%: T = 0.15 Qz1 + 0.4 F + 0.25 max(PE1, PE2) + 0.2 min(PE1, PE2) |
| Programming, Data Structures and Algorithms using Python | One OPPE, 120 minutes | 20%: T = 0.05 GAA + 0.2 OP + 0.45 F + max(0.2 max(Qz1, Qz2), 0.10 Qz1 + 0.20 Qz2) |
| Database Management Systems | One OPPE, with a second attempt for those who fail | 20%: T = 0.03 GAA2 + 0.02 GAA3 + 0.2 OPPE + 0.45 F + max(0.2 max(Qz1, Qz2), 0.10 Qz1 + 0.20 Qz2) |
| Programming Concepts using Java | OPPE 1 and OPPE 2 | The better OPPE 20%, the other a 10% bonus: T = 0.05 GAA + 0.2 max(PE1, PE2) + 0.45 F + max(0.2 max(Qz1, Qz2), 0.10 Qz1 + 0.20 Qz2) + bonus 0.10 min(PE1, PE2) |
| System Commands | One OPPE, and a ReOPPE | 30%: T = 0.05 GAA + 0.25 Qz1 + 0.3 OPPE + 0.3 F + 0.1 BPTA |
| Machine Learning Practice | OPPE 1 and OPPE 2 | 20% each: T = 0.05 GAA + 0.40 F + 0.20 OPPE1 + 0.20 OPPE2 + 0.15 KA |
| Programming in C | OPPE 1 and OPPE 2 | 20% each: T = 0.10 GAA + 0.20 Qz1 + 0.20 OPPE1 + 0.20 OPPE2 + 0.30 F |
| Introduction to Big Data | OPPE 1 and OPPE 2 | OPPE 1 20%, OPPE 2 40%: T = 0.1 GAA + 0.3 F + 0.2 OPPE1 + 0.4 OPPE2 + bonus |
| MLOps | OPPE 1 and OPPE 2 | 25% each: T = 0.2 GAA + 0.3 F + 0.25 OPPE1 + 0.25 OPPE2 + bonus, capped at 100 |
PE1 and PE2 (or OPPE1 and OPPE2) are the OPPE scores, Qz1 and Qz2 the quizzes, F the end term and GAA the graded assignments. What each course needs for a grade, and who may sit its OPPE, is on its OPPE page.
From the IITM BS Data Science grading document, September 2026 term (IIT Madras). The weightage is revised from term to term, so check the current document before you plan around it.
How OPPE practice works on Quiz Space
| Step | What happens |
|---|---|
| Choose a paper | Any real OPPE paper, by course and exam, from the list above. |
| Write your code | In the editor on the page, in the paper’s language — Python, SQL, Python with PostgreSQL, Java or Bash — with nothing to install. |
| Run it | Against the question’s test cases, your output beside the expected output. |
| Check it | Against the hidden test cases too, where the paper has them, before you move on. |
| Watch the solution | The video solution of every question, and its written solution, once you have tried it. |
| Time it | Take the whole paper as a timed test, with the paper’s own time limit. |
How to prepare for the OPPE
- Solve your course’s past OPPE papers, newest first: the same sections come back term after term, as each course’s page shows.
- Take at least one paper as a timed test, at the real paper’s length, so the time limit holds no surprise.
- Print exactly what a question asks for: test cases compare what your program prints with the expected output line by line, so an extra word, a missing space between values or a wrong order fails the test.
- Run every answer against the hidden test cases as well: they catch the edge cases the visible ones do not.
- Clear the System Compatibility Test early, on the laptop you will use: without it no OPPE is scheduled, and the exam must be taken on that same laptop.
- Watch the free OPPE series by Unknown IITians on YouTube, worked through question by question.

