0% found this document useful (0 votes)
35 views4 pages

Python Programming Course Outline 2025-26

The document outlines the scheme of instruction for a Python programming course for the batch admitted in 2025-26, detailing course objectives, outcomes, and a structured curriculum divided into five units covering Python basics, functions, modules, data structures, and libraries like Numpy and Pandas. It also includes a lab component with practical programming exercises aimed at enhancing students' problem-solving skills. Textbooks and reference materials are provided to support the course content.
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)
35 views4 pages

Python Programming Course Outline 2025-26

The document outlines the scheme of instruction for a Python programming course for the batch admitted in 2025-26, detailing course objectives, outcomes, and a structured curriculum divided into five units covering Python basics, functions, modules, data structures, and libraries like Numpy and Pandas. It also includes a lab component with practical programming exercises aimed at enhancing students' problem-solving skills. Textbooks and reference materials are provided to support the course content.
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

Scheme of Instruction For The Batch Admitted in 2025-26 (R-25)

Course Code Course Title Core / Elective


Programming for Problem Solving using Python Core
U25ESN02CS
Contact Hours per Week
Prerequisite CIE SEE Credits
L T D P
Basics of Computers and
2 - - - 40 60 2
knowledge of compilers.
Course Objectives: Students will be able to

 To learn how to use lists, tuples, sets and dictionaries in python programs.
 To learn how to write control statements and defining modules in python.
 To learn how to read and write files and handle exceptions in python.
 To learn and apply object oriented concepts and creating simple Graphical User Interface in python
 To learn the basics and usage of Numpy, Pandas and Matplotlib modules.
Course Outcomes: On successful completion of the course, Students will be able to

 Understand and use the basics of python programming and core data structures like lists, set, tuple and
dictionaries.
 Create, run and manipulate python programs by using python modules and writing functions.
 Understand and apply different file handling and exception handling operations.
 Understand OOP concepts and create simple GUI based applications.
 Understand OOP concepts and create simple GUI based applications.

UNIT-I
Basics of Python Programming: Features of Python, Writing and Executing First Python
Program, Literal Constants, Numbers Strings, Variables and Identifiers.
Data Types: Assigning or Initializing Values to Variables, Multiple Assignment, Multiple
Statements on a Single Line, Boolean Input Operation, Comments, Reserved Words,
Indentation.
Operators and Expressions: Arithmetic Operators, Comparison Operators, Assignment and
In-place or Shortcut Operators Unary Operators, Bitwise Operators, Shift Operators, Logical
Operators, Membership Operators Identity Operators, Operators Precedence and Associativity,
Expressions in Python.
Decision Control Statements: Introduction to Decision Control Statements,
Selection/Conditional Branching Statements: if Statement, if-else Statement, Nested if
Statements, if-elif-else Statement .Basic Loop Structures/ Iterative Statements: while loop,
for Loop, Selecting an appropriate loop. Nested Loops, The break Statement, The continue
Statement, The pass Statement, The else Statement used with Loops.

UNIT-II
Functions: Introduction, Need for Functions Function Definition, Function Call, Function
Parameters, Variable Scope and Lifetime, Local and Global Variables, Using the Global
Statement, Resolution of Names, The return statement, More on Defining Functions, Required
Arguments, Keyword Arguments Default Arguments, Variable-length Arguments, Lambda
Functions or Anonymous Functions, Recursive Functions, Greatest Common Divisor, Finding
Exponents, The Fibonacci Series, Recursion vs Iteration.

23
Scheme of Instruction For The Batch Admitted in 2025-26 (R-25)

UNIT-III
Modules: The from…import statement, Name of Module, Making your own Modules, The
dir() function, The Python Module, Modules and Namespaces, Packages in Python, Standard
Library modules.
Strings: Introduction, Concatenating, Appending, and Multiplying Strings, Strings are
Immutable, String Formatting Operator, Built-in String Methods and Functions, Slice
Operation, Specifying Stride While Slicing Strings, () and chr() Functions, in and not in
operators, Comparing Strings, Iterating String, Operations on Strings, Concatenation,
Multiplication (or String Repetition).

UNIT-IV
Data Structures in python : Sequences , Lists Access Values in Lists, Updating Values in
Lists, Nested Lists, Cloning Lists, Basic List Operations , List Methods, List Comprehensions,
Looping in Lists, Functional Programming :filter() Function, map() Function, reduce()
Function
Tuple : Creating Tuple, Utility of Tuples, Accessing Values in a Tuple, Updating Tuple
Deleting Elements in Tuple , Basic Tuple Operations, Tuple Assignment, Tuples for Returning
Multiple Values, Nested Tuples , Checking the Index:index() method , Counting the Elements:
count() Method , List Comprehension and Tuples , Variable-length Argument Tuples , The
zip() Function , Advantages of Tuple over List
Sets: Creating a Set, Comparing Sets, Mathematical Set Operations, Mutable Set Operators
and Methods, Set Comprehensions

