[go: up one dir, main page]

0% found this document useful (0 votes)
323 views8 pages

Python Programming Course Overview

Uploaded by

swethamanjunatha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
323 views8 pages

Python Programming Course Overview

Uploaded by

swethamanjunatha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

IPCC (4 Credits) template 1

PYTHON PROGRAMMING Semester I/II


Course Code 1BPLC105B/205B CIE Marks 50
Teaching Hours/Week (L:T:P: S) [Link] SEE Marks 50
Total Hours of Pedagogy 40 + 24 (Practical)
Total Marks 100
(Theory and Lab hours)
Credits 4 Exam Hours 3
Examination type (SEE) Theory
Course outcome (Course Skill Set)
At the end of the course, the student will be able to:
CO1: Develop scripts using primitive language constructs of python.
CO2: Identify the methods to manipulate primitive python data structures.
CO3: Make use of Python standard libraries for programming.
CO4: Build scripts for performing file operations.
CO5: Illustrate the concepts of Object-Oriented Programming as used in Python.

Module-1
The way of the program: The Python programming language, what is a program? What is debugging? Syntax
errors, Runtime errors, Semantic errors, Experimental debugging.
Variables, Expressions and Statements: Values and data types, Variables, Variable names and keywords,
Statements, Evaluating expressions, Operators and operands, Type converter functions, Order of operations,
Operations on strings, Input, Composition, The modulus operator.
Iteration: Assignment, Updating variables, the for loop, the while statement, The Collatz 3n + 1 sequence,
tables, two-dimensional tables, break statement, continue statement, paired data, Nested Loops for Nested
Data.
Functions: Functions with arguments and return values.

Chapters: 1.1-1.7, 2.1-2.12, 3.3, 4.4, 4.5


Number of Hours:8
Module-2
Strings: Working with strings as single things, working with the parts of a string, Length, Traversal and the for
loop, Slices, String comparison, Strings are immutable, the in and not in operators, A find function, Looping and
counting, Optional parameters, The built-in find method, The split method, Cleaning up your strings, The string
format method.
Tuples: Tuples are used for grouping data, Tuple assignment, Tuples as return values, Composability of Data
Structures.
Lists: List values, accessing elements, List length, List membership, List operations, List slices, Lists are
mutable, List deletion, Objects and references, Aliasing, cloning lists, Lists and for loops, List parameters, List
methods, Pure functions and modifiers, Functions that produce lists, Strings and lists, list and range, Nested
lists, Matrices.

Chapter: 5.1, 5.2, 5.3


Number of Hours: 8

Module-3
Dictionaries: Dictionary operations, dictionary methods, aliasing and copying.
Numpy: About, Shape, Slicing, masking, Broadcasting, dtype.
Files: About files, writing our first file, reading a file line-at-a-time, turning a file into a list of lines, Reading
the whole file at once, working with binary files, Directories, fetching something from the Web.

Chapter: 5.4, 6.1-6.5, 7.1-7.8


Number of Hours:8
Module-4

1
IPCC (4 Credits) template 2

Modules: Random numbers, the time module, the math module, creating your own modules, Namespaces,
Scope and lookup rules, Attributes and the dot Operator, Three import statement variants.
Mutable versus immutable and aliasing
Object oriented programming: Classes and Objects — The Basics, Attributes, Adding methods to our class,
Instances as arguments and parameters, Converting an instance to a string, Instances as return values.

Chapter: 8.1-8.8, 9.1, 11.1


Number of Hours: 8
Module-5
Object oriented programming: Objects are mutable, Sameness, Copying.
Inheritance: Pure functions ,Modifiers, Generalization, Operator Overloading, Polymorphism.
Exceptions: Catching Exceptions, Raising your own exceptions.

Chapter: 11.2.2-11.2.4, 11.3.2-11.3.9, 12.1, 12.2


Number of Hours:8
PRACTICAL COMPONENTS OF IPCC
PART – A: FIXED SET OF EXPERIMENTS

