PYTHON PROGRAMMING
Batch - 2024-28
Academic Year: 2024-2025
Semester II
(January’ 25 – May ‘25)
PYTHON PROGRAMMING
Year: 2024-25
Academic Calendar - Semester II
Total Number of Weeks 15 weeks
Semester 2 Begins 2nd January, 2025
Mid Term Examinations(submissions and
24th February, 2025 to 3rd March, 2025
evaluations)
Semester 2 Ends 25th April, 2025
Study Break 26th April, 2025 to 1st May, 2025
End Term Examinations 2nd May 2025 to 13th May 2025
Internship/Observership/Apprenticeship 15th May 2025 to 4th July 2025
Semester 3 Begins 7th July, 2025
1.General Course Information
Semester: II
Course Code: PR4.52003 Mode: Internal (On Campus)
Course Title: Python Programming Level: Undergraduate
Coordinating School: School of Science Number of credits: 3
Engineering and Technology Skills Contact hours per week: 3
Pre-requisite: Logical Reasoning
Course Description: The Python Programming course introduces students to the
fundamentals of programming using Python, a versatile and beginner-friendly language.
This course emphasizes problem-solving skills, algorithmic thinking, and real-world
applications. Students will learn Python syntax, control structures, functions,
object-oriented programming, and libraries for data handling. Hands-on practice and
projects ensure a solid foundation for tackling computational challenges and building
scalable solutions.
In this Python Programming course, students gain practical experience through:
● Coding Exercises: Implement and test Python programming concepts,
including data types, loops, functions, and algorithms.
● Lab Sessions: Complete structured labs that focus on Python-specific topics,
such as file handling, libraries, and object-oriented programming.
● Programming Assignments: Work on incremental projects that enhance
Python coding skills and integrate algorithms for real-world applications.
● Group Projects: Collaborate on larger projects using Python, practicing
teamwork, version control (e.g., Git), and modular design.
● Debugging and Testing: Develop and run test cases using Python frameworks
and apply debugging techniques to ensure functional and error-free code.
Course Staff:
(a)Lecturer: Prof. John Kenny
Email:
[email protected] (b)Teaching Assistant: Mr. Narayan Lambde
2.Course Objectives
The course "Python Programming" aims to develop logical thinking and
problem-solving skills while introducing students to the Python programming language. It
focuses on understanding fundamental programming concepts, efficient algorithm design,
and leveraging Python's versatility for computational solutions. Students will explore data
types, control structures, functions, and essential libraries to solve real-world problems
effectively. The course emphasizes structured programming techniques, debugging, testing,
and adopting best coding practices to create robust, maintainable, and scalable Python
programs.
3.Course Outcomes
On completion of this course, the student will be able
1. Understand basic concepts in Python, including data structures like lists, tuples, and
dictionaries.
2. Explore and manipulate files, directories, and text using Python.
3. Develop programs for data structures using both built-in and user-defined functions.
4. Utilize the Django web framework to create Python-based web applications.
5. Understand and implement object-oriented programming (OOP) concepts in Python.
6. Explore and apply advanced Python packages, such as NumPy and Pandas, for data
analysis and computation.
4. Learning Resources
1. Guido van Rossum, Python Tutorial, Python Software Foundation (available online).
2. Mark Lutz, Learning Python, O'Reilly Media.
3. Zed A. Shaw, Learn Python the Hard Way, Addison-Wesley.
4. Allen B. Downey, Think Python: How to Think Like a Computer Scientist, Green Tea Press.
5. Eric Matthes, Python Crash Course, No Starch Press.
5.Teaching & Learning Activities
Sr. No. Modules/ Units
1 Module 1
● Data Types in Python
● Operators in Python
● Input and Output
● Control Statements
● String and Characters in Python
● Lists and Tuples
● Dictionaries
2 Module 2
● Files in Python
● Directories
● Building Modules
● Packages
● Text Processing
● Regular Expressions in Python
3 Module 3
● Functions in Python
● Linked List
● Stack
● Queue
● Dequeue
4 Module 4
● Graphical User Interface
● Networking in Python
● Python Database Connectivity
● Introduction to Django
5 Module 5
Sr. No. Modules/ Units
● Object Oriented Programming
● Exceptions
● Interfaces
● Inheritance
6 Module 6
● Creating NumPy Arrays
● Indexing and Slicing in NumPy
● Creating Multidimensional Arrays
● NumPy Data Types
● Array Attributes
● Indexing and Slicing
● Creating Array Views and Copies
● Manipulating Array Shapes and I/OBasics of Pandas
● Using Multilevel Series
● Series and DataFrames
● Grouping and Aggregating
● Merging DataFrames
6. Teaching Plan
Week Topic Class Activity Learning Material CO
1 Introduction to Guido van Rossum, Python
Introduction to Python,
Python, Writing Tutorial, Python Software CO
Data Types, Operators,
and running a basic Foundation (available 1
Input and Output
Python program online)
2 Lecture PPTs, CO
Control Statements, Eric Matthes, Python Crash
hands-on coding 1
Arrays in Python Course, No Starch Press
exercises
3 Strings and Characters, Lecture PPTs, CO
Mark Lutz, Learning Python,
Lists and Tuples, hands-on coding 1
O'Reilly Media
Dictionaries exercises
4 Files in Python, Lecture PPTs, Zed A. Shaw, Learn Python CO
Directories Nested coding exercises, the Hard Way, 2
if-else, Else-if Ladder group work Addison-Wesley
5 Allen B. Downey, Think
Lecture PPTs, CO
Building Modules, Python: How to Think Like a
coding exercises, 2
Packages Computer Scientist, Green
group work
Tea Press
6 Lecture PPTs, CO
Text Processing, Eric Matthes, Python Crash
coding exercises, 2
Regular Expressions Course, No Starch Press
group work
7 Guido van Rossum, Python
CO
Practical Coding Tutorial, Python Software
Functions in Python 3
Sessions Foundation (available
online)
8
Zed A. Shaw, Learn Python
Data Structures: CO
Practical Coding the Hard Way,
Linked List, Stack, 3
Sessions Addison-Wesley
Queue, Dequeue
9 Allen B. Downey, Think
Graphical User CO
Practical Coding Python: How to Think Like a
Interface (GUI), 4
Sessions Computer Scientist, Green
Networking in Python
Tea Press
10 Python Database CO
Practical Coding Mark Lutz, Learning Python,
Connectivity, 4
Sessions O'Reilly Media
Introduction to Django
11 Object-Oriented
Programming (OOP): CO
Practical Coding Mark Lutz, Learning Python,
Classes, Objects, 5
Sessions O'Reilly Media
Inheritance, and
Interfaces
12 Exception Handling CO
Practical Coding Mark Lutz, Learning Python,
Sessions O'Reilly Media 5
13 NumPy Basics:
Creating Arrays, CO
Practical Coding Mark Lutz, Learning Python,
Indexing, Slicing, 6
Challenges O'Reilly Media
Multidimensional
Arrays, Data Types
14 Manipulating Array
CO
Shapes, Array Views Practical Coding Mark Lutz, Learning Python,
and Copies, I/O, Sessions O'Reilly Media 6
Basics of Pandas
15 Advanced Pandas:
Multilevel Series,
Series and CO
Practical Coding Mark Lutz, Learning Python,
DataFrames, 6
Sessions O'Reilly Media
Grouping,
Aggregating, Merging
DataFrames
7.Assessments
Weightage
Assessment Scheme Component of Evaluation Date
(%)
Format No. Component Marks Percentage
Formative 15%
CIA 1 Assessment 1 15 marks Week 4
Assessment
CIA 2 Assessment 2 15 marks 15% Week 11
CIA 3 Mid Term 20 Marks 20 % Week 7
End Term Written
Summative
EA 1 Exam (Full 100 Marks 50% Week 14
Assessment
Syllabus)
Assessment 1:
Component: Programs for Python Programming-15 marks
Assessment Brief: Students will be assessed on the first module covering simple
algorithms for arithmetic and logical problems and their translation into python language
programs. The test will consist of 2 programs where students are expected to write a
python program which is both logically and syntactically right.
Evaluation Parameters: Understanding of basic algorithms and their translation into
python language (15 marks)
Weightage: 15%
Date: 31st January 2025
Assessment 2:
Component: Practical Programming Test – 15 marks
Assessment Brief: Students will write, test, and execute programs that use object oriented
programming in python. Programs on functions will be evaluated to test the students ability
in problem solving. One program on oops concepts(7.5 marks) another program and on
functions(7.5 marks)
Evaluation Parameters: Correctness of the program both in terms of logic and syntax-15
marks
Weightage: 15%
Date: 17th April 2025
Assessment 3:
Component: Mid Term Exam – 20 marks
Assessment Brief: This assessment will test the understanding of functions and problem
decomposition in python. The exam will consist of two parts: Part A with short answer
questions (10 marks) and Part B with programming problems (10 marks).
Evaluation Parameters: Understanding functions and ability to call and return values
from functions.
Weightage: 20%
Date: 24th February to 5th March 2025
Assessment 4:
Component: Final End Term Written Exam – 50 marks
Date: 1st May to 15th May 2025
8. Program Outcomes:
PO’s Program Outcomes
PO1 Engineering Knowledge
PO2 Problem Analysis
PO3 Design/Development of Solutions
PO4 Complex Problem Solving and Reasoning
PO5 Modern Tool Usage
9. CO-PO Mapping
PO1 PO2 PO3 PO4 PO5
CO1 3 2 1 1 2
CO2 2 2 2 2 3
CO3 3 3 3 1 2
CO4 2 1 3 2 2
CO5 1 1 2 1 3