CourseHandout
Name of the school/college / Chitkara University Institute of Engineering & Technology/ Department of
department offering the Computer Applications
course
Title of the course Programming in Python
Academic Year 2022-2023 Semester – 4th (Jan-June 2024)
Course code CA132 Course Credits 4
Name of the course
coordinator
Names of other members of Dr. Rajesh Kaushal
the team who will be engaged
in teaching the course Dr. Varun Malik
Lecture/Tutorial (Per Week) 2
1. Any pre-requisites for the course: Only Basic computer operation skill are required
2. Scope and objective of the course:
Python is a general-purpose language that can be used for developing desktop application, web applications
and microcontroller-based applications. This course primarily focuses on teaching core python concepts. After
the course completion the students will be able to make GUI based applications for real world problems.
The main objectives of the course are:
Exploring python popularity as a general-purpose programming language.
Understanding python’s way to deal with numbers and strings.
Working with python internal data structures.
Diving into python modular programming style.
Exploring object-oriented nature of python programming.
Understanding and developing GUI applications.
3. Course learning outcomes:
On Successful completion of the course, student will be able to
(i) To understand the python fundamentals and environment.
(ii) To learn the various ways to perform operations on numbers and strings.
(iii) Logic building using looping and decision statements.
(iv) Study internal data structures like list, tuples, sets and dictionaries.
(v) Learn Professional way of writing code using modular and object-oriented approach.
(vi) To learn GUI programming in Python
(vii) Learn to create applications-oriented projects.
4. Mapping of Course Learning Outcomes (CLOs) with Program Outcomes (PO):
PO CL CLO 1 CLO 2 CLO 3 CLO 4 CLO 5 CLO 6 CLO 7
O
PO1 H H H H H H
PO2 M M M
PO3
PO4
Title of course / Course code Page 1 of 6
CourseHandout
PO5
PO6 M
PO7
PO8 M
PO9 L L L
PO10
L: Low, M: Medium and H: High
5. List of text books:
S. No. Name of text books
1 Reema Thareja; Python Programming Using Problem Solving Approach; Oxford University Press
Rao, R. Nageshwar; Core Python Programming : Covers fundamentals to advanced topics like OOPS,
2 Exceptions, Data structures, Files, Threads, Networking, GUI and Data Science; 3 rd ed; Dreamtech
Press
6. List of reference books:
S. No. Name of reference books
1 Lutz, Mark, Learning python; 2013; O'Reilly Media, Inc
2 Barry, Paul; Head first python; 2010; O'Reilly Media, Inc.
3 Swaroop, C ; A Byte of Python; 2013; ebshelf Inc.
7. Important website links which may be referred for relevant online course resources
S. No. Website links
1 https://www.python.org/
2 http://www.tutorialspoint.com/python/
3 https://www.codecademy.com/learn/python
4 http://www.pyschools.com/
5 https://www.codementor.io/learn-python-online
Title of course / Course code Page 2 of 6
CourseHandout
8. Complete course coverage plan:
Lab.No. Topics Recommended
(Hour) Book
1-2 General Introduction of Python (History, Features, Limitations, versions) Global
Applications, Frameworks of Python,
3-4 Python Environment Setings: Installation of Python, PyCharm Community
Edition, Introduction to Python Program Structure (Comments, Data types,
Operators)
Experiment:
1. Write a Python program to convert temperatures to and from Celsius,
Fahrenheit. [ Formula: c/5 = f-32/9]
2. Write a Pyhton program to display a string literal “Hey You didn’t do
this work”.
5-6 Introduction to control statemens (decision making, looping) and extrinsic
functions of Maths.
Experiment:
1. Write a Python program to calculate the sum of following series
1 + 1/x + 1/x2 + 1/x2 + …
2. Write a Python Program to calculate the income tax as Indian
Government Income tax slabs.
3. Draw a table to show first 20 natural numbers and their equivalent
hexadecimal, octal and binary values.
7-8 Exposure to String Methods and String Operators: count, endswith, startwith,
index, isalpha, isdigit, isspace, format, rfind, rindex.
Experiment:
1. Write a program that takes users name and PAN card number as input.
Validate the information using isXfunction and print details.
2. Write a program to generate Abecedarian series.
3. Write a program that finds whether a given character is present in a given
string or not. In case it is present, then print the index at which it is
present. Do not use built in find function to search the character.
4. Write a code to draw the following triangle based on string value
“PYTHON”
P
PY
PYT
PYTH
PYTHO
PYTHON
*LP1 (Syllabus Covered till date or as decided by Course Coordinator with due approval
from Dean of the school)
Introduction to python Modular Programming: declaring and calling user
defined methods, recursive calls and returning multiple values via return
9-10 statement.
Experiment:
1. Write a python program to find factorial of a number using Recursion.
2. Write a python program to define a module to find Fibonacci Numbers
and import the module to another program.
3. Write a python program to define a module and import a specific
function in that module to another program.
Introduction to python Modular Programming-II: Understanding local and
11-12 global scopes, argument passing techniques (normal arguments: matched by
position, keyword arguments: matched by name, default arguments, Using * and
** during calling time and receiving time.
Experiment:
1. Write a code to having a method that can receive positional parameters,
keyword arguments as well as * and ** based arguments at a same time
and process them in meaningful way.
2. Write a code to pass dictionary as well as list and at least two general
Title of course / Course code Page 3 of 6
CourseHandout
variables to a user defined method and make some changes
Introduction to List Object: creating empty list, initializing list, list indexing and R2
13-14 slicing operations, input method, single and multidimensional arrays.
Experiment:
1. Generate a student-name list of 15 students and then accepts two value
from user namely startValue and endValue and perform slicing on the
list. Finally count the length of every item in sliced list and display it.
2. Create an array of 3 x 3 dimensions and then find and display the product
of every row and every column.
15 Introduction to List Objects-II: Concatenating multiple lists, generating range T1
based lists, list based methods like append (), extend (), insert (), index (), count
(), sort (), reverse (), pop (), nested lists and merging and deletion.
Experiment:
i. Generate a list dynamically named “Raw_List” having 10 elements and
then create two another lists, one to store squares of every number
present in “Raw_List” and second to store factorial of every number
present in “Raw_List”.
ii. Write a code to find duplicate items from list of 10 string elements and
also find their index positions.
17-18 Introduction to Dictionaries: Creating empty dictionaries, initializing
T1
dictionaries, Accessing dictionary items, merging, and deletion.
Experiment:
i. Create dynamic dictionary for 10 students. The data should be received
from keyboard. The key should be roll number and value should be
name, age, stream and contact number. Finally search a particular roll
number and display its corresponding information.
ii. Write a code to represent telephone directory by maintaining
information of at least 20 users and also provide searching mechanism.
*LP2 (Syllabus Covered till date or as decided by Course Coordinator with due approval
from Dean of the school)
19-20 Introduction to Dictionaries-II:understanding dictionary specific methods,
R1
keys (), values (), items (), copy (), update (), pop () and dictionary
comprehension.
Experiment:
1. Generate a table having two columns. First column should display keys
and second column should display corresponding values. Initial
dictionary should have at-least 10 records. At the end of table show
total number of records available in dictionary.
2. Write a codeto generate a dictionaryrandomly using comprehension
technique.
21 Exploring Object-Oriented Programming in Python: Creating classes,
R1
objects, attributes.
Experiment:
1. Generate anemployee classto maintain employee database and then
also employ searching mechanism to find records based on employee
ID.
22 Exploring Object-Oriented Programming In Python-II: classes v/s R2
dictionaries, constructors and idea of inheritance.
Experiment:
1.
Write a code to employ inheritance in python and take dictionaries as
data member in classes.
23-24 Introduction to GUI Programming, PyQT4 & QT Designer T1
Understanding and Installing PyQT4 and QT Designer Interface.
Title of course / Course code Page 4 of 6
CourseHandout
25-26 Introduction to GUI Programming, PyQT4 & QT Designer-II:
T1
Using GUI controls like push-buttons, text boxes, radio buttons, checkboxes,
labels, managing resource files, combo boxes, list boxes, menus and sub
menu’s, calendar control and other controls.
*LP3 (Syllabus Covered till date or as decided by Course Coordinator with due approval from
Dean of the school)
*Ideally, sessional tests and evaluation components should be placed in the course handouts as per the calendar of activities issued by office of Registrar.
Course coordinators may decide upon the type of evaluation component which is required to be conducted for a course so as to meet the laid out CLOs in the
best possible way.
9. Details of all evaluation components:
Evaluation Type of Component No. of Assessments
Weightage of Mode of Assessment
Component Component
Component 1* Lab Performance / File work
03 40% Offline/Online
Component 2 Internal Viva – Voce
01 20% Offline/Online
Component 3** End Term
01 40% Offline/Online
Total 100%
10. Any other important details: Kindly mention the other important details necessary for smooth running of the
course in bullet points
11. Summary of the course topics to be covered in brief:
Contents Number
of
conta
ct
hour
s
Unit 1
General Introduction of Python (History, Features, Limitations, versions) Global Applications,
Frameworks of Python, Python Environment Setings: Installation of Python, PyCharm
Community Edition, Introduction to Python Program Structure (Comments, Data types, 8
Operators), Introduction to control statemens (decision making, looping) and extrinsic
functions of Maths, Exposure to String Methods and String Operators: count, endswith,
startwith, index, isalpha, isdigit, isspace, format, rfind, rindex.
Unit 2
Introduction to python Modular Programming: declaring and calling user defined methods,
recursive calls and returning multiple values via return statement.Introduction to python
Modular Programming-II: Understanding local and global scopes, argument passing 4
techniques (normal arguments: matched by position, keyword arguments: matched by name,
default arguments, Using * and ** during calling time and receiving time.
Unit 3
Introduction to List Object: creating empty list, initializing list, list indexing and slicing 4
Title of course / Course code Page 5 of 6
CourseHandout
operations, input method, single and multidimensional arrays. Introduction to List Objects-
II: Concatenating multiple lists, generating range based lists, list based methods like append (),
extend (), insert (), index (), count (), sort (), reverse (), pop (), nested lists and merging and
deletion.
Unit 4
Introduction to Dictionaries: Creating empty dictionaries, initializing dictionaries, Accessing
dictionary items, merging, and deletion, Introduction to Dictionaries-II:understanding
dictionary specific methods, keys (), values (), items (), copy (), update (), pop () and
6
dictionary comprehension. Exploring Object-Oriented Programming in Python: Creating
classes, objects, attributes. Exploring Object-Oriented Programming In Python-II: classes
v/s dictionaries, constructors and idea of inheritance
Unit 5
Introduction to GUI Programming, PyQT4 & QT Designer
Understanding and Installing PyQT4 and QT Designer Interface.
Using GUI controls like push-buttons, text boxes, radio buttons, checkboxes, labels, managing 4
resource files, combo boxes, list boxes, menus and sub menu’s, calendar control and other
controls.
TOTAL 26
Title of course / Course code Page 6 of 6
CourseHandout
12. Course execution plan:
Lect.No. Topics Due date of Deviation from the plan, if any
(Hour) lecture with
Delivery remarks
Title of course / Course code Page 7 of 6
CourseHandout
13. Academic Honesty policy:
Chitkara University ensures the implementation of the highest level of academic integrity in all the documents
being prepared / adopted by its Faculty members and students.
Any breach of the same will be tantamount to severe academic penalties.
14. This Document is approved by:
Designation Name Signature
Course Coordinator Vikas Rattan
Program In-charge Dr. Preetinder S. Brar
Dean Dr. Jaiteg Singh
DD/MM/YYYY
Title of course / Course code Page 8 of 6