Back close

Course Detail

Course Name Advanced Programming Using Python
Course Code 25CSA632
Program M. C. A.
Campus Amritapuri, Kochi

Syllabus

Unit 1

Unit 1: Introduction & Object-Oriented Programming

Python syntax and semantics, data types, control flow, functions, modules, packages, recursion and lambda functions, file handling, exception handling, and debugging techniques. Classes and Objects, Constructors, inheritance, polymorphism, Magic methods ( init, str, len, etc.), Composition vs Inheritance, class and static methods.

Unit 2

Unit 2: Advanced Python Programming Concepts, Iterators and Generators, Decorators and closures, Context managers (with statement), Modules and packages (standard & custom), Dynamic typing and introspection.

Unit 3

Unit 3: File and Text Processing

Text, binary file handling, Directory handling using os, shutil, glob, working with JSON and CSV, Regular Expressions using the re module (search, match, replace, extract patterns), Use- case: Log file analyzer

Unit 4

Unit 4: Problem-Solving Patterns in Python

Sorting, searching, recursion, Hashing, frequency counters, sliding window, Backtracking problems, Basic graph and tree problems using dictionaries/lists, Competitive programming style challenges (Leetcode-style)

Unit 5

Unit 5: Testing and Best Practices

Writing testable code, Unit testing with unittest or pytest, Code documentation and style (PEP8), Error logging and debugging, Packaging Python applications. Git and GitHub basics, writing clean, maintainable code, and creating a portfolio of Python projects.

Text Books / References
  • Python Programming: An Introduction to Computer Science by John Zelle
  • Fluent Python by Luciano Ramalho
  • Test-Driven Development with Python by Harry J.W. Percival

Objectives and Outcomes

Course Objective

To equip students with strong programming foundations using Python, focusing on core logic building, object-oriented programming, advanced features like decorators and generators, file handling, regular expressions, and problem-solving patterns using Python.

Course Outcomes

CO1: Apply core and object-oriented programming principles in Python.

CO2: Use advanced Python features such as iterators, generators, decorators, and context managers.

CO3: Develop robust Python applications using modules, error handling, and unit testing. CO4: Implement algorithmic problem-solving techniques using Python.

CO5: Handle text data using regular expressions and work with file systems efficiently

CO-PO Mapping

PO/PSO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO
CO1 3 2 3 1
CO2 3 3 3 1 1
CO3 2 3 3 2 1 2
CO4 3 3 3 2 1 2
CO5 1 1 1 2 2 1

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now