BCA 201T Python Programming Notes from Unnati Educations run to 137 pages across 4 units, with 158 solved programs with output, 113 two-mark answers and 40 ten-mark answer guides. They follow the GGSIPU BCA Semester 3 syllabus for the 2024-25 batch onwards and come as a printed book, ordered on WhatsApp.
Written by Prateek Talwar, Founder, Unnati Educations · Reviewed by Ritik Rawat, B.Tech, Senior Full Stack Developer · Checked against the official BCA Scheme and Syllabus w.e.f. 2024-25 (notice of 04 Aug 2025) · Updated 12 October 2026 · Editorial policy
Scheme: BCA Scheme and Syllabus w.e.f. academic session 2024-25 (CCFUP) | Applies to: batch admitted 2024-25 onwards | Verified against: BCA Scheme and Syllabus, 1st and 2nd Year Common, notice of 04 Aug 2025
On this page
BCA 201T Python Programming at a glance: GGSIPU BCA Sem 3 credits, units and exam pattern
| Code and title | BCA 201T · Python Programming |
|---|---|
| Course and semester | BCA, Semester 3 |
| Category and credits | Core Course Theory (CCT) · 4 credits · L-T/P 4-0 (4 lecture hours a week; unit hours 11 + 11 + 10 + 12) |
| Marks | 100: 40 internal + 60 end-term |
| Applies to | Batch admitted 2024-25 onwards |
| End-term pattern | Q1 compulsory: 10 short questions of 2 marks, at least 2 per unit. Then 2 questions per unit, attempt 1 from each, 10 marks each (20 + 40 = 60 marks) |
| Units | 4 |
| Paired lab | BCA 201P Python Programming Lab · CCP · 0-4, 2 credits · 100 marks (40 + 60) |
It is one of the GGSIPU BCA Semester 3 papers, a semester worth 29 credits and 1,100 marks.
Grading follows the university's Ordinance 11 on examinations; each question maps to a course outcome, CO1 to CO5.
BCA 201T Python Programming Notes unit-wise: 158 solved programs across 4 units
These are Python Programming notes in English, with a program and output for nearly every topic. Notes for other papers of the course sit under GGSIPU BCA notes.
BCA 201T Unit 1: Basics, Operators, Control Structures and Strings
Unit 1 traces Python from its 1989 start to Python 3, shows how a .py file runs on the PVM, and covers identifiers, the 35 keywords, escape sequences and IDLE. It then works through relational, logical and bitwise operators, every decision statement, while and for loops, break, continue and pass, and 14 string methods.
Pages 5 to 41 · 11 official hours · 46 programs · 28 two-mark and 10 ten-mark questions · 11 figures.
Quick look: slicing "PROGRAMMING" (from page 31)
s = "PROGRAMMING"
print(s[0:7]) # PROGRAM
print(s[-4:]) # MING
print(s[::-1]) # GNIMMARGORPA slice stops one index before stop and never raises an error.
BCA 201T Unit 2: List, Tuple, Dictionary and Sets
Unit 2 starts with mutable and immutable objects, then gives lists the longest treatment: indexing, slicing, traversing, all and any, the methods from append to reverse, and aliasing versus copying. Sets, tuples and dictionary get(), update(), copy() and deletion follow.
Pages 42 to 72 · 11 official hours · 39 programs · 28 two-mark and 10 ten-mark questions · 8 figures.
| Feature | List | Tuple | Set | Dictionary |
|---|---|---|---|---|
| Ordered | Yes | Yes | No | Yes (3.7+) |
| Mutable | Yes | No | Yes | Yes |
| Duplicates | Allowed | Allowed | Not allowed | Keys unique |
| Empty form | [] | () | set() | {} |
Quick look: list, tuple, set and dictionary compared (from page 67)
- Feature
- Ordered
- List
- Yes
- Tuple
- Yes
- Set
- No
- Dictionary
- Yes (3.7+)
- Feature
- Mutable
- List
- Yes
- Tuple
- No
- Set
- Yes
- Dictionary
- Yes
- Feature
- Duplicates
- List
- Allowed
- Tuple
- Allowed
- Set
- Not allowed
- Dictionary
- Keys unique
- Feature
- Empty form
- List
[]- Tuple
()- Set
set()- Dictionary
{}
BCA 201T Unit 3: Functions and File Handling
Unit 3 covers defining and calling functions, the four argument and return-value combinations, keyword, default and variable-length arguments, scope with the LEGB rule, lambda, recursion with a call-stack diagram for fact(4), and modules. The file half compares text, binary and CSV files and inserts, deletes and updates records through a temporary file.
Pages 73 to 103 · 10 official hours · 39 programs · 28 two-mark and 10 ten-mark questions · 9 figures.
| Point | Formal | Actual |
|---|---|---|
| Written in | Function definition | Function call |
| Role | Receive values | Send values |
| Can be | Variables only | Constants, variables, expressions |
| Example | def add(a, b): | add(10, x + 5) |
Quick look: formal vs actual arguments (from page 78)
- Point
- Written in
- Formal
- Function definition
- Actual
- Function call
- Point
- Role
- Formal
- Receive values
- Actual
- Send values
- Point
- Can be
- Formal
- Variables only
- Actual
- Constants, variables, expressions
- Point
- Example
- Formal
def add(a, b):- Actual
add(10, x + 5)
BCA 201T Unit 4: OOP, NumPy and Matplotlib
Unit 4 covers classes, constructors, public, protected and private members with name mangling, static and class methods, encapsulation, five types of inheritance and polymorphism. NumPy follows with one-dimensional arrays, reshaping, element-wise and aggregate operations, and the unit ends with bar graphs and pie charts in Matplotlib.
Pages 104 to 137 · 12 official hours · 34 programs · 29 two-mark and 10 ten-mark questions · 14 figures, the most of any unit.
Quick look: NumPy element-wise operations (from page 123)
import numpy as np
a = np.array([1, 2, 3, 4]); b = np.array([10, 20, 30, 40])
print(a + b) # [11 22 33 44]
print(a * 10) # [10 20 30 40]
print(a > 2) # [False False True True]Binary files with pickle in Python: excerpt from page 95 of the BCA 201T notes
Excerpt from page 95
Modifying the whole data of a text file
Program 3.33 changes every record of students.txt in one pass. Each row is split on commas into roll number, name and marks; the name is turned to capitals and 5 marks are added, but min(100, ...) keeps the total from going above 100. The new rows are then written back in "w" mode under the original header.
new_rows = []
for r in rows:
roll, name, marks = r.split(",")
new_rows.append(f"{roll},{name.upper()},{min(100, int(marks) + 5)}")
with open("students.txt", "w") as f:
f.write(header + "\n" + "\n".join(new_rows) + "\n")
print("Modified", len(new_rows), "records")Output: Modified 6 records. On disk, row 103,Zoya,95 becomes 103,ZOYA,100, because 95 + 5 is capped at 100.
2.8 Binary files with pickle
Text files can only hold strings. To store whole Python objects such as lists and dictionaries, Python uses the pickle module with a binary file. Pickling (serialisation) turns an object into a stream of bytes; unpickling (deserialisation) turns the bytes back into the same object.
import pickle
pickle.dump(object, file_object) # write: file opened in 'wb' or 'ab'
object = pickle.load(file_object) # read: file opened in 'rb'
# load() raises EOFError at the end of the fileProgram 3.34: Writing and reading records in a binary file
import pickle
records = [{"roll": 1, "name": "Riya", "marks": 88},
{"roll": 2, "name": "Aman", "marks": 72},
{"roll": 3, "name": "Zoya", "marks": 95}]
with open("stud.dat", "wb") as f:
for r in records:
pickle.dump(r, f)
with open("stud.dat", "rb") as f:
while True:
try:
print(pickle.load(f))
except EOFError:
breakEach dump() call writes one dictionary, so the file holds three separate records. Reading them back needs a loop, because one load() returns only one object. The loop stops cleanly when load() reaches the end of the file and raises EOFError, which the except block catches.
The output prints the three dictionaries exactly as they were stored. If the same file is read with a plain f.read(30), Python shows raw bytes such as b'\x80\x04\x95...', which is why a binary file looks unreadable when opened in Notepad.
Do the BCA 201T notes cover the full GGSIPU syllabus?
Yes. Every topic heading in the four official BCA 201T units has a matching section in the notes; our unit check found no gaps.
| Official unit | Official topics | Where in the notes | Status |
|---|---|---|---|
| Unit I | Basic Introduction (origin, features, identifiers, escape sequences, IDLE); relational, logical, bitwise operators; control structures; strings: slicing, membership, built-in functions | Sections 1 to 4, pages 6 to 36 | Covered |
| Unit II | Mutable and immutable objects; List operations and methods, introduction to sets; Tuples; Dictionary: get, update, copy, deletion | Sections 1 to 4, pages 43 to 67 | Covered |
| Unit III | Functions: types, arguments, formal vs actual, scope and lifetime, keyword and default arguments, recursion, modules; File handling: text, binary, CSV, insertion, deletion, updating | Sections 1 and 2, pages 74 to 98 | Covered |
| Unit IV | OOP: classes, objects, access specifiers, constructors, static methods, data hiding, encapsulation, inheritance, polymorphism; NumPy; Matplotlib: bar graphs and pie chart | Sections 1 to 3, pages 105 to 132 | Covered |
BCA 201T official syllabus topics mapped to the notes
- Official unit
- Unit I
- Official topics
- Basic Introduction (origin, features, identifiers, escape sequences, IDLE); relational, logical, bitwise operators; control structures; strings: slicing, membership, built-in functions
- Where in the notes
- Sections 1 to 4, pages 6 to 36
- Status
- Covered
- Official unit
- Unit II
- Official topics
- Mutable and immutable objects; List operations and methods, introduction to sets; Tuples; Dictionary: get, update, copy, deletion
- Where in the notes
- Sections 1 to 4, pages 43 to 67
- Status
- Covered
- Official unit
- Unit III
- Official topics
- Functions: types, arguments, formal vs actual, scope and lifetime, keyword and default arguments, recursion, modules; File handling: text, binary, CSV, insertion, deletion, updating
- Where in the notes
- Sections 1 and 2, pages 74 to 98
- Status
- Covered
- Official unit
- Unit IV
- Official topics
- OOP: classes, objects, access specifiers, constructors, static methods, data hiding, encapsulation, inheritance, polymorphism; NumPy; Matplotlib: bar graphs and pie chart
- Where in the notes
- Sections 1 to 3, pages 105 to 132
- Status
- Covered
Official source: BCA Scheme and Syllabus, batch admitted 2024-25 onwards (ipu.ac.in).
Every course in GGSIPU notes is mapped to its official PDF in the same way.
How to write BCA 201T answers: output-based two-mark and ten-mark program answers
In the 20-mark Q1 of BCA 201T, write the result first, then one line of reasoning.
Worked example (two-mark, page 37): What is the output of 7 // 2, 7 / 2 and 7 % 2?
Answer: 3 (floor division), 3.5 (true division, always a float), 1 (remainder).
For ten marks, the notes' exam tip is definition, syntax, diagram or flowchart, program and output. The recursion answer guide (page 101) follows that order:
- Define recursion, its base case and recursive case.
- Draw the call stack for
fact(4)(Figure 3.6). - Write factorial and Fibonacci programs with output.
- End with a recursion vs iteration table and
RecursionError.
Common slips flagged in the notes: if a = 5: for == (page 16), (5) for the tuple (5,) (page 58), a default before a non-default parameter (page 80) and recursion with no base case (page 84).
Practise this format on GGSIPU BCA important questions after each unit.
BCA 201T exam corner: 113 two-mark answers and 40 ten-mark answer guides by unit
| Unit | 2 Marks (answered) | 10 Marks (answer guides) | Solved programs |
|---|---|---|---|
| Unit 1 | 28 | 10 | 46 |
| Unit 2 | 28 | 10 | 39 |
| Unit 3 | 28 | 10 | 39 |
| Unit 4 | 29 | 10 | 34 |
| Total | 113 | 40 | 158 |
BCA 201T exam corner and programs by unit
- Unit
- Unit 1
- 2 Marks (answered)
- 28
- 10 Marks (answer guides)
- 10
- Solved programs
- 46
- Unit
- Unit 2
- 2 Marks (answered)
- 28
- 10 Marks (answer guides)
- 10
- Solved programs
- 39
- Unit
- Unit 3
- 2 Marks (answered)
- 28
- 10 Marks (answer guides)
- 10
- Solved programs
- 39
- Unit
- Unit 4
- 2 Marks (answered)
- 29
- 10 Marks (answer guides)
- 10
- Solved programs
- 34
- Unit
- Total
- 2 Marks (answered)
- 113
- 10 Marks (answer guides)
- 40
- Solved programs
- 158
The BCA 201T notes answer 113 two-mark questions and give guides for 40 ten-mark questions across 4 units, plus 158 programs with output. Four exam-style questions, one per unit:
- Unit 1: Output of
12 & 10and12 | 10? Pointer: 1100 AND 1010 = 8; OR = 14. - Unit 2:
append()vsextend()? Pointer:[1].append([2,3])gives[1, [2, 3]];extendgives[1, 2, 3]. - Unit 3: What is the LEGB rule? Pointer: Python searches Local, Enclosing, Global, then Built-in.
- Unit 4: What is name mangling? Pointer: private
__xin classCbecomes_C__x.
More practice sits in the BCA 201T important questions.
Who writes and checks the BCA 201T Python notes?
- Prateek Talwar, writer of these notes · Founder, Unnati Educations · Associate Company Secretary (ACS), ICSI, since 15 May 2019 · B.Com, University of Delhi (SOL), 2012 · author profile
- Ritik Rawat, subject reviewer for the Python content and code · Senior Full Stack Developer, Unnati Educations · B.Tech · reviewer profile
These BCA 201T Python Programming IPU notes are mapped to the scheme for the 2024-25 batch onwards. The 2026-27 edition has 158 programs, 42 figures and four revision sheets; last updated 12 October 2026 under our editorial policy.
The same team prepares GGSIPU important questions from these unit maps.
BCA 201T and the BCA 201P Python lab (25 practicals), plus other GGSIPU BCA Sem 3 papers
Paired lab: BCA 201P Python lab notes. Its official list has 25 practicals: 15 core (do at least 10) and 10 application-based (do at least 5).
Theory units feeding the lab (our grouping):
- Unit 1 → core 1, 2, 3, 5 (operators to string slicing).
- Unit 2 → core 6, application 1 to 3 (linear search, list duplicates).
- Unit 3 → core 4, 7, 8, 12 to 14, application 4, 5, 7, 8 (recursion, files).
- Unit 4 → core 9, 10, 11, 15, application 6, 9, 10 (charts, classes, NumPy).
Same semester: BCA 203T Dynamic Web Designing, BCA 205T Computer Organization and Architecture, BCA 207T Discrete Mathematics, BCA 261 Vocational Course and BCA 291T Human Values and Ethics (NUES).
BCA 201T Python notes FAQs
Which BCA 201T unit has the most solved programs?
Unit 1 has the most, 46 of the 158 solved programs, because it covers operators, every decision statement, loops and 14 string methods, each with a program and output. Units 2 and 3 have 39 each and Unit 4 has 34. Unit 4 has the most figures, 14, since its OOP diagrams, NumPy arrays and Matplotlib charts are easier to learn visually.
Do the BCA 201T notes match my batch and scheme?
They match the BCA scheme and syllabus for the batch admitted in academic session 2024-25 onwards, in which BCA 201T Python Programming is a Semester 3 core theory paper of 4 credits. If you joined before 2024-25, your scheme and paper codes may differ, so check your own syllabus PDF on ipu.ac.in before you buy.
What is the passing mark for BCA 201T?
BCA 201T is marked out of 100: 40 internal marks from your institute and 60 end-term marks from the university paper. The BCA scheme PDF does not print a pass percentage for this paper, so we do not quote one. Minimum marks, grading and re-appear rules come from the university's Ordinance 11, which you can read on ipu.ac.in or confirm with your college.
Are BCA 201T and BCA 201P the same paper?
No. BCA 201T is the 4-credit theory paper with a written end-term exam. BCA 201P is the separate Python Programming Lab, a 2-credit core practical with its own 100 marks and a list of 25 practicals. These notes cover the BCA 201T theory units; the lab has its own notes with the aim, code, output and viva questions for each practical.
Do the BCA 201T notes cover Pandas and exception handling?
Pandas is not in the BCA 201T syllabus; it appears only in a course outcome of the BCA 201P lab, so the theory notes do not teach it. Exception handling has no separate heading in the BCA 201T units either, but the notes use try and except inside programs, for example to stop reading a pickle file at EOFError.
Get the full BCA 201T Python Programming Notes on WhatsApp
| Part | Pages | Programs |
|---|---|---|
| Unit 1 | 5 to 41 (37) | 46 |
| Unit 2 | 42 to 72 (31) | 39 |
| Unit 3 | 73 to 103 (31) | 39 |
| Unit 4 | 104 to 137 (34) | 34 |
Pages in the full BCA 201T notes book by unit
- Part
- Unit 1
- Pages
- 5 to 41 (37)
- Programs
- 46
- Part
- Unit 2
- Pages
- 42 to 72 (31)
- Programs
- 39
- Part
- Unit 3
- Pages
- 73 to 103 (31)
- Programs
- 39
- Part
- Unit 4
- Pages
- 104 to 137 (34)
- Programs
- 34
Order these notes in book form. They are not available as a PDF.
The full GGSIPU BCA Sem 3 Python Programming notes are sold only as a printed book of 137 pages. Send the order on WhatsApp and our desk shares the price and delivery details there.
Unnati Educations is an independent education provider based in Vikaspuri, Delhi. We are not affiliated with, authorised by, or endorsed by Guru Gobind Singh Indraprastha University (GGSIPU). 'GGSIPU' and 'IPU' are used only to describe the syllabus our notes follow. For official information, visit ipu.ac.in.
Ready for the full notes?
Discuss coverage and delivery with our team.