0% found this document useful (0 votes)
7 views

CHO - Mastering Object-Oriented Concepts in Python

The document outlines the course plan for 'Mastering Object-Oriented Concepts in Python' (CSE3216) for the B.Tech. program in Computer Science and Engineering at Presidency University for the 2024-25 odd semester. It details course objectives, outcomes, prerequisites, content, and mapping of course outcomes with program outcomes and specific outcomes. The course aims to enhance students' understanding of object-oriented programming concepts and their application in Python, with a focus on skill development through experiential learning.

Uploaded by

Jini Boss
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

CHO - Mastering Object-Oriented Concepts in Python

The document outlines the course plan for 'Mastering Object-Oriented Concepts in Python' (CSE3216) for the B.Tech. program in Computer Science and Engineering at Presidency University for the 2024-25 odd semester. It details course objectives, outcomes, prerequisites, content, and mapping of course outcomes with program outcomes and specific outcomes. The course aims to enhance students' understanding of object-oriented programming concepts and their application in Python, with a focus on skill development through experiential learning.

Uploaded by

Jini Boss
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

(Established under the Presidency University Act, 2013 of the Karnataka Act 41 of 2013)

[2024-25 ODD SEMESTER]


COURSE PLAN [Revision 03–July 2023]

SCHOOL: PSCS DEPT : CSE DATE OF ISSUE: 09/01/2025

NAME OF THE PROGRAM : B.Tech. All Computer Science and Engineering (CSE) and
Allied

P.R.C.APPROVAL REF. :PU/AC-24.7/SOCSE04/CSE/2022-2026

SEMESTER/YEAR : IV/ II
COURSE TITLE & CODE : Mastering Object-Oriented Concepts in Python & CSE3216

COURSE CREDIT STRUCTURE : 0-0-2-1

CONTACT HOURS : 30 Sessions


COURSE IC(S) : Ms. Yogeetha B R, Ms. Amreen Khanum, Ms. Kumari K

COURSE INSTRUCTOR(S) : Ms. Yogeetha B R, Ms. Amreen Khanum, Ms. Kumari K,

Ms. Swetha K H, Ms. Poonam Yadav, Dr. Ganga, Dr. Sudha P,


Dr. M Chandrasekhar

COURSE URL : https://presidencyuniversity.linways.com

PROGRAM OUTCOMES :

PO1: Engineering knowledge: Apply the knowledge of mathematics, science, engineering


fundamentals, and an engineering specialization to the solution of complex engineering
problems.

PO2: Problem analysis: Identify, formulate, review research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences, and engineering sciences.

PO3: Design/development of solutions: Design solutions for complex engineering problems and
design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.

PO4: Conduct investigations of complex problems: Use research-based knowledge and research
methods including design of experiments, analysis and interpretation of data, and synthesis of
the information to provide valid conclusions.
PO5: Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modeling to complex engineering
activities with an understanding of the limitations.
PO6: The engineer and society: Apply reasoning informed by the contextual knowledge to
assess societal, health, safety, legal and cultural issues and the consequent responsibilities
relevant to the professional engineering practice.

PO7: Environment and sustainability: Understand the impact of the professional engineering
solutions in societal and environmental contexts, and demonstrate the knowledge of, and need
for sustainable development.
PO8: Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
norms of the engineering practice.

PO9: Individual and team work: Function effectively as an individual, and as a member or leader
in diverse teams, and in multidisciplinary settings.

PO10: Communication: Communicate effectively on complex engineering activities with the


engineering community and with society at large, such as, being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive
clear instructions.
PO11: Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member and
leader in a team, to manage projects and in multidisciplinary environments.

PO12: Life-long learning: Recognize the need for, and have the preparation and ability to engage
in independent and life-long learning in the broadest context of technological change.

PROGRAM SPECIFIC OUTCOMES:

