Basecamp 07 · Programming in Python
Basecamp

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
the shape of almost every OPPE question
01

What this course actually asks

Ordinary Python, extraordinary admin

Programming 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.

02

The twelve weeks

Topics quoted from the official course page

The 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.

W1

Introduction to algorithms.A1 must reach 40 or OPPE 1 is not scheduled

W2

Conditionals.A2 must reach 40

W3

Conditionals (continued).A3 must reach 40

W4

Iterations and ranges.A4 must reach 40

W5

Iterations and ranges (continued).end of the OPPE 1 syllabus · A5 must reach 40 for OPPE 2

W6

Basic collections in Python.A6 must reach 40 for OPPE 2

W7

Basic collections (continued).A7 must reach 40 · and the best-5-of-7 gate closes here

W8

Basic collections (continued).end of the OPPE 2 syllabus · A8 must reach 40

W9

File operations.

W10

File operations (continued).

W11

The module system in Python.

W12

Basic pandas and numpy processing of data.your first contact with the tools the whole Diploma runs on

03

Am I eligible?

Four gates, four different sets of weeks

Put 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.

Eligibility checker

nothing is stored or sent

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.

04

How it is graded

May 2026 grading document · confirm against your course page

The only Foundation course that does not use the standard formula:

T = 0.15·Qz1 + 0.4·F + 0.25·max(PE1, PE2) + 0.2·min(PE1, PE2)

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:

OPPEEnd termTGradeWhat it means
absent / ineligibleabsent—URepeat the whole course
absentpresent≥ 35I_OPDo the OPPEs alone next term; quiz and end-term marks carry over
absentpresent< 35URepeat the whole course
< 40present≥ 40I_OPDo the OPPEs alone next term
< 40present< 40URepeat the whole course
< 40absent—I_BOTHDo the end term and the OPPEs next term
≥ 40absent—IDo the end term alone next term; OPPE marks carry over
≥ 40present—as per TNormal 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.

05

Where the marks actually go

My read, from this course and from what people ask about
01

One 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.

02

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.

03

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.

04

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.

06

Everything worth opening

Official first, then the free things that genuinely help

Every 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

The book

For practice

For week 12

07

What to do in week one

Term starts 2 October 2026
  1. 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.
  2. Treat every weekly assignment as a gateA1 to A8 are checked individually at 40. There is no dropping your worst week in this course.
  3. Read the output spec, then read it againAuto-grading is exact. Practise printing precisely what is asked, with no extra text.
  4. 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.
  5. 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.
  6. 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.