0% found this document useful (0 votes)
8 views3 pages

Syllabus - 23adr103 Python Programming

The document outlines the curriculum for a Computer Science and Engineering program at Karpagam College of Engineering, focusing on Python programming and data structures. It includes a list of textbooks, reference materials, course objectives, and outcomes, as well as a detailed course articulation matrix. The syllabus covers various topics such as Python basics, data structures, functions, error handling, and includes a list of experiments for practical application.
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)
8 views3 pages

Syllabus - 23adr103 Python Programming

The document outlines the curriculum for a Computer Science and Engineering program at Karpagam College of Engineering, focusing on Python programming and data structures. It includes a list of textbooks, reference materials, course objectives, and outcomes, as well as a detailed course articulation matrix. The syllabus covers various topics such as Python basics, data structures, functions, error handling, and includes a list of experiments for practical application.
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

RE:

COMPUTER SCIENCE AND ENGINEERING


|CONTROLLED COPY
KARPAGAM COLLEGE OF ENGINEERING,
COIMBATORE
TOTAL: 30
TENT BOOKS:
k Allen
Weiss, "Data Structures and Algorithm Analysis in C'",
Pearson Education, 2014. 2d Edition (Fortieth Impression).
Thomas H. Cormen, Charles E. Leiserson, Ronald
2
Edition, MIT Press, 2022.
[Link], Clifford Stein, "Introduction Algorithms". 4h
to

REFERENCE BOOKS:
laracimha Karumanchi, "Data Structures and Algorithms Made
Publications, 2023.
Easy", 5h Edition, Career monk
ncam Augenstein and Tanenbaum, "Data Structures Using Cand
C++", 2hd Edition, Pearson Education.
2020.
, lan Wengrow, "A Common-Sense Guide to Data Structures and Algorithm", 2nd Edition. o'Reilly
Publications, 2020.
Yashavant Kanetkar,"Data Structures Through C",4" Edition, BPB publications. 2022.
WEB URLs:
1. [Link]
2. [Link]
3. htps:/[Link]/-galles/visualization/[Link]
COURSE ARTICULATION MATRIX

Course PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2
Outcome
2 2 1 1 1 1 2
COI
2 2 2 1 -
1 1 2
C02
2 2 2 1 1 1 2
CO3 2
2 1 1 2
C04 3 2 2 -

1 2 2
COS 3 3 3 2 1

2.2 2 1.6 1 1 1 0.6 1.2 2


CO 2.4

23ADR103 PYTHON PROGRAMMING


(Common to AD/CS/CY/ECEE/IT/VD)
LTPC
3 02 4

PRE-REQUISITES: Nil

OBJECTIVES:
semantics like control structures and functions
lo acquire knowledge on basic python syntax and
Tounderstand logical thinking abilities and to propose novel solutions for real-world problems through object
oriented programming concepts
J0 apply python programming on real time, use cases

OUTCOMES:
Learners should be able to K2
structures and sequential programming
COT: nterpret the basic representation of the data K3
structures like list, dictionaries, tuples, and sets
C02: solve the problems using the core data K3
CO3: build applications using functions, modules and forpackages
unanticipated states/inputs.
K4
CO4: examine the possible error-handling constructsproblems using object oriented concepts K4
COS: analyze exemplary applications on real-world
Page 31
Approved in the 18h BoS held on 1L.05.2024

HEAD OF HE DEPARTMENT DEAKIEMICS