At the end of the B. Tech. Program in Computer Science and Engineering and CSE-Allied the
students shall:
PSO1: [Problem Analysis]: Identify, formulate, research literature, and analyze complex
engineering problems related to Software Engineering principles and practices, Programming
and Computing technologies reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences.
PSO2: [Design/development of Solutions]: Design solutions for complex engineering problems
related to Software Engineering principles and practices, Programming and Computing
technologies and design system components or processes that meet the specified needs with
appropriate consideration for the public health and safety, and the cultural, societal, and
environmental considerations.

PSO3: [Modern Tool usage]: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modelling to complex engineering
activities related to Software Engineering principles and practices, Programming and
Computing technologies with an understanding of the limitations.
COURSE PREREQUISITES:

CSE1005: Programming in Python


COURSE DESCRIPTION:

This course covers mastering object-oriented concepts in Python, including classes, inheritance,
polymorphism, and encapsulation. Students will learn to design and implement robust, reusable
code using real-world examples. Ideal for those with basic Python knowledge, it enhances problem-
solving skills and software development proficiency.

Type of Skill: Skill Development


COURSE OBJECTIVES:

The objective of the course is to familiarize the learners with the concepts of Mastering Object
Oriented Concepts in Python and attain Skill Development through Experiential Learning.
COURSE OUTCOMES:

On successful completion of the course the students shall be able to:

TABLE 1: COURSE OUTCOMES

CO Number CO BLOOMS LEVEL


Explain features of Oops along with creation of Python
CO1 Understand
classes and objects to represent real world Objects.

Demonstrate inheritance, polymorphism, and abstraction


CO2 in Python to build maintainable and extendable software Apply
systems.

Demonstrate exception handling in Python to build robust


CO3 error-handling mechanisms and debugging tool and Apply
Assess various file handling techniques in Python.

MAPPING OF C.O. WITH P.O :

[H-HIGH , M- MODERATE, L-LOW]

TABLE 2a: CO PO Mapping ARTICULATION MATRIX

CO. No. PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12

CO1 H M - - - L - - L - - M

CO2 H M - - L L - - L - - M

CO3 H M - - L L - - L - - M
MAPPING OF C.O. WITH PSO :

TABLE 2b: CO PSO Mapping ARTICULATION MATRIX


CO.No. PSO-1 PSO-2 PSO-3
CO1 H - -
CO2 H L L
CO3 L H -

COURSE CONTENT (SYLLABUS):

Module 1: Introduction to OOPS, Classes and Objects [10 Sessions] [Understand]

Introduction to OOPs: Problems in Procedure Oriented Approach, Specialty of Python Language,


Features of OOPS - Classes and Objects, Encapsulation, Abstraction, Inheritance and Polymorphism

Classes and Objects: Creating a Class, The Self Variable, Constructor, Destructors, Types of
Variables, Namespaces, Types of Methods - Instance Methods, Class Methods, Static Methods,
Passing Members of One Class to Another Class, Inner Classes.

Module 2: Inheritance and Polymorphism [10 Sessions] [Apply]

Constructors in Inheritance, Overriding Super Class Constructors and Methods, The Super()
Method, Types of Inheritance – Single Inheritance, Multiple Inheritance, Method Resolution
Order(MRO), Polymorphism, Duck Typing Philosophy of Python, Operator Overloading, Method
Overloading, Method Overriding.
Abstract Classes and Interfaces: Abstract Method and Abstract Class, Interfaces in Python,
Abstract Classes vs. Interfaces.

Module 3: Exceptions and Files in Python [10Sessions] [Apply]