1. a. Develop a python program to read 2 numbers from the keyboard and perform the basic arithmetic
operations based on the choice. (1-Add, 2-Subtract, 3-Multiply, 4-Divide).
b. Develop a program to read the name and year of birth of a person. Display whether the person is a
senior citizen or not.
2. a. Develop a program to generate Fibonacci sequence of length (N). Read N from the console.
b. Write a python program to create a list and perform the following operations
• Inserting an element
• Removing an element
• Appending an element
• Displaying the length of the list
• Popping an element
• Clearing the list
3. a. Read N numbers from the console and create a list. Develop a program to print mean, variance and
standard deviation with suitable messages.
b. Read a multi-digit number (as chars) from the console. Develop a program to print the frequency of
each digit with a suitable message.
4. Develop a program to print 10 most frequently appearing words in a text file. [Hint: Use a dictionary
with distinct words and their frequency of occurrences. Sort the dictionary in the reverse order of
frequency and display the dictionary slice of the first 10 items.
5. Develop a program to read 6 subject marks from the keyboard for a student. Generate a report that
displays the marks from the highest to the lowest score attained by the student. [Read the marks into
a 1-Dimesional array and sort using the Bubble Sort technique].
6. Develop a program to sort the contents of a text file and write the sorted contents into a separate text
file. [Hint: Use string methods strip(), len(), list methods sort(), append(), and file methods open(),
readlines(), and write()].

2
IPCC (4 Credits) template 3

7. Develop a function named DivExp which takes TWO parameters a, b, and returns a value c (c=a/b).
Write a suitable assertion for a>0 in the function DivExp and raise an exception for when b=0. Develop
a suitable program that reads two console values and calls the function DivExp.
8. Define a function that takes TWO objects representing complex numbers and returns a new complex
number with the sum of two complex numbers. Define a suitable class ‘Complex’ to represent the
complex number. Develop a program to read N (N >=2) complex numbers and to compute the addition
of N complex numbers.
9. Text Analysis Tool: Build a tool that analyses a paragraph: frequency of each word, longest word,
number of sentences, etc.
10. Develop Data Summary Generator: Read a CSV file (like COVID data or weather stats), convert to
dictionary form, and allow the user to run summary queries: max, min, average by column.
11. Develop Student Grade Tracker: Accept multiple students’ names and marks. Store them in a list of
tuples or dictionaries. Display summary reports (average, topper, etc.).
12. Develop a program to display contents of a folder recursively (Directory) having sub-folders and files
(name and type).
Suggested Learning Resources: (Text Book/ Reference Book/ Manuals):

Text books:
1. Peter Wentworth, Jeffrey Elkner, Allen B. Downey and Chris Meyers- How to think like a computer
scientist: learning with python 3. Green Tea Press, Wellesley, Massachusetts,2020
[Link]

Reference books / Manuals:

1. Al Sweigart,“ Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total
Beginners”,2nd Edition, No Starch Press, 2022. (Available under CC-BY-NC-SA license at
[Link]
2. Kyla McMullen, Elizabeth Matthews and June Jamrich Parsons, Programming with Python, Cengage,
2023.

Web links and Video Lectures (e-Resources):

[Link]

[Link]

[Link]

Teaching-Learning Process (Innovative Delivery Methods):


The following are sample strategies that educators may adopt to enhance the effectiveness of the teaching-
learning process and facilitate the achievement of course outcomes.
1. Chalk and talk
2. PPT presentation
3. Demonstration
4. Problem-Based Learning (PBL)
5. Case-Based Teaching

3
IPCC (4 Credits) template 4

Assessment Structure:
The assessment for each course is equally divided between Continuous Internal Evaluation (CIE) and the
Semester End Examination (SEE), with each component carrying 50% weightage (i.e., 50 marks each).
The CIE Theory component will be 25 marks and CIE Practical component will be 25 marks.

The CIE Theory component consists of IA tests for 25 marks and Continuous Comprehensive Assessments (CCA)
for 5 marks. The CIE Practical component for continuous assessments will be for 15 marks through rubrics and
for lab tests will be for 5 marks.
• To qualify and become eligible to appear for SEE, in the CIE theory component, a student must score
at least 40% of 30 marks, i.e., 12 marks.
• To qualify and become eligible to appear for SEE, in the CIE Practical component, a student must
secure a minimum of 40% of 20 marks, i.e., 08 marks.
• To pass the SEE, a student must secure a minimum of 35% of 50 marks, i.e., 18 marks.
• A student is deemed to have successfully completed the course if the combined total of CIE and
SEE is at least 40 out of 100 marks.

Continuous Comprehensive Assessments (CCA):


CCA will be conducted for a total of 5 marks. It is recommended to include any one learning activity aimed at
enhancing the holistic development of students. This activity should align with course outcomes and promote
higher-order thinking and application-based learning.
Learning Activity -1: (Marks- 5)
Students must identify a real-life scenario and develop a Python-based solution using fundamental
programming constructs/Data structures (Below given are the sample examples).
1. E.g.: Banking System: Simulate bank accounts using classes. Implement deposit, withdraw, and
balance check using class methods. Create your own utility module.
2. E-commerce Cart System: Build a class Product, extend it with Electronics, Clothing using inheritance.
Create a Cart class. Handle errors like invalid quantity using custom exceptions.
3. Smart Attendance System: Use file I/O to maintain logs, dictionaries for student info, and exception
handling for invalid entries.
4. Develop/Simulate snake and ladder game by choosing suitable data structures of Python.
CIE Practical component:
The CIE marks awarded in the case of the Practical component shall be based on the continuous evaluation of
the laboratory report using a defined set of rubrics. Each experiment report can be evaluated for 30 marks. The
summation of all the experiments marks to be scaled down to 15 marks.
The laboratory test (duration 03 hours) at the end of the last week of the semester /after completion of all the
experiments (whichever is early) shall be conducted for 50 marks and scaled down to 5 marks. For laboratory
test, the student is required to conduct one experiment each from both Part A and Part B.

Rubrics for Learning Activity (Based on the nature of learning activity, design the rubrics for each
activity):

Note: Marks obtained (25) is scaled down to 5.

4
IPCC (4 Credits) template 5
Component Outstanding Exceeds Meets Needs Unsatisfactory
& CO-PO (5) Expectations Expectations Improvement (1)
Mapping (4) (3) (2)
Identification of Clearly defined Relevant and Partially Vague or not No identifiable
real-life problem and well-described relevant with fully relevant or valid problem
and its relevance contextually problem limited context problem
[CO1] relevant
[PO2] problem;
innovative
approach
Use of primitive All constructs Most constructs Basic constructs Minimal Incorrect or
constructs used correctly used properly applied with construct usage missing
(variables, loops, with proper some errors with logical constructs
functions, logic and flow flaws
conditionals)
[CO1]
[PO1]
Manipulation of Effective and Mostly Some usage with Incorrect or Not used or
Python data optimized appropriate basic limited use misused entirely
structures (lists, usage of Data usage understanding
tuples, Structures
dictionaries,
sets)
[CO2]
[PO1]
Use of standard Libraries and Minor issues in Limited or Attempted but Not attempted
libraries and file file operations usage partially correct faulty or irrelevant
operations (if used correctly use implementation
applicable) and
[CO3, CO4] meaningfully
[PO5]
Code structure, Modular, Structured code Limited Poor No
modularity, and structured with basic comments or documentation documentation,
documentation code with documentation unclear and readability disorganized
[CO4] comments and structure code
[PO9, PO11] output
samples

Rubrics for CIE – Continuous assessment:

5
IPCC (4 Credits) template 6
Component Outstanding Exceeds Meets Needs Unsatisfactory
& CO-PO (5) Expectations Expectations Improvement (1)
Mapping (4) (3) (2)
Fundamental The student has in Student has Student is Student has not Student has not
Knowledge: depth knowledge good knowledge capable of understood the understood the
Understanding of the topics of some of the narrating the concepts concepts and the
the problem
related to the topics related to answer but not partially. problem
statement
problem. Student problem. capable to show Student is able definition clearly.
[CO1-5] is able to Student is able in depth to partially
[PO1, PO2] completely to understand knowledge and understand the
understand the the problem the problem problem
problem definition. definition. definition
definition.
Design of Student is capable Student is Student is Student is Student is
algorithm/flow of discussing more capable of capable of capable of capable of
chart and than one design discussing few discussing explaining the explaining the
program
for his/her designs for single design design. design partially.
[CO1-5] problem his/her problem with its merits
[PO2, PO3] statement and statement but and de-merits.
capable of proving not capable of
the best suitable selecting best.
design with
proper reason.
Implementation Student is capable Student is Student is Student is Student is
(Program coding) of implementing capable of capable of capable of capable of
with suitable the design with implementing implementing implementing implementing
tools the design. the design with
best suitable the design with the design with
errors.
[CO1-5] language structure best suitable proper
[PO5, PO8] considering language explanation.
optimal structure and
solution/optimal should be
efficiency. capable of
explaining it.
Program Student is capable Student is able Student is able Student is able Student is able to
debugging and to compile and to compile and to compile and to compile and compile and
testing with debug the debug the debug the debug the debug the
suitable tools program with program with
program with no program with program with
errors (syntax, errors (syntax,
[CO1-5] errors (syntax, errors (syntax, errors (syntax, semantic and semantic and
[PO5, PO8] semantic and semantic and semantic and logical) and logical) and
logical). logical) and logical) and rectified errors rectified errors
rectified errors rectified errors with no with assistance.
with full with partial understanding of
understanding understanding error
descriptions.
of error of error
descriptions. descriptions.
Results & Student is able to Student is able Student is able Student is able Student is able to
interpretation run the program to run the to run the code to run the run the program
/analysis on various cases program for all for few cases program but not but not able to
and compare the the cases. and analyze the able to analyze verify the
[CO1-5]
[PO4] result with proper result. the result. correctness of
analysis. the result.
Demonstration Demonstration Demonstration Demonstration Demonstration Demonstration
and and lab record is and lab record is and lab record and lab record is and lab record is
documentation well-organized, organized, with lacks clear poorly poorly organized,
with clear clear sections, organization or organized, with with missing
[CO1-4]
[PO8, PO9, PO11] sections. but some structure. Some missing or sections. Record
sections are unclear sections.

6
IPCC (4 Credits) template 7

The record is well sections are not unclear or The record is not not submitted on
structured with well-defined. incomplete. properly time.
suitable The record is The record is structured with The record is not
formatting (e.g: structured with partially suitable structured with
font, spacing, formatting (e.g: structured with formatting (e.g: minimum
labelling of figures font, spacing, formatting (e.g: font, spacing, formatting (e.g:
and tables, labelling of font, spacing, labelling of font, spacing,
equations figures and labelling of figures and labelling of
numbered and tables, figures and tables, equations figures and
etc). equations tables, numbered and tables, equations
numbered and equations etc). numbered and
etc). numbered and etc).
etc).

Rubrics for CIE Test:

7
IPCC (4 Credits) template 8
Component Excellent Good Fair Marginal Unsatisfactory
& CO-PO (5) (4) (3) (2) (1)
Mapping
The student Student has Student has Student is
Fundamental has well depth good average capable of
Knowledge (2) Student has not
knowledge of knowledge of knowledge of narrating the
understood the
the topics some of the some of the answer but not
[CO1, CO2] concepts
[PO1] related to the topics related topics related capable to
clearly
problem & to problem & to problem & show in depth
course course course knowledge
Student is able
Understanding Student has a
of problem Student is able Student is able to Shows Student is not
basic
definition (1) to completely to understand minimal or able to
understanding
understand the the problem unclear understand the
of the problem
[CO1, CO2] problem definition but understanding problem
definition that
[PO2] definition not clearly of the problem definition
is partial or
definition
superficial
Student is Student is
Student is Student is
capable of partially
Design and capable of
design and capable of capable of
Implementatio design and
implementing design and design and Student is not
n (3) implementing
with best implementing implementing capable of
with some
[CO1, CO2] suitable the core part of with some design and
[PO3] construct for the construct
construct for algorithm for implementing
the given for the given
the given the given
problem
problem problem problem
definition definition
definition definition
Student will be Student will be
Student is able
able to run the able to run the
to run the
program on code for few Student will be Student will be
Result & program on
various data data/datasets able to run the not able to run
Analysis (2) various data
inputs and fair and analyze the code for few the program
inputs and
knowledge in output. data inputs but and not able to
[CO1, CO2] compare the
[PO4] comparing the not analyze the analyze the
result with
result with output. result.
proper
proper
inference.
inference
Good Verbal & Average
Good verbal Communicatio Average
nonverbal
Communication Communicatio n Communicatio Poor
(Viva voce) (2) communicatio
n skills with but with n but with Communicatio
n skills with
precise and precise and imprecise and n (Minimal
[CO3] precise and
[PO8, PO9] correct correct incorrect interaction/ans
correct
terminologies/ terminologies/ terminologies/ wers)
terminologies/
answers. answers. answers
answers.

You might also like