Programming in Python
Python from first principles — data types, control flow, functions, files, and the standard library.
§ 1Calendar
- Quiz 1—
- Quiz 2—
- End-term examination—
§ 2Previous Year Questions
-
Foundation previous term papers
Past quizzes and end term papers with answer keys, for all foundation courses.
medium.comby Pratham Bhalla
§ 3Resources
Course material11
-
Official course page
study.iitm.ac.in
-
Live session channel
youtube.com
-
IITM Python textbook
bsc-iitm.github.io
-
Lecture slides (Drive folder)
drive.google.comIITM login required
-
Lecture transcripts (Drive folder)
drive.google.comIITM login required
-
Python for Everybody (free book)
do1.dr-chuck.com
-
MyCampus YouTube playlist
youtube.com
-
W3Schools Python tutorial
w3schools.com
-
Python cheat sheet (zerotomastery.io)
zerotomastery.io
-
Python cheat sheet (quick reference)
docs.google.com
-
Summary of weekly live sessions
What the instructor and TA live sessions covered, week by week.
discourse.onlinedegree.iitm.ac.inDiscourse login required
Notes3
-
Course notes
Notes and study material for this course.
iitmbsdegree.inby IITM BS Students' Corner -
Topic-wise notes
Topic-wise notes on ML Study Hub.
degreedost.comby ML Study Hub -
Python notes on Medium
Written notes for Intro to Programming in Python.
medium.comby Pratham Bhalla
Syllabus
The official course syllabus, transcribed from the IITM BS Data Science & Applications course booklet.
§ 1Course Description
This course serves as the first formal introduction to programming in the programme. It introduces Python - used throughout the curriculum - while developing foundational problem-solving and algorithmic skills.
Lectures-Tutorials-Practicals-Credits: 4-0-0-4
§ 2Faculty
- Prof. Sudarshan Iyengar, Department of Computer Science and Engineering, IIT Ropar
§ 3Week-by-week
Week 1: Programming basics - Replit, variables, data types, operators, strings; Common errors.
Week 2: Variables and dynamic typing; Operators and expressions; Strings (methods, escape characters, applications); Conditional statements (if, else, elif); Importing libraries.
Week 3: Iteration - while, for, nested loops; Range; Loop control (break, continue, pass); Formatted output; Applications.
Week 4: Lists, sets and tuples; List comprehensions; Introduction to functions; Function types and arguments.
Week 5: Dictionaries; Functions and scope; Iterators and generators; Functional tools; Applications (sorting, matrix multiplication).
Week 6: Practice Problems I
Week 7: Practice Problems II
Week 8: File handling - reading and writing; Handling large files; Applications (Caesar cipher, genetic sequences).
Week 9: Recursion - concepts and applications; Recursive problem solving (searching, sorting); Binary search (iterative and recursive).
Week 10: Exception handling; Introduction to object oriented programming; Classes and objects; Attributes and methods; Inheritance and method overriding.
Week 11: Numerical and data libraries - NumPy, Pandas (Series, DataFrames); Data visualization with Matplotlib.
Week 12: Course Summary
OPPE
Solved questions for the Programming in Python online proctored programming exams (OPPE 1 and OPPE 2).
§ 1Practice and past questions
-
Python OPPE solutions and question bank
nirban-a.github.ioby Anirban Mandal
-
Solved OPPE 1 sets
Solutions to a few previous term OPPE 1 sets.
sites.google.comIITM login required -
Solved OPPE 2 sets
Solutions to a few previous term OPPE 2 sets.
sites.google.comIITM login required -
OPPE syllabus and pattern
What the OPPE covers and how it is laid out.
gistpreview.github.io -
Practice and revision sessions (Google Sheet)
Links to the OPPE practice and revision sessions.
docs.google.comIITM login required