Exceptions: Errors in a Python Program – Compile-Time Errors, Runtime Errors, Logical Errors.
Exceptions, Exception Handling, Types of Exceptions, The Except Block, The assert Statement, User-
Defined Exceptions, Logging the Exceptions.
Files in Python: Files, Types of Files in Python, Opening a File, Closing a File, Working with Text
Files Containing Strings, Knowing whether a File Exists or Not, Working with Binary Files, The with
Statement, Pickle in Python, The seek() and tell() Methods.
SKILL SETS TO BE DEVELOPED:
1. An attitude of enquiry.
2. Confidence and ability to tackle new problems.
3. Ability to interpret events and results.
4. Ability to work as a leader and as a member of a team.
5. Assess errors in systems/processes/programs/computations and eliminate them.
6. Observe and measure physical phenomena.
7. Write reports.
8. Select suitable equipment, instrument, materials & software
9. Locate faults in system/Processes/software.
10. Manipulative skills for setting and handling systems/Process/ Issues
11. The ability to follow standard / Legal procedures.
12. An awareness of the Professional Ethics.
13. Need to observe safety/General precautions.
14. To judge magnitudes/Results/issues without actual measurement/actual contacts

DELIVERY PROCEDURE (PEDAGOGY):

TABLE 3: SPECIAL DELIVERY METHOD/ PEDAGOGY PLANNED WITH TOPICS


** At end of
Pedagogy title/ short
S. Lecture Subtopic as per lesson semester please
explanation of adopted
No Number Plan update whether
pedagogy
activity was done
Types of Methods:
Instance Method, Think Pair Share
1 P03
Class Method, Static
Method
Create a Parent Class,
Create a Child Class,
Add the __init__() Participative Learning
2 P05
Function, Use the
super()Function, Add
Properties
Compile time errors,
RuntimeErrors, Logical
3 P011 Errors, Exception, Flipped classroom
Exception handling,
Types of Exception.

P13 &
4 File Handling Participative learning
P14

REFERENCE MATERIALS:
Text Book:
T1. Dr. R Nageshwara Rao, “Core Python Programming”, Dreamtech Press, 3rd Edition, 2021.

References:
R1. Alex Martelli, Anna Raven scroft & Steve Holden, “Python in a Nutshell The Definitive
Reference”, O'Reilly Media, 3rd edition, 2017.
R2. Luciano Ramalho, “Fluent Python Clear, Concise, and Effective Programming”, O'Reilly Media,
2nd edition, 2022.
R3. Mark Lutz, “Learning Python: Powerful Object-Oriented Programming”, O'Reilly Media, 5th
edition, 2013.
R4. David Beazley, Brian K. Jones, “Python Cookbook: Recipes for Mastering Python 3”, O'Reilly
Media, 3rd edition, 2013.

WEB REFERENCES
1. www.learnpython.org
2. https://realpython.com/python3-object-oriented
3. https://www.tutorialspoint.com/python/python_oops_concepts.htm
SPECIFIC GUIDELINES TO STUDENTS:
1. Follow the instructions of course instructor both in class and lab.
2. Avoid being absent in labs as it will affect the understanding of the experiments.

COURSE SCHEDULE:

TABLE 4: COURSE BROAD SCHEDULE


PLANNED PLANNED
TOTAL NUMBER OF
Sl. No. ACTIVITY STARTING CONCLUDING
PERIODS
DATE DATE
01 Overview of the course 20-01-2025 20-01-2025 1
02 Module: 1 20-01-2025 20-02-2025 9
03 Module: 2 25-02-2025 25-03-2025 10
04 Module: 3 01-04-2025 10-05-2025 10
Total No. of Hours 30
TABLE 5: DETAILED SCHEDULE OF INSTRUCTION/LESSON PLAN(LAB)

REVISED BLOOM’S Main


Topics & Learning Outcome
TAXONOMY No. of Pedag
Sl ogy
LOL HOL Lab
. Session Skill CO Refere
(Lower (Higher Session
N No. s No. nce
LO: Students shall be able to Order Order s
o.
Learnin Learnin Needed
g) g)

Course Overview, Programming N/A 1,2 SK - CO1 Chalk