Deparment of Computer Science and Engineering Kotpazn: College of Engneering
(Coimbatore -641032.
Karpagam College of Engineering
Wyleripalayam (PO), Coigbatore -641 032
CONTROLLEDCOPY
BE:COMPUTER SCIENCE AND ENGINEERING KARPAGAM COLLEGE OF ENGINEERING, COIMBATORE

UNIT I INTRODUCTION TO PYTHON BASICS


Fundamentals of Computing - Building blocks of algorithms - Introduction to Programming - Elements of python
Variables Data Types - Operators - Opcrator Preccdence - Expressions - Conditional statement - Loops - Break.
Continue and Pass - |llustrative problems: square root, GCD, LCM, Sum an array of numbers, Lincar search, Binary
search.

UNITII PYTHON DATA STRUCTURES 9


Mutable vs immutable data types - String - Indexing and slicing - String functions - List - List slices - List methods :
Iterate over alist - Mutability - Aliasing - Cloning lists - List parameters - List comprehension- Tuples- Tuple
assignment - Tuple as return value Dictionaries -Operations and methods - Set - Set operations Illustrative
programs: Simple sorting. pattern matching, Fibonacci, Factorial, Prime numbers.

UNIT III FUNCTIONS, MODULES AND PACKAGES


Built-in functions - User defined functions - Creating function - Calling functions Types of function arguments
Recursion and lambda or anonymous functions - Packages: Defining - Creating and accessing a package - Python
libraries NumPy, pandas, Matplotlib - Flask/Django.

UNIT IV FILE HANDLING, CLASS AND OBJECT 9


Introduction to files - File path - Opening and closing files - Reading and writing files - File position - Decorators
Introduction to elements of OOP - Class - Object - Inheritance - Data abstraction - Encapsulation - Polymorphism -
UML class diagram - Access specifiers Creating classes - Creating object - Accessing members - init() method
Instance, static and class methods - Importance of self - Implementing encapsulation. Illustrative programs: File
operations on TEXT and CSV, Scientific calculator using class and objects.
UNIT V ERROR HANDLING, TESTING
Exception handling with try, except, finally - Exception handling: Erors vs exceptions - Handling exceptions - Raising
exception - Creating user defined exception - Debugging techniques- Unit testing with unit test - Writing test cases -
web scraping - Data analysis project - Automation script.

TOTAL: 45
LIST OF EXPERIMENTS:
1. Write conditional and looping statements in Python.
2 Create and manipulate strings using indexing, slicing, and various string functions.
3. Create and manipulate lists using operations, slices, methods, list comprehension, and looping.
4. Create and manipulate tuples, dictionaries, and sets, and understandthe differences between mutable and
immutable types.
5. Implement user-defined functions and understand the different types of function arguments, such as positional,
keyword, and default arguments.
6. Implement inheritance and understand the different types of inheritance.
7. Implement polymorphism through method overloading, overriding, and operator overloading.
TOTAL: 30

TEXTB00KS:
1. Allen BDowney,Jeffrey Elkne, Chris Meyers,"How to Think Like aComputer Scientist: Learning with
Python 3 Documentation",3" Edition, Green Tea Press,2020.
2 Steven [Link] Dusty Phillips, "Python Object-Oriented Progranmming: Build robust and maintainable object
oriented Python applications and libraries"4h Edition , Packt Publishing Limited .2021.
REFERENCE BOOKS:
I. R. Nageswara Rao," Core Python Progranming", 3 Edition, Dream tech Press,2022.
2. Mark ILutz, "Learning Python",5" Edition, 0'Reilly Publication , 2018.
3. Mark and Summerlicld, "Programming in Python 3"2" Edition ,Dorling Kindersley India Pvt. Ltd, 2019.
Approved in the 18h BoS held on 11.05.2024 Page 32

HEAD OFTHE
DEPARTMENT
Department of Computer Science and Enginerr"q
DEAN/ÃCADEMIS
Karpagam College of Engineering Parpagn College of Engineering
Myleripalayam (PO), Coirgbatore- 641 032 Combatore -64 1 032.
[Link] SCIENCE AND ENGINEERING
KARPAGAM COLLEGE OF
CONTROLLED COPY
ENGINEERING, COIMBATORE
WEB URLs:
1. [Link]
) https:/[Link]/python-programming
3. [Link]
Wapp/toc/\ex auth
A htps://[Link]-programming-language/
5. [Link] 0125409616243425281061 shared/overview
COURSE ARTICULATION MATRIX
Course PO1 PO2 PO3| PO4 POS PO6 PO7 PO8 PO9
Outcome PO10 PO11 PO12 PSO1 PSO2
Co1 2 1 -

C02 2 2 -

CO3 2 2 - -

CO4 3 3 1
1
COS 3 3 1
---
CO 2.4 2.2

Page 33
Approved in the 18th BoS held on 11.05.2024

HEAD OF THE DPARTMENT


