A collection of Advance Python Programming assignments, practicals, and implementations completed during Semester 3 of my B.Tech Computer Science & Engineering course at MIT ADT University, Pune.
This repository contains practical implementations of Python programming concepts ranging from functions and decorators to Object-Oriented Programming, design patterns, dynamic programming, and algorithmic problem solving.
The repository is continuously updated as new assignments and practicals are completed.
This repository serves as a record of my learning and practical work in Advance Python Programming.
The programs are designed to strengthen:
- Python programming fundamentals
- Object-Oriented Programming
- Problem-solving and algorithmic thinking
- Decorators and higher-order functions
- Exception handling and input validation
- Dynamic Programming
- Design Patterns
- Recursion and optimization techniques
- Real-world application development using Python
Each program focuses on a specific programming concept and demonstrates its practical implementation.
| # | Program | Concepts / Topics |
|---|---|---|
| 1 | Functions.py | Functions, arguments, return values |
| 2 | Report Generator.py | Classes, objects, report generation |
| 3 | Library Management System.py | OOP, classes, objects, inheritance, composition |
| 4 | Login Authentication.py | Authentication, validation, dictionaries |
| 5 | Function Call Logger.py | Decorators, wrapper functions, logging |
| 6 | Input Validation.py | Decorators, validation, exception handling |
| 7 | Function Call Counter.py | Decorators, function execution tracking |
| 8 | Factory Pattern Using FruitFactory.py | Factory Design Pattern, abstraction, polymorphism |
| 9 | Singleton Pattern Using a Printer Class.py | Singleton Design Pattern, shared instance |
| 10 | Observer Pattern Using Weather Station.py | Observer Design Pattern, notifications |
| 11 | Payment Processing System.py | OOP, polymorphism, payment processing |
| 12 | Fibonacci Using Memoization & Tabulation.py | Dynamic Programming, recursion, memoization, tabulation |
| 13 | 0-1 Knapsack Problem.py | Dynamic Programming, memoization, tabulation |
| 14 | Longest Common Subsequence (LCS).py | Dynamic Programming, string algorithms |
| 15 | Fibonacci / Algorithmic Optimization | Recursion, optimization, DP techniques |
Note: The repository will continue to grow as additional Semester 3 practicals and assignments are completed.
- Functions
- Arguments and return values
- Default arguments
- Keyword arguments
- Variable-length arguments
- Lists and dictionaries
- User input
- Menu-driven programs
- Classes and Objects
- Constructors
- Inheritance
- Encapsulation
- Polymorphism
- Abstraction
- Composition
- Class Methods
- Static Methods
- Magic Methods
The repository currently includes practical implementations of:
- Factory Pattern
- Singleton Pattern
- Observer Pattern
These programs demonstrate how common software design problems can be solved using reusable programming patterns.
- Function decorators
- Wrapper functions
- Function call logging
- Function call counting
- Input validation
- Recursion
- Memoization
- Tabulation
- Fibonacci sequence
- 0/1 Knapsack
- Longest Common Subsequence (LCS)
For example, the 0/1 Knapsack implementation demonstrates both top-down memoization and bottom-up tabulation, while the Fibonacci program compares the two approaches.
SY-2_SEM-3_Advance-Python-Programming-Assignments/
│
├── 0-1 Knapsack Problem.py
├── Factory Pattern Using FruitFactory.py
├── Fibonacci Using Memoization & Tabulation.py
├── Function Call Counter.py
├── Function Call Logger.py
├── Functions.py
├── Input Validation.py
├── Library Management System.py
├── Login Authentication.py
├── Longest Common Subsequence (LCS).py
├── Observer Pattern Using Weather Station.py
├── Payment Processing System.py
├── Report Generator.py
├── Singleton Pattern Using a Printer Class.py
│
└── README.md
- Python 3.x
- Visual Studio Code
- Git
- GitHub
git clone https://github.com/prashantVdubey/SY-2_SEM-3_Advance-Python-Programming-Assignments.gitcd SY-2_SEM-3_Advance-Python-Programming-Assignmentspython "Program Name.py"For example:
python "Fibonacci Using Memoization & Tabulation.py"or:
python "0-1 Knapsack Problem.py"| Status | Description |
|---|---|
| ✅ | Repository created |
| ✅ | Core Python programs completed |
| ✅ | OOP implementations added |
| ✅ | Decorator-based programs added |
| ✅ | Dynamic Programming programs added |
| ✅ | Design Pattern implementations added |
| 🔄 | More Semester 3 assignments being added |
Through these assignments, I aim to:
- Strengthen my Python programming fundamentals
- Develop a strong understanding of OOP
- Learn and implement software design patterns
- Understand decorators and function wrappers
- Improve algorithmic problem-solving skills
- Learn Dynamic Programming techniques
- Practice writing reusable and structured code
- Apply theoretical concepts to practical problems
- Build a complete collection of Semester 3 Python practicals
As the semester progresses, this repository may include programs related to:
- File Handling
- Advanced Exception Handling
- Modules & Packages
- Iterators & Generators
- Regular Expressions
- Multithreading
- Database Connectivity
- GUI Programming
- Networking
- API Integration
- Automation
- Data Processing
- Mini Projects
- Real-world Python Applications
Prashant Dubey
🎓 B.Tech Computer Science & Engineering 🏫 MIT ADT University, Pune
- GitHub: @prashantVdubey
If you find this repository useful for learning Python, OOP, Design Patterns, or Dynamic Programming, consider giving it a ⭐ on GitHub.
This repository is maintained for educational and learning purposes as part of my university coursework.
© 2026 Prashant Dubey. All Rights Reserved.