Dictionaries: Creating a Dictionary, Accessing Values , Adding and Modifying an Item in a


Dictionary, Modifying an Entry, Deleting Items, Sorting Items in a Dictionary, Looping over
a Dictionary, Nested Dictionaries, Built-in Dictionary Functions and Methods

UNIT-V
Numpy Arrays: Introduction, creating Arrays, Indexing, Slicing, Types, copy vs View, Shape,
Reshape, Iterating, Join, Split, Search, Sort, Filter
Pandas: Introduction, Series, Data Frames, Read CSV, Analyzing Data
Matplotlib: Introduction, Pyplot, Line, Labels, Scatter, Bars, Histograms, Pie Charts

Text Books:
1. Reema Thareja, ”Python programming using problem solving approach “, Oxford
university
press.
Reference Books:
1. Mark Summerfield, "Programming in Python 3:A Complete Introduction to the
Python
Language", 2nd edition, Addison-Wesley
2. Martin C. Brown,” PYTHON: The Complete Reference”, McGraw-Hill, 2001.
3. E Balagurusamy,"Introduction to Computing and Problem Solving Using Python",
McGrawHill.

24
Scheme of Instruction For The Batch Admitted in 2025-26 (R-25)

Course Code Course Title Core / Elective


Programming for Problem Solving using Python Lab Core
U25ESN82CS
Contact Hours per Week
Prerequisite CIE SEE Credits
L T D P
Basics of Computers and
- - - 3 25 50 1.5
knowledge of compilers.
Course Objectives: Students will be able to

 To impart knowledge of basic fundamentals of python and learn python built-in modules
 To improve logical skills by working with control statements, mathematical functions
 To learn about modular programming through functions and recursive programs
 To handle logical, syntax errors and define custom errors as per real world problems
 Enabling students to access files and perform operations and to introduce and work with object-oriented
principles

Course Outcomes: On successful completion of the course, Students will be able to

 Implement basic syntax, semantics in python and improve logical skills


 Formulate mathematical computations, store data using strings, collection types
 Perform modular programming using functions and recursion
 Analyze and Implement OOP concepts in real world problems and handle multiple exceptions logically
and syntactically.
 Implement built-in modules in various domains like big data, machine learning.

List of Programs

1. To demonstrate variables and operators

2. Read a set of numbers from the command line, add & print those numbers.

3. Display two random numbers that are to be added, the program should allow the
student to enter the answer. if the answer is correct, a message of congratulations
should be displayed, if the answer is wrong the correct answer should be displayed.

4. Read a date and check whether the date is valid or not, if it is valid print incremented
date.

5. Read x,y and print all prime numbers between x and y where x<=y

6. Accept Three Digits and Print all Possible Combinations from the Digits

7. Check for “amicable” numbers

8. Check for “Armstrong” number

9. Check for “strong” number

10. Compute a Polynomial Equation given that the Coefficients of the Polynomial are
stored in a List
33
Scheme of Instruction For The Batch Admitted in 2025-26 (R-25)

11. Search the Number of Times a Particular Number Occurs in a List

12. Read a List of Words and Return the Length of the Longest One

13. Remove the ith Occurrence of the Given Word in a List where Words can Repeat

14. Count the number of alphabets, consonants, vowels, digits, special characters in a
sentence

15. Store some elements in the dictionary and remove a given key from the dictionary.

16. To display which Letters are in the First String but not in the Second

17. Write a function to compute gcd, factorial, fibonacci series

18. Write a recursive function to compute gcd, factorial, fibonacci series

19. Read .csv file to print the statistical summary of each attribute and visualize the data.

20. Numpy program to compute sum of all elements, sum of each column and sum of
each row of a given array.

34

Common questions

Powered by AI

To handle large datasets efficiently in Python, several strategies can be employed, particularly focusing on filtering, sorting, and aggregation operations. Leveraging libraries such as Pandas is fundamental, as it provides data structures and functions designed for efficient manipulation of large data sets. Using DataFrames allows for using vectorized operations, drastically improving performance over traditional Python loops. Numpy arrays offer a memory-efficient means of handling data and performing complex calculations with minimal overhead. Filtering data using boolean indexing or query methods in Pandas allows for retrieving subsets that fulfill specific criteria. Efficient sorting can be achieved using Pandas built-in sort functions which are optimized for performance. For aggregation, groupby operations enable summarizing data based on categorical variable grouping, which is essential for obtaining insights from big datasets. Additionally, understanding data types and using appropriate data structures, coupled with efficient use of memory resources and parallel processing, are crucial in managing large datasets .

Functional programming elements like filter(), map(), and reduce() play a crucial role in enhancing Python's capability to solve problems by emphasizing the application of functions and immutability. The map() function applies a given function to all items in an input list, allowing for the transformation and application of operations across collections efficiently. The filter() function extracts elements from a collection that meet specific criteria defined by a function, which is useful in data processing and cleaning tasks. The reduce() function, often used in conjunction with lambda expressions, successively applies a given function to elements of a sequence to reduce it to a single cumulative result, such as the sum of a list. These elements support concise and readable code, facilitate parallel processing of collections, and encourage immutable data management, which can simplify debugging and enhance scalability and performance in complex problem-solving scenarios .

