Syllabus
Unit I
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 II
Advanced Python Programming Concepts, Iterators and Generators, Decorators and closures, Context managers (with statement), Modules and packages (standard & custom), Dynamic typing and introspection.
Unit III
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 IV
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 V
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.
Objectives and Outcomes
Course Description
This course aims to build strong programming foundations in Python, emphasizing both core and advanced features. Students will develop problem-solving skills using Python, focusing on logical reasoning, data structures, and algorithmic thinking. The course covers object-oriented programming concepts, advanced functionalities such as decorators, generators, file handling, and regular expressions. Through hands-on exercises and practical coding challenges, students will learn to write efficient, maintainable, and scalable Python programs for real-world applications
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
|
COs
|
Description
|
|
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.
|
|
CO4
|
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
|
|
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
|
–
|