BSCS1002 · 4 credits · Foundation
Programming
in Python
The only Foundation course with programming exams, no second quiz, and four separate eligibility gates. More people are failed by the rules here than by the code.
- Lectures
- 95 · 23 h
- Prerequisite
- CT
- Assessed by
- Quiz 1, 2 OPPEs, end term
- Hard rule
- one OPPE ≥ 40
def summarise(rows): total = 0 for r in rows: if r["ok"]: total += r["value"] return total >>> summarise(read_csv("input.csv")) 418
What this course actually asks
Ordinary Python, extraordinary adminProgramming in Python is taught by Satyadev Nandakumar of the computer science department at IIT Kanpur, and the content is a standard first Python course: conditionals, loops, collections, files, modules, and a final week of pandas and numpy. If you have programmed before, none of it will surprise you.
The course is still the one people most often have to repeat, and the reason is structural. It has two proctored programming exams, no Quiz 2, and four different eligibility rules that use different weeks. Miss any one of them and the exams you did write stop counting.
Using an LLM on a programming assignment is plagiarism
The grading document states it directly: "In each programming assignment, be it any course or any OPPE, taking help from LLMs (e.g. ChatGPT, Gemini) partially or completely is considered plagiarism", and "unless explicitly permitted, do not use LLMs. Using LLMs is considered a violation of honour code."
You may discuss and learn from each other; the assignment itself is expected to be your own. This page will not help you around that, and it is not a rule worth testing.
The twelve weeks
Topics quoted from the official course pageThe two shaded bands are the OPPE syllabuses: OPPE 1 covers weeks 1–5 and OPPE 2 covers weeks 1–8. Everything after week 8 is end-term only.
Introduction to algorithms.
Conditionals.
Conditionals (continued).
Iterations and ranges.
Iterations and ranges (continued).
Basic collections in Python.
Basic collections (continued).
Basic collections (continued).
File operations.
File operations (continued).
The module system in Python.
Basic pandas and numpy processing of data.
Am I eligible?
Four gates, four different sets of weeksPut in your eight weekly programming-assignment averages — A1 to A8 — and every gate is checked at once. Note what makes this course different: for the OPPEs there is no "best of". Each of the four relevant weeks must reach 40 on its own.
The SCT is not optional. The grading document says it in capitals: OPPE 1 and OPPE 2 will not be scheduled for students who fail to complete the System Compatibility Test. It also gates the bonus marks — attending mock tests earns you nothing unless the SCT is done.
How it is graded
May 2026 grading document · confirm against your course pageThe only Foundation course that does not use the standard formula:
There is no Quiz 2. PE1 and PE2 are the two programming exams, and between them they are worth 45% of the course — more than the end term. The better of the two is weighted higher, so a weak first OPPE is recoverable.
The rule that overrides the formula
To get a grade at all you must attend the end term and score 40 or more in at least one OPPE. If you miss that, your total score is irrelevant:
| OPPE | End term | T | Grade | What it means |
|---|---|---|---|---|
| absent / ineligible | absent | — | U | Repeat the whole course |
| absent | present | ≥ 35 | I_OP | Do the OPPEs alone next term; quiz and end-term marks carry over |
| absent | present | < 35 | U | Repeat the whole course |
| < 40 | present | ≥ 40 | I_OP | Do the OPPEs alone next term |
| < 40 | present | < 40 | U | Repeat the whole course |
| < 40 | absent | — | I_BOTH | Do the end term and the OPPEs next term |
| ≥ 40 | absent | — | I | Do the end term alone next term; OPPE marks carry over |
| ≥ 40 | present | — | as per T | Normal grading |
The row to memorise is the fourth. A perfectly good end term plus two OPPEs at 38 is an I_OP, not a pass.
Where the marks actually go
My read, from this course and from what people ask aboutOne weak assignment week
Everywhere else in Foundation a bad week is absorbed by a "best 5 of" rule. Here, A1 through A8 are checked individually at 40. A single week below the line removes an entire OPPE.
Leaving the SCT until later
It is a system check, it takes minutes, and without it neither programming exam is scheduled. Do it the week it opens.
Output that is nearly right
Programming exams are auto-graded on exact output. A stray space, a
missing newline, or printing 418.0 where 418
was wanted scores zero for a correct program. Read the output spec twice.
Practising by reading
Twenty-three hours of video is the shortest lecture set in Foundation, which tells you where the work is meant to happen. The OPPE is typed under time pressure; the only preparation is typing under time pressure.
Everything worth opening
Official first, then the free things that genuinely helpEvery link here was opened and checked on 23 September 2026. Nothing on this list is a solution set, and remember the honour-code rule above: these are for learning, not for completing an assignment.
Official
- Course page BSCS1002 on study.iitm.ac.in The week list, the instructor, and the prescribed text.
- Lectures Programming in Python — full playlist All 95 official lectures, including one on how to submit a programming assignment. Watch that one.
The book
- Free book Python for Everybody · Charles Severance The prescribed text, free in full, with exercises and its own video course. Chapters on conditionals, loops, lists, dictionaries and files are weeks 2 to 10 exactly.
- PDF Python for Everybody — direct PDF The same book as a single file, linked from the official course page.
For practice
- Tool Python Tutor Step through your own code line by line and watch every variable. The fastest way to find out why a loop is off by one.
- Free book Automate the Boring Stuff with Python Free online. Its file-handling chapters are a friendlier second pass over weeks 9 and 10.
- Docs The official Python tutorial Short, precise, and the place to check what a method actually returns rather than guessing in an exam.
For week 12
What to do in week one
Term starts 2 October 2026- Do the SCT the day it opensNo SCT means no OPPE means no grade. It is the single highest-value ten minutes in the entire Foundation level.
- Treat every weekly assignment as a gateA1 to A8 are checked individually at 40. There is no dropping your worst week in this course.
- Read the output spec, then read it againAuto-grading is exact. Practise printing precisely what is asked, with no extra text.
- Type, do not watchTwenty-three hours of lectures is the shortest set in Foundation. The rest of the time is meant to be spent writing code.
- Do the mock tests — after the SCTAveraging 40 or more across the mocks before a quiz is worth 2 bonus marks, but only if the SCT is done.
- Check your course page's grading sectionEverything here is from the May 2026 document. The September 2026 one was not published when this was written.