Project Overview
This project focuses on applying Object-Oriented Programming (OOP), file handling, and debugging techniques in Python. The tasks involve implementing abstract classes and subclasses for geometric calculations, managing text files through various operations, and debugging faulty algorithms to improve code accuracy and efficiency.
Key Tasks & Solutions
Object-Oriented Programming (OOP) Implementation
Designed abstract base classes (ABC) for geometric shapes.
Implemented subclasses with area calculation methods.
Used inheritance, polymorphism, and abstraction to enforce structured design.
File Handling Operations
Created, appended, read, and deleted text files programmatically.
Extracted key statistics from text files (e.g., word count, line count).
Ensured proper file handling using exception management for robustness.
Debugging & Logical Error Fixing
Identified and corrected logical errors in a sorting algorithm to ensure correct ordering.
Fixed a faulty "closest value" search algorithm to produce accurate results.
Used print debugging, logging, and assertions to verify correctness.
Code Optimization & Documentation
Implemented Python typing annotations to enhance readability and maintainability.
Used docstrings and structured comments for clarity.
Improved code efficiency while ensuring functionality.
Technologies & Tools Used
Python (Object-Oriented Programming, File Handling, Debugging)
ABC Module (Abstract Classes)
File Handling (open(), with statements, exception handling)
️ Debugging Techniques (print(), logging, assert)
Project Outcome
By solving these tasks, the project strengthens problem-solving, debugging, and structured programming skills. The solutions demonstrate proficiency in OOP principles, file operations, and algorithm correction, essential for professional software development.