Refresher, Introduction to OOPS 1, 2, and
LO1: Define the features of OOPS LOL1 T1, Pg
3, 5, Talk/p
1 P1 LO2: Demonstrate the basics of 337 to
LOL2 7, 8 pt
Python programming 348
and
14

Creating a Class, The self variable, 1,2 SK - CO1 Chalk


Constructor, Types of Variables, 1, 2, and
Namespaces T1, Pg
3, 5, Talk/D
2 P2 LO1: Design a class using constructor. LOL3 351 to
7, 8 emons
LO2: Analyze various types of LOL3 359
and tration
variables appropriately within a class 14

Types of Methods: Instance Method, N/A 1,2 SK - CO1 Thi


Class Method, Static Method 1, 2, nk
LO1: Demonstrate how to call methods T1, Pg
LOL3 3, 5, Pair
3 P3 361 to
LOL4 7, 8 Sha
LO2: Analyze static method in classes 364
and re
14

Passing members of one class to N/A 1,2 SK - CO1 Chalk


another class, Inner Classes. 1, 2, and
LO1: Create a program to pass more LOL3 3, 5, Talk/D T1, Pg
4 P4 than 5 arguments LOL3 7, 8 emons 367 to
and tration 369
LO2: Implement inner classes in real
14
world applications

Create a Parent Class, Create a Child N/A 1,2 SK - CO1 Par


Class, Add the __init__() Function, 1, 2, tici
Revision 3, 5, pati T1, Pg
5 P5 LOL3 7, 8 ve 351 to
Contnuous Assessment 1
and Lea 369
LO1: Demonstrate real world 14 rni
application ng

Constructors in Inheritance, Overriding N/A 1,2 SK - CO2 Chalk T1, Pg


6 P6 Super Class Constructors and Methods 1, 2, and 378 to
3, 5, Talk/D 379
LO1: Implement constructors in
Inheritance LOL3 7, 8 emons
LOL3 and tration
LO2: Write program to override super
14
class constructor

The Super Method(), Single 1,2 SK - Chalk


Inheritance, Multiple Inheritance 1, 2, and
3, 5, Talk/D T1, Pg
LO1: Understand different types of
7 P7 LOL2 N/A 7, 8 CO2 emons 380 to
inheritance.
and tration 384
LOL3 14
LO2: Write a program to differentiate
different types of inheritance

Method Resolution Order (MRO), 1,2 SK - Chalk


Polymorphism, Duck Typing 1, 2, and
Philosophy of Python, Operator 3, 5, Talk/D
Overloading. 7, 8 emons
LOL2 and tration T1, Pg
LO1: Understand the concept of MRO
8 P8 N/A 14 CO2 388 to
to resolve method calls issue. LOL2 395
LO2: Understand how polymorphism
improves code reusability and
maintainability by allowing objects of
different types to be treated uniformly.

Method Overloading, Method 1,2 SK -


Overriding, 1, 2,
Chalk
3, 5,
Abstract method and Abstract Class. and
7, 8
Talk/D
LO1: Demonstrate how method and
emons
overloading and method overriding are LOL3 14 T1, Pg
tration
9 P9 utilized in programming N/A CO2 400 to
LOL3 407
LO2: Implement abstract methods,
classes, and interfaces for designing
flexible code.

LO1: Identify and handle compile,


runtime, and logical errors effectively.

Interfaces in Python, Abstract Classes 1,2 SK -


vs. Interfaces, Revision of Module 3 1, 2,
Chalk
3, 5,
Contnuous Assessment 2 and
7, 8 T1, Pg
1 Talk/D
P10 LO1: Implement Interfaces in Python LOL3 N/A and CO2 412 to
0 emons
using Abstract Base Classes (ABC) to 14 418
tration
define common functionality without
providing specific implementation
details.
Compile time errors, Runtime Errors, 1,2 SK - Flippe
Logical Errors, Exception, Exception 1, 2, d
handling, Types of Exception. 3, 5, classro
T1, Pg
1 7, 8 om
P11 LO1: Differentiate between different N/A CO3 421 to
1 LOL2 and
types of errors. 429
14
LO2: Implement Exception handling LOl3
techniques.

