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.