Uepnef of Computer Science and Engineering 3.321ni (olhete ol frye crirg
hJrpagam College of Engineering
Wyleripalayam (PO), Coigbatore - 641032

Common questions

Powered by AI

Decorators in Python allow for the modification or enhancement of functions or methods without changing their actual code. The advantages include improved separation of concerns, code reuse, and the ability to enhance existing functions with additional functionality such as logging, access control, and instrumentation. However, decorators also pose challenges as they can obscure the original function's purpose, lead to harder-to-read code, especially for those unfamiliar with decorator syntax, and potentially introduce subtle bugs if not carefully implemented .

NumPy, pandas, and Matplotlib are key libraries that enhance Python's data analysis capabilities. NumPy provides high-performance multidimensional array objects and tools for numerical computing. Pandas offers data structures like DataFrame that allow for easy manipulation and analysis of large datasets. Matplotlib is used for creating static, interactive, and animated visualizations in Python, aiding in data visualization and interpretation. Together, these libraries make complex data analysis tasks easier, faster, and more intuitive .

Error handling in Python is crucial for writing robust programs by anticipating and managing runtime errors gracefully, thus preventing program crashes and maintaining user experience. It is implemented using try-except blocks, where exceptions can be caught and managed by custom responses. Effective error handling includes specific exception catching, logging for debugging, and clean-up code with 'finally' to ensure resource deallocation or other final actions. It also involves creating custom exceptions for better control over error types encountered in specific domains .

Mutable data types, such as lists and dictionaries, allow modifications like adding, removing, or changing elements without creating a new object. This characteristic is useful for algorithms needing frequent state changes or data updates. Immutable data types, such as tuples and strings, do not allow changes to the existing object; any modification creates a new object. This immutability is beneficial for caching, ensuring data integrity, and efficient memory usage. Understanding these properties affects how algorithms are designed, especially in terms of performance and memory management .

The different types of inheritance in Python, such as single, multiple, and multilevel, significantly impact class hierarchy design and code reuse. Single inheritance limits a subclass to inherit from one superclass, simplifying hierarchy and making the architecture understandable. Multiple inheritance allows a subclass to inherit features from multiple classes, promoting extensive reuse and diversification of functionalities but may introduce complexity due to method resolution order. Multilevel inheritance leads to a deep class hierarchy, beneficial for establishing a clear lineage but might result in overly complex hierarchies. Effective use of these inheritance types enhances code reuse while maintaining manageable architectures .

Understanding operator precedence in Python helps in writing code where arithmetic and logical operations are executed in the intended sequence without unnecessary parentheses. This ensures that expressions are evaluated optimally, leading to more readable and potentially faster code. Situations where operator precedence is misunderstood might lead to bugs or incorrect results, affecting the program's reliability .

Object-oriented programming (OOP) enhances software development and maintenance through encapsulation, inheritance, and polymorphism. Encapsulation hides the internal state and functionality of objects, exposing only what is necessary, which helps in reducing the complexity and increasing the maintainability of code. Inheritance allows the creation of new classes based on existing ones, promoting code reuse and a hierarchical approach to class definitions. Polymorphism enables objects to be treated as instances of their parent class, allowing for flexibility and the implementation of dynamic method or operator overloading, which simplifies code and enhances functionality .

Recursion involves a function calling itself to solve smaller instances of the same problem, which is useful for tasks like navigating hierarchies or solving problems that can be broken down into similar subproblems, such as tree traversal. Anonymous functions, defined using 'lambda', provide a compact way to write throwaway functions for single-use cases within a piece of code, often used in functional programming constructs like map, filter, and reduce. While recursion is about problem-solving and structure, lambdas focus on brevity and simplicity for small, non-complex operations .

List comprehension in Python provides a concise way to create lists by embedding a looping construct and optional filtering criteria within a single line of code. This enhances code readability by reducing the verbosity and increasing the expressiveness compared to traditional for-loops. In terms of efficiency, list comprehensions generally perform faster since they utilize underlying optimizations in the Python interpreter, making them an efficient choice for list creation and transformations .

Understanding the differences between error and exception handling is vital because errors often refer to issues in the code that need correcting before execution, such as syntax errors, while exceptions are problems that occur during program execution which can be anticipated and managed. Properly differentiating and handling exceptions prevent applications from crashing and allow for recovery or degradation of function in a controlled way. Knowing when to anticipate exceptions, log them, and decide the appropriate response is crucial for developing robust applications .

You might also like