The Except Block, The assert 1,2 SK - Chalk


Statement, User-Defined Exceptions, 1, 2, and
Logging the Exceptions. 3, 5, Talk/D
7, 8 emons T1, Pg
LO1: Apply multiple except blocks to
LOL3 and tration 432 to
1 handle various exceptions in a
P12 N/A 14 CO3 436
2 structured manner. LOl3
LO2: Apply the assert statement to
catch bugs during development by
checking conditions that should always
be true.

Files, Types of Files in Python, Opening 1,2 SK - Partici


a File, Closing a File, Working with Text 1, 2, pative
Files containing Strings. 3, 5, Learni
T1, Pg
1 7, 8 ng
P13 LO1: Write program to implement file LOL3 N/A CO3 441 to
3 and
operation in Python. 446
LOL3 14
LO2: Implement String Manipulation
in Python.

Knowing whether file exists, Working 1,2 SK - Partici


with Binary Files, The with Statement, 1, 2, pative
Pickle in Python, The seek() and tell() 3, 5, Learni
Methods 7, 8 ng
T1, Pg
1 and
P14 LO1: Apply the with statement for file LOl3 N/A CO3 449 to
4 14
handling to automatically manage file 456
LOL3
opening and closing.

LO2: Implement File manipulation


operations.

Integration of Module1, Module 2 and 1,2 SK - Chalk


Module 3 Concepts. 1, 2, and
3, 5, Talk/D T1, Pg
1 Contnuous Assessment 3
P15 LOL3 N/A 7, 8 CO3 emons 337 to
5
LO1: Design and implement the and tration 456
Python application that simulates a 14
banking management system utilizing
all the OOPS concepts.

Topics relevant to “SKILL DEVELOPMENT”:

Building Real-World Applications Using OOP Concepts, Error Handling and Debugging Techniques,
Concurrency in Python, Advanced File Handling Techniques, Creating and Managing Python
Packages and Modules, Designing and Implementing Python Interfaces

ASSESSMENT SCHEDULE:

TABLE 6 ASSESSMENT SCHEDULE

Course
Assessment Duration Tentative
Sl.No Contents outcome Marks Weightage
type In Hours Date
Number
Module 1
Continuous Module 2 CO1, CO2 , Every Lab
1 NA 100 100%
Assessment and CO3 Session
Module 3
COURSE CLEARANCE CRITERIA:
• Students are required to maintain class work which will be overviewed / evaluated at the
end of every month.
• Students are required to strictly adhere to assignments and other assessment deadline.
• Students are instructed to actively participate in presentation, flipped class, and in any
other class room discussions.
• Students are required to actively participate in online / offline class room and other
discussions.
• The student needs to maintain a minimum of 75% attendance to be eligible for end term
examination.
• The student needs to secure a minimum of 40% in the CIA to pass this course.

Method of Assessment for Courses with Credit Structure (0– 0 – 2 – 1)


Weightage Duration of
Components of Continuous Assessments
(% of Total Marks) Assessment

Continuous assessment:
1. 100% NA
(1) Assignment

Total 100%

MAKEUP EXAM POLICY:

“AS PER ACADEMIC REGULATIONS OF THE UNIVERSITY”


CONTACT TIMINGS FOR ANY DISCUSSIONS:
• Students can contact the instructors during their library, CCH and afternoon hours on
working Saturdays of the university.
• Students can also schedule online meetings through Microsoft Teams in consultation with
faculty.

SAMPLE THOUGHT PROVOKING QUESTIONS:

TABLE 7: SAMPLE THOUGHT PROVOKING QUESTIONS


