ITM(SLS) BARODA UNIVERSITY, VADODARA
Bachelor of Technology
Semester- I
Course Name: Programming in Python-1
Course Code: C2111C1
Type of Course: Core
Pre-requisites: None
Rationale: Understanding of basic principles of Problem solving through Programming in Python-1
Teaching and Examination Scheme:
Course Course
Teaching Scheme Examination Scheme
Code Title
Contact Hours Credit Theory Practical Total
Lecture Tutorial Practical Total Internal External Internal External
C2111C1 Programming 3 0 4 7 5 60 40 30 20 150
in Python-1
Course Content:
Unit Contents Total Hrs
Unit-1 Introduction to Programming: Introduction to Programming Fundamentals, 06
programming environment, principles of programming, what is debugging, text editors and
debuggers, introduction to Flow-Chart and Algorithm
Unit-2 Introduction to Python: History, Features, Versions, Applications, Setting up path, 06
Installation and Working with Python, Fundamentals of Python, Basic Syntax,
Understanding Python variables, rules for naming identifiers and variables in python,
operators and expressions, print(), type() and id() functions, taking user input using
input() and raw_input() functions. Data Types: Integer, Float, complex numbers,
Concept of Mutable and Immutable, String Manipulation.
Unit-3 Data Types: Lists, Tuples, Sets, Dictionaries, working with data types and their in-built 08
functions, Logical Constructs, Boolean expressions, Looping, Python for loop, Python
range(), Python Nested Loop Structures, Iteration, If-else, while loops, Break-
Continue, Pass.
Unit-4 Functions and Recursion: Defining a function, calling a function, Types of functions, 08
Function Arguments, Anonymous functions, Passing Collections to a Function,
Keyword and Optional Parameters, Local and global variables, Function as Function
arguments, Defining recursion and its application, programming through recursion
Unit-5 Modules: Importing Module, The Math Library, Random Numbers, Sys Module, OS, 08
Date and Time module with their in-built functions
Unit-6 File Handling: File creation, open() and close() methods, read() and write() methods, 08
file modes, file encoding, file object attributes, renaming and deleting files, Knowing
Whether a File Exists or Not, Working with Binary Files, Appending Text to a File,
Reading Text Files, File Exceptions, The with Statement, Python directory, directory
methods and functions.
Unit-7 Introduction to Object Oriented Python: Class, Object, Defining variables and functions 02
within a Class
Total: 46
Books:
Text Books 1) SheetalTaneja, Naveen Kumar, “Python Programming: A Modular Approach”, Pearson (2019)
2) R. NageswaraRao, “Core Python Programming”, dreamtech
References 1) ReemaThareja, “Python Programming: Using Problem Solving Approach”, Oxford
University Press (2017)
2) John V Guttag, “Introduction to Computation and Programming using Python with
Application to Understanding Data”, PHI (2016)
3) Martin C Brown, “Python: The Complete Reference”, McGraw-Hill Education (2018)
4) YashavantKanetkar, “Let us Python”, BPB Publication (2019)
5) Stephen Klosterman, “Data Science Projects with Python: A case study approach to
successful data science projects using Python, pandas, and scikit”, Packt Publishing (2019)
Kindle edition
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Program Educational Objectives
PEO 1: To equip graduates with a strong foundation in computer science principles and a broad understanding of
computing's impact on society.
PEO 2: To prepare graduates to solve complex, multi-disciplinary problems through the application of computer science
and engineering knowledge.
PEO 3: To cultivate graduates who can effectively analyze, collect, store, and utilize data using cutting-edge tools and
techniques.
PEO 4: To empower graduates to become innovative leaders in the development and application of emerging
technologies, such as AI, Machine Learning, and IoT.
PEO 5: To foster lifelong learning and ethical considerations in graduates, enabling them to adapt and contribute
responsibly in a rapidly evolving technological landscape
Program Outcomes (PO’s)
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 (PSOs):
PSO 1: Design and develop intelligent systems using advanced algorithms and data structures, considering ethical
and societal implications for complex real-world problems.
PSO 2: Conduct research-driven investigations in emerging areas of computer science utilizing appropriate
research methodologies to analyze, interpret, and synthesize data for evidence-based problem-solving.
PSO 3: Develop secure and robust software systems through the integration of total systems engineering
principles and best practices, considering safety and societal impact.
Correlation Levels:
1 (Low): The CO has a minimal contribution to the PO.
2 (Medium): The CO moderately contributes to the PO.
3 (High): The CO significantly contributes to the PO.
- (Not Applicable): The CO has no measurable contribution to the PO.
Course Outcome (CO) PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1: Understand basics concepts of Python
programming 1- - - 1 - - - - - - 1
CO2: Describe the Numbers, Math functions,
Strings, List, Tuples and Dictionaries in Python 1- - - 1 - - - - - - 1
CO3: Express different decision-making
statements and functions 1- 1- 1 - - - - - - 1
CO4: Learn implementation essentials of python 1- 1- 1 - - - - - - 1
CO5: Implement the specified mini-projects 1 2 3- 2 1 1 2 2 2 1 2
Lab Experiments:
Sr. No. Program Statement
P1 1. 1. Write a Python program to calculate the addition of two numbers without using third variable.
2. 2. Demonstrate the use of id(), type() and size() function in python.
3. 3. Write a Python program to perform basic operations in python.
P2 4. 1. Write a Python program to find greatest among three numbers entered by user.
5. 2. Write Python program to check whether the entered number by user is even or odd.
6. 3. Write a Python program to check whether the entered year is leap year or not.
7. 4. Write a Python program to find all prime numbers within a given range.
P3 8. Write a Python program to take marks of 5 subjects from user and print obtained grade. (>=90%
- A+, 70%-90% - A, 60%-70% - B+, 50%-60% - B, 35%-50% - C, <35% - F )
P4 9. Write a Python program to implement a simple calculator.
P5 10. [Link] a Python program for various functions of string in python.
11. 2. To add 'ing' at the end of a given string (length should be at least 3). If the given string already
ends with 'ing' then add 'ly' instead. If the string length of the given string 5. is less than 3, leave
it unchanged. Sample String : 'abc' Expected Result : 'abcing' Sample String : 'string' Expected
Result : 'stringly'
P6 12. 1. Write a Python program for list and its various in-built methods.
13. 2. Write a Python program to calculate the sum of numbers stored in a list.
14. 3. Write a Python program for tuple and its various in-built methods.
15. 4. Write a Python program for dictionary and its various in-built methods.
16. 5. Write a Python program for set and its various in-built methods.
P7 17. Write a function that takes a list of numbers as input from user and produces the corresponding
cumulative list where each element at index i is the sum of elements at index j <= i. For example,
Input List = [3, 5, 2, 7, 9, 4]; the Output List = [3, 8, 10, 17, 26, 30].
P8 18. Write a Python program that takes a sentence as input from the user and computes the frequency
of each letter. Use a variable of dictionary type to maintain the count.
P9 19. Write a function that takes a number as an input argument and returns the corresponding text in
words, for example, if input is 368, the function should return ‘Three’, ‘Six’, ‘Eight’. Use a
dictionary for mapping digits to their string representation.
P10 20. 1. Write a Python program to find factorial of a given number using recursion
21. 2. Write a Python program to print ‘n terms of Fibonacci series using recursion.
P11 22. 1. Write a Python program to perform various functions of math module.
23. 2. Write a Python program to perform various functions of random module.
24. 3. Write a Python program to perform various system related functions using sys and os module.
25. 4. Write a Python program to retrieve the date and time related information of a system using
python.
P12 26. 1. Write a Python program that reads a text file and changes the file by capitalizing each character
of file.
27. 2. Write a Python program to append data to an existing file '[Link]'. Read data to be
appended from the user. Then display the contents of entire file.
28. 3. Read a text file in Python and print no. of lines and no. of unique words.
P13 29. Write a Python Program to create a class “Rectangle” with variables length and width. Create
three different objects for a class and write a function that displays the area of a rectangle.
Suggested Specification table with Marks (Theory):
Distribution of Theory Marks
K1 K2 K3 K4 K5 K6
4 8 12 8 9 9
K1 =>Remember K2 =>Understand K3 =>Apply K4 =>Analyze K5 =>Evaluate K6 =>Create
Course Assessment Methods:
DIRECT(75%)
1. Formative Exam(40%)
1. Continuous Evaluation Test I and II (Theory component)
2. Lab Experiments (Programs) Test/Viva; Lab Manual for each program implemented (Lab Component)
[Link] Exam(60%)
1. End Semester Examination (Theory and lab components)
INDIRECT(25%)
1. Course-end survey
Designed By Verified By: Approved By:
() (Name with Signature) (Name with Signature)