Guidelines of B.Sc.
(H) Computer Science Semester I (DSC01)
/ Discipline Specific Elective Semester III / Generic Elective
(NEP UGCF 2022)
Object Oriented Programming using Python
(Effective from Academic Year 2025-26)
S. Unit Name Chapters References Weeks
No.
1. Unit 1 Introduction to 1 (1.5) [4] 1
Programming
2. Unit 2 Creating Python Programs 1, 2, 3 (Up to pg. [1] 2-4
32), 5 (Up to pg. 61,
pg. 64(keyboard
input - 66), 6 (up to
pg. 77, pg. 80
[Boolean Functions
only]), 7 (up to pg.
98)
3. Unit 3 Built-in data structures 7(7.1-7.8,7.10), [4] 5-9
8(till 8.3 up to
program 8.10), 9 (
9.1 till the values
method, 9.2 till
program 9.3)
4. Unit 4 Object Oriented 10,11 (till 11.2) [4] 10-13
Programming
5. Unit 5 File and exception handling 7(7.3), 9(9.1) [2] 14-15
Essential Readings
1. Allen B. Downey, Think Python: How to Think Like a Computer Scientist, O'Reilly Media,
2024.
2. J.V. Guttag, Introduction to Computation and Programming Using Python: With Application
to Understanding Data, MIT Press, 2016.
3. Robert Sedgewick, Kevin Wayne, Robert Dondero, Introduction to Programming in Python:
An Interdisciplinary Approach, Addison-Wesley Professional, 2015
4. Tony Gaddis, Starting out with Python, Pearson, 2021.
Additional References
i. Brown, Martin C. Python: The Complete Reference, 2nd edition, McGraw-Hill
Education, 2018. Suggested Practical List
Practical List
1. Write a program to find the roots of a quadratic equation.
2. Write a program to accept a number ‘n’ and
a. Check if ’n’ is prime
b. Generate all prime numbers till ‘n’
c. Generate first ‘n’ prime numbers
This program may be done using functions.
3. Write a program to create a pyramid of the character ‘*’ and a reverse pyramid
4. Write a program that accepts a character and performs the following:
a. print whether the character is a letter or numeric digit or a special character.
b. if the character is a letter, print whether the letter is uppercase or lowercase
c. if the character is a numeric digit, prints its name in text (e.g., if input is 9, output is
NINE)
5. Write a program to perform the following operations on a string
a. Find the frequency of a character in a string.
b. Replace a character by another character in a string.
c. Remove the first occurrence of a character from a string.
d. Remove all occurrences of a character from a string.
6. Write a program to swap the first n characters of two strings.
7. Write a function that accepts two strings and returns the indices of all the occurrences of the
second string in the first string as a list. If the second string is not present in the first string
then it should return -1.
8. Write a program to create a list of the cubes of only the even integers appearing in the input
list (may have elements of other types also) using the following:
a. 'for' loop
b. list comprehension
9. Write a program to read a file and
a. Print the total number of characters, words and lines in the file.
b. Calculate the frequency of each character in the file. Use a variable of dictionary type
to maintain the count.
c. Print the words in reverse order.
d. Copy even lines of the file to a file named ‘File1’ and odd lines to another file named
‘File2’.
10. Write a function that prints a dictionary where the keys are numbers between 1 and 5 and the
values are cubes of the keys.
11. Consider a tuple t1=(1, 2, 5, 7, 9, 2, 4, 6, 8, 10). Write a program to perform following
operations:
a. Print half the values of the tuple in one line and the other half in the next line.
b. Print another tuple whose values are even numbers in the given tuple.
c. Concatenate a tuple t2=(11,13,15) with t1.
d. Return maximum and minimum value from this tuple
12. Define a class Employee that stores information about employees in the company. The class
should contain the following:
(i) data members- count (to keep a record of all the objects being created for this class)
and for every employee: an employee number, Name, Dept, Basic, DA and HRA.
(ii) function members:
a. __init__ method to initialize and/or update the members. Add statements to ensure
that the program is terminated if any of Basic, DA and HRA is set to a negative
value.
b. function salary, that returns salary as the sum of Basic, DA and HRA.
c. __del__ function to decrease the number of objects created for the class.
d. __str __ function to display the details of an employee along with the salary of an
employee in a proper format.
13. Write a program to define a class "2DPoint" with coordinates x and y as attributes. Create
relevant methods and print the objects. Also define a method distance to calculate the
distance between any two point objects.
14. Inherit the above class to create a "3Dpoint" with additional attribute z. Override the method
defined in "2DPoint" class , to calculate distance between two points of the "3DPoint" class.
15. Write a program to accept a name from a user. Raise and handle appropriate exception(s) if
the text entered by the user contains digits and/or special characters.