Notes BCA 201T

BCA 201T Python Programming Notes for GGSIPU BCA Sem 3

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.

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

  1. BCA 201T at a glance
  2. Unit-wise notes
    1. Unit 1: Basics, Operators, Control Structures and Strings
    2. Unit 2: List, Tuple, Dictionary and Sets
    3. Unit 3: Functions and File Handling
    4. Unit 4: OOP, NumPy and Matplotlib
  3. Excerpt: binary files with pickle
  4. Syllabus coverage
  5. How to write answers
  6. Exam corner
  7. Who writes and checks the notes
  8. BCA 201P lab and related papers
  9. FAQs
  10. Get the full notes

BCA 201T Python Programming at a glance: GGSIPU BCA Sem 3 credits, units and exam pattern

BCA 201T snapshot from the official BCA scheme and syllabus (w.e.f. 2024-25)
Code and titleBCA 201T · Python Programming
Course and semesterBCA, Semester 3
Category and creditsCore Course Theory (CCT) · 4 credits · L-T/P 4-0 (4 lecture hours a week; unit hours 11 + 11 + 10 + 12)
Marks100: 40 internal + 60 end-term
Applies toBatch admitted 2024-25 onwards
End-term patternQ1 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)
Units4
Paired labBCA 201P Python Programming Lab · CCP · 0-4, 2 credits · 100 marks (40 + 60)
View complete table: BCA 201T snapshot from the official BCA scheme and syllabus (w.e.f. 2024-25)

This view preserves the original alignment. Scroll within it if needed to read the complete content.

BCA 201T snapshot from the official BCA scheme and syllabus (w.e.f. 2024-25)
Code and titleBCA 201T · Python Programming
Course and semesterBCA, Semester 3
Category and creditsCore Course Theory (CCT) · 4 credits · L-T/P 4-0 (4 lecture hours a week; unit hours 11 + 11 + 10 + 12)
Marks100: 40 internal + 60 end-term
Applies toBatch admitted 2024-25 onwards
End-term patternQ1 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)
Units4
Paired labBCA 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])   # GNIMMARGORP
View preformatted content

This view preserves the original alignment. Scroll within it if needed to read the complete content.

s = "PROGRAMMING"  
print(s[0:7])    # PROGRAM  
print(s[-4:])    # MING  
print(s[::-1])   # GNIMMARGORP

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

Quick look: list, tuple, set and dictionary compared (from page 67)
FeatureListTupleSetDictionary
OrderedYesYesNoYes (3.7+)
MutableYesNoYesYes
DuplicatesAllowedAllowedNot allowedKeys 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.

Quick look: formal vs actual arguments (from page 78)
PointFormalActual
Written inFunction definitionFunction call
RoleReceive valuesSend values
Can beVariables onlyConstants, variables, expressions
Exampledef 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]
View preformatted content

This view preserves the original alignment. Scroll within it if needed to read the complete content.

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")
View preformatted content

This view preserves the original alignment. Scroll within it if needed to read the complete content.

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 file
View preformatted content

This view preserves the original alignment. Scroll within it if needed to read the complete content.

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 file

Program 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:  
            break
View preformatted content

This view preserves the original alignment. Scroll within it if needed to read the complete content.

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:  
            break

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

BCA 201T official syllabus topics mapped to the notes
Official unitOfficial topicsWhere in the notesStatus
Unit IBasic Introduction (origin, features, identifiers, escape sequences, IDLE); relational, logical, bitwise operators; control structures; strings: slicing, membership, built-in functionsSections 1 to 4, pages 6 to 36Covered
Unit IIMutable and immutable objects; List operations and methods, introduction to sets; Tuples; Dictionary: get, update, copy, deletionSections 1 to 4, pages 43 to 67Covered
Unit IIIFunctions: types, arguments, formal vs actual, scope and lifetime, keyword and default arguments, recursion, modules; File handling: text, binary, CSV, insertion, deletion, updatingSections 1 and 2, pages 74 to 98Covered
Unit IVOOP: classes, objects, access specifiers, constructors, static methods, data hiding, encapsulation, inheritance, polymorphism; NumPy; Matplotlib: bar graphs and pie chartSections 1 to 3, pages 105 to 132Covered

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:

  1. Define recursion, its base case and recursive case.
  2. Draw the call stack for fact(4) (Figure 3.6).
  3. Write factorial and Fibonacci programs with output.
  4. 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

BCA 201T exam corner and programs by unit
Unit2 Marks (answered)10 Marks (answer guides)Solved programs
Unit 1281046
Unit 2281039
Unit 3281039
Unit 4291034
Total11340158

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:

  1. Unit 1: Output of 12 & 10 and 12 | 10? Pointer: 1100 AND 1010 = 8; OR = 14.
  2. Unit 2: append() vs extend()? Pointer: [1].append([2,3]) gives [1, [2, 3]]; extend gives [1, 2, 3].
  3. Unit 3: What is the LEGB rule? Pointer: Python searches Local, Enclosing, Global, then Built-in.
  4. Unit 4: What is name mangling? Pointer: private __x in class C becomes _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.

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

Pages in the full BCA 201T notes book by unit
PartPagesPrograms
Unit 15 to 41 (37)46
Unit 242 to 72 (31)39
Unit 373 to 103 (31)39
Unit 4104 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.

Order the BCA 201T notes book on WhatsApp (4 units, 137 pages)

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.