Python's object-oriented programming (OOP) concepts facilitate the development of applications with graphical user interfaces (GUIs) by organizing software design around data, or objects, rather than functions and logic. OOP allows developers to model real-world entities and relationships directly through classes. When applied to GUI development, these concepts lead to reusable, modular, and easy to manage code. For example, GUI components like windows, buttons, and input fields can be represented as objects with attributes and methods. Encapsulation ensures that the internal representation of these components is hidden from the rest of the application, promoting integrity and flexibility. Inheritance allows for deriving new classes from existing classes, reducing redundancy. This abstraction streamlines the complexity of managing user interactions and interface design, aiding in rapid prototyping and scalable applications .

Python enables error identification and correction during program development through its robust debugging and error-handling features. Syntax errors are often caught at compile-time, with interpretable error messages that point to the nature and location of these errors, facilitating quick correction. Logical errors, which do not break the program but result in incorrect outputs, are more challenging and require debugging techniques, such as using print statements, environment IDE debugging tools, and unit tests to validate program logic. Exception handling mechanisms like try-except blocks allow programmers to manage runtime errors gracefully, while Python's rich standard library offers diagnostic tools such as traceback modules to provide detailed exception reports. Additionally, Python's dynamic typing and interpreted nature make iterative testing and debugging convenient, supporting rapid development cycles .

Libraries like NumPy, Pandas, and Matplotlib play crucial roles in enhancing data analysis capabilities in Python. NumPy provides support for multidimensional arrays and matrices, along with a collection of mathematical functions to perform operations on these data structures efficiently, making it integral for numerical computations. Pandas offer data structures for efficiently storing and manipulating large datasets, with functionalities like DataFrames that enable easy visualization and manipulation of data, indispensable for data cleaning and preprocessing. Matplotlib is a plotting library which provides versatile visualization capabilities that help in representing data graphically through plots and charts, aiding in data interpretation and insights extraction. Together, these libraries facilitate comprehensive data analysis workflows from data manipulation to visualization .

Exception handling in Python is critical for improving the robustness and error management of programs by allowing developers to gracefully manage errors and other exceptional occurrences during execution without halting the program's flow adversely. It provides constructs like try-except blocks to catch and respond to errors dynamically, facilitating diagnostics and enabling failure notification and corrective action. It encourages validation of input and prevents programs from crashing due to unanticipated inputs or edge cases, thus enhancing user experience. Additionally, custom exceptions allow programmers to define error types suited to their application context, enhancing understandability and manageability of code .

Learning Python's built-in modules and creating custom modules is essential for modular programming, particularly in real-world applications, because they allow for organized code within reusable components. Built-in modules offer a wide range of functionalities out-of-the-box, such as file I/O, data handling, and mathematical operations, saving development time. Custom modules enable developers to encapsulate logic specific to an application, leading to improved code maintainability and readability. They allow separate teams to work on different modules independently, enhancing collaborative development. Using modules reduces redundancy, isolates functionality, and enables easy updates and testing, which are vital attributes in building scalable, maintainable, and reliable real-world applications .

Understanding and implementing control statements such as if-else, while loops, and for loops in Python contribute significantly to improving logical skills and problem-solving abilities. Control statements guide the flow of a program based on conditions and iterative processing. They allow for decision-making based on data conditions, enabling complex logic realization that caters to varied problem scenarios. Through practice, these constructs enhance a programmer's ability to think logically and translate problem statements into executable code. Mastery of control statements is fundamental for writing efficient, clear, and structured code, which is essential in solving real-world computational problems effectively and optimizing algorithm performance .

Understanding various data structures such as lists, sets, and dictionaries in Python is essential for efficient problem-solving. Lists allow for ordered collections of data and support operations like indexing, slicing, and nesting, which enable complex data manipulations. Sets provide functionalities for unique item storage and enable mathematical operations such as union and intersection, which are useful for tasks focused on uniqueness and relationships. Dictionaries store data as key-value pairs, offering an efficient means of mapping complex relationships and performing fast lookups. These data structures, combined with appropriate control flows and algorithms, provide the flexibility and capability to address a wide range of computational problems effectively .

Functions and recursion in Python programming offer a structured approach to problem-solving by promoting code reusability and organization. Using functions, developers can encapsulate repetitive code blocks, which simplifies debugging and enhances modularity. Recursion, a technique where a function calls itself, is beneficial for solving problems that have a natural recursive structure like computing Fibonacci series or factorials. It enables concise code representation for complex mathematical computations and problems involving iterative processors. Furthermore, recursion can make algorithms easier to implement and understand by mirroring the recursive nature of the problem itself, although it needs cautious handling to avoid stack overflow .

You might also like