COURSE
SL BLOOM’S
QUESTION MARKS OUTCOME
NO LEVEL
NO.
1 Explain the encapsulation in Python improve
software maintainability, and what are some
5M CO1 Understand
practical examples of using private and protected
attributes to control access within a class?
2 How does Python's method resolution order (MRO)
handle conflicts in multiple inheritance scenarios,
5M CO2 Remember
and what strategies can be used to manage complex
hierarchies effectively?
3 How do the with statement and file methods like
seek() and tell() enhance the handling of large files
in Python, ensuring efficient resource management
and data manipulation?
10M CO3 Apply
Exercise: Write a Python program that opens a
large text file using the with statement, reads it in
chunks, and uses seek() and tell() to track and
modify specific parts of the file.
TARGET SET FOR COURSE OUTCOME ATTAINMENT:

TABLE 8: TARGET SET FOR ATTAINMENT OF EACH CO and ATTAINMENT ANALYSIS AFTER
RESULTS

Sl.no C.O. Course Outcomes Threshold Target set Actual C.O. Remarks on
No. Set for the for Attainment attainment
CO attainment &Measures
In
in to enhance
Percentage
percentage the
*
attainment*

01 CO1 Apply the principles of


OOP by creating Python
classes, objects,
inheritance, encapsulation, 60% 65%
and polymorphism that
model real-world entities
and their interactions.
02 CO2 Analyze various exception
handling scenarios, 60% 65%
including how exceptions
are propagated through
the class hierarchy and the
impact of exception
handling on program
stability. Compare
different strategies for
handling exceptions and
their effectiveness in
managing error
conditions.
03 CO3 Assess various file
handling techniques in
Python, such as reading
and writing files
synchronously, using
context managers, and
handling large files 60% 60%
efficiently. Critique the
advantages and limitations
of each technique,
considering factors like
performance, memory
usage, and error handling.

Signature of the Course Instructor (s)


Ms. Yogeetha B R

APPROVAL: This course has been duly verified Approved by the D.A.C.

Signature of the Chairperson D.A.C.

BLOOM'S TAXONOMY SAMPLE VERBS

Learning Outcomes Verbs at Each Bloom Taxonomy Level to be used for writing the course
Outcomes.

TABLE 9: REFERENCE SAMPLES OF BLOOMS TAXONOMY VERBS


Cognitive Level Illustrative Verbs Definitions
arrange, define, describe, duplicate,
identify, label, list, match, memorize, name, remembering previously learned
Remember
order, outline, recognize, relate, recall, information
repeat, reproduce, select, state
classify, convert, defend, discuss, grasping the meaning of
Understand
distinguish, estimate, explain, express, information
extend, generalize, give example(s),
identify, indicate, infer, locate, paraphrase,
predict, recognize, rewrite, report, restate,
review, select, summarize, translate
apply, change, choose, compute,
demonstrate, discover, dramatize, employ,
illustrate, interpret, manipulate, modify, applying knowledge to actual
Apply
operate, practice, predict, prepare, situations
produce, relate schedule, show, sketch,
solve, use write
analyze, appraise, breakdown, calculate,
categorize, classify, compare, contrast,
criticize, derive, diagram, differentiate, breaking down objects or ideas
discriminate, distinguish, examine, into simpler parts and seeing
Analyze
experiment, identify, illustrate, infer, how the parts relate and are
interpret, model, outline, point out, organized
question, relate, select, separate, subdivide,
test
arrange, assemble, categorize, collect,
combine, comply, compose, construct,
create, design, develop, devise, explain,
rearranging component ideas
Evaluate formulate, generate, plan, prepare,
into a new whole
propose, rearrange, reconstruct, relate,
reorganize, revise, rewrite, set up,
summarize, synthesize, tell, write
appraise, argue, assess, attach, choose,
compare, conclude, contrast, defend,
making judgments based on
describe, discriminate, estimate, evaluate,
Create internal evidence or external
explain, judge, justify, interpret, relate,
criteria
predict, rate, select, summarize, support,
value

You might also like