IITM BS Programming in Python (BSCS1002): Syllabus and Tips
By Editorial TeamLast reviewed
5 min readData ScienceOn this page
Programming in Python (BSCS1002) is a 4 credit foundation level course in the IITM BS in Data Science. It is the first formal programming course in the programme, and Python is used in many courses after it. You must finish Computational Thinking (BSCS1001) before you can register for it. It is one of the 8 foundation courses you need before any diploma course.
| Code | Credits | Level | Prerequisites |
|---|---|---|---|
| BSCS1002 | 4 | Foundation | Computational Thinking (BSCS1001) |
The course page names Satyadev Nandakumar, Professor in the Department of Computer Science and Engineering at IIT Kanpur, as the instructor.
Name check: the course page calls it "Programming in Python". The DS handbook calls the same foundation course "Introduction to Python". The prerequisite is the same in both.
What you learn
The course moves from simple logic to working with real data.
- Weeks 1 to 3: first programs and decisions. An introduction to algorithms, then conditionals over two weeks. You learn variables, expressions and if-else logic.
- Weeks 4 and 5: repetition. Loops and ranges. This is where most programs start to get longer.
- Weeks 6 to 8: collections. Three weeks on lists, tuples and dictionaries, and how to pick the right one.
- Weeks 9 to 12: files, modules and data. Reading and writing files, using Python's module system, and basic data work with Pandas and NumPy in the last week.
The course page also lists wider goals: using libraries such as random, math, datetime, scipy, matplotlib and Pandas; turning real life tasks into programming problems; writing readable code and debugging it; and building small applications.
The suggested book is Python for Everybody by Charles R. Severance. The course page says a PDF of it is freely available.
How it is assessed
The course page lists the standard pattern: 12 weeks of coursework, weekly online assignments, 2 in-person invigilated quizzes and 1 in-person invigilated end term exam. It does not mention a programming exam. The handbook says assessment can differ from course to course and points you to the grading document. Read your term's grading document in week 1 to see if an OPPE applies. Our Python GrPA and OPPE practice guide explains how to practise for both.
Where it counts
- It is one of the 8 mandatory foundation courses (32 credits in total). See the foundation level.
- All 8 foundation courses must be done before you register for any diploma course.
- For direct entry into the Diploma in Programming, the handbook says students study Computational Thinking and Introduction to Python first.
- The handbook says all foundation courses are offered every term.
Who finds it hard
If you have never coded, expect weeks 4 to 8 to take the most time. Loops inside loops, and loops over lists and dictionaries, need a new way of thinking. If you "know Python" from videos, be careful too. Watching code is not the same as writing it from a blank file. In weeks 9 and 10, test your file code on a real file, not only on the sample.
How to prepare
- Finish Computational Thinking well. It is the prerequisite, so what you learn there is assumed from week 1. Our Computational Thinking guide helps.
- Type, do not copy. Type every lecture example yourself and change one thing before you run it.
- Trace by hand. Before running a loop, write down what it prints. A classic mistake:
range(1, 5)gives 1, 2, 3 and 4, not 5. - Test the awkward cases. Empty list, one item, negative numbers, repeated values. Many wrong answers come from these.
- Keep a bug diary. Write each error you hit and its fix. By week 8 it becomes your best revision sheet.
- Do timed practice from week 4. Solve two old practice problems from a blank file with no notes, then check.
What to take before or after
Before: Computational Thinking. After: the diploma courses. PDSA (BSCS2002) starts with a Python refresher and then builds data structures and algorithms in Python. The course list for that path is in the Diploma in Programming.
Common questions
Can I take Python and Computational Thinking in the same term?
No. Computational Thinking is a prerequisite, not a corequisite. You must complete it first and then register for Python.
Is "Introduction to Python" a different course from BSCS1002?
No. The handbook uses the name "Introduction to Python" for this foundation course, while the course page uses "Programming in Python". Both describe the same 4 credit foundation course that follows Computational Thinking.
Does the Python course cover Pandas and NumPy?
Only at a basic level. Week 12 is about basic Pandas and NumPy processing of data. The rest of the course is core Python.
Is the book compulsory?
The course page lists Python for Everybody as a suggested book. It does not say the book is required. Your grade comes from the assignments, quizzes and end term, not from the book.
25 Python handwritten and PDF notes by students
Official sources
Read next
- IITM BS English II (BSHS1002): Syllabus and Tips
- IITM BS Mathematics for Data Science II (BSMA1003): Syllabus and Tips
- IITM BS Statistics for Data Science II (BSMA1004): Syllabus and Tips
- Computational Thinking After the IITM BS Qualifier (Weeks 5 to 12)
- IITM BS English 1 and English 2: Easy Marks or a Trap?
- IITM BS Maths 1: A Week-by-Week Survival Guide