VL3303 Object Oriented Programming using Python Syllabus:
VL3303 Object Oriented Programming using Python Syllabus – Anna University Regulation 2021
COURSE OBJECTIVES:
• To learn the basic programming constructs in Python.
• To learn to solve problems using Python conditionals and loops.
• To define Python functions and use function calls to solve problems.
• To do input/output with files in Python.
• To understand OOP concepts with Python
UNIT I PYTHON BASICS, CONTROL STATEMENTS AND FUNCTIONS
Introduction to Python Specification – Data Representation: Simple statements: Variables and Identifiers – Object Types – Operators – Expressions and its evaluation, Conditional statements: if- if else – if elif – Nested conditional statements. Repetitive statements: while – for – Nested repetitive statements. Branching statement: break – continue – pass. Functions – Defining functions – Argument types – Scope and namespaces – Recursive functions – Lambda functions – Functions as arguments
UNIT II STRING, LIST, TUPLES, SETS & DICTIONARIES
String literals – String methods – String formatting expressions. Lists – Lists iteration and operations – Lists as stacks and queues – List comprehensions – Nested List comprehensions – Matrix operations using Lists – Tuples and sequences – Tuple iteration and operations Sets – Set iteration and operations – Dictionaries – Dictionary iteration and operations – Dictionary comprehensions – Nested Dictionary comprehensions.
UNIT III FUNCTIONAL PROGRAMMING, EXCEPTIONS AND FILE HANDLING
Functional programming tools (map, filter, reduce) – Modules – import and from statements Executing modules as scripts – Standard modules & Packages, creation of module/package. Errors: Syntax and logical errors – Exceptions: Exception types – Handling exceptions – Multiple exceptions and handlers – Raising exceptions. Files: File Path – Type of files – opening modes – Reading and Writing files. Handling Data files.
UNIT IV CLASSES AND OBJECTS
Introduction to OOP: Classes, Objects, self, methods-Constructors, destructors, encapsulation. Objects in Python, Creating Python classes, modules and packages, Case studies.
UNIT V INHERITANCE, POLYMORPHISM AND OVERLOADING
Inheritance: types and implementation in Python-Polymorphism and method overridingOperator Overloading-Abstract classes and interfaces.
TOTAL : 45 PERIODS
COURSE OUTCOMES:
Upon completion of the course, students will be able to
CO1: Write Python programs using conditionals and loops for solving problems.
CO2: Decompose a Python program into functions.
CO3: Represent compound data using Python lists, tuples, dictionaries etc.
CO4: Read and write data from/to files in Python programs.
CO5: Implement OOP concepts in Python.
PRACTICALS:
LIST OF EXPERIMENTS:
1. Python programming using simple statements and expressions (dynamic power dissipation in Digital Circuits, distance between two points).
2. Write Python programs using simple and nested control statements (Sin series, Number Patterns)
3. Develop Python programs using simple functions and recursion (Solving Quadratic equation, Factorial)
4. Write Python programs using lambda functions.
5. Write Python programs for operating on Strings (reverse, palindrome, character count, replacing characters)
6. Design Python programs using Lists (Creation, Appending, Insertion, Sorting, Reverse, Indexing)
7. Develop Python programs using Tuples (Creation, Indexing, Concatenation, Repetition, Membership, Slicing)
8. Write Python programs for performing set operations(Creation, Addition, Remove, Union, Intersection, Difference, Symmetric difference)
9. Develop Python programs using Dictionary (Creation, Copy, Update, Pop, Values, Clear)
10.Create, import, and use user-defined modules (Find Square Root).
11.Organize python code using Packages (Matplotlib, Pandas, Numpy)
12.Design Python programs to handle errors and exceptions using try, except, and finally blocks
13.Write Python programs to perform various operations on text and data files (copy from one file to another, word count, longest word)
14.Implementation of basic class structures in Python.
15.Implementation of various types of constructors and destructors.
16.Implementation of different types of inheritance.
17.Implementation of method overriding and operator overloading.
30 PERIODS
TOTAL: 60 PERIODS
TEXTBOOKS:
1. Allen B. Downey, “Think Python : How to Think like a Computer Scientist”, 2nd Edition, O’Reilly Publishers, 2016.
2. Karl Beecher, “Computational Thinking: A Beginner’s Guide to Problem Solving and Programming”, 1st Edition, BCS Learning & Development Limited, 2017.
3. Steven F. Lott, Dusty Phillips, “Python Object-Oriented Programming, Build Robust and Maintainable Object-oriented Python Applications and Libraries, Packt Publishing, 2021.
REFERENCES:
1. Paul Deitel and Harvey Deitel, “Python for Programmers”, Pearson Education, 1st Edition, 2021.
2. G Venkatesh and Madhavan Mukund, “Computational Thinking: A Primer for Programmers and Data Scientists”, 1st Edition, Notion Press, 2021.
3. John V Guttag, “Introduction to Computation and Programming Using Python: With Applications to Computational Modeling and Understanding Data”, Third Edition, MIT Press, 2021
4. EricMatthes,“PythonCrashCourse,AHandsonProjectBasedIntroductiontoProgramming”, 2nd Edition, No Starch Press, 2019.
5. https://www.python.org/
6. MartinC.Brown,“Python:TheCompleteReference”,4thEdition,Mc-GrawHill,2018.
