Skip to the content.

Algorithms and Data Structures Enhancement

Overview

The artifact used for this enhancement is the IT 145 Pet Boarding System. The original version relied on basic object-oriented structures and did not include advanced algorithms for managing and retrieving data efficiently.

This enhancement focused on improving the system by implementing algorithms for searching, sorting, and dynamically assigning boarding suites based on availability.


Justification for Inclusion

This artifact provided an opportunity to enhance the system’s functionality through algorithmic improvements. By introducing efficient data handling and logic, I transformed the system from a basic data manager into a more intelligent and responsive application.

Key components that showcase my skills include:

These enhancements demonstrate my ability to apply algorithmic principles to solve real-world problems.


Enhancements Made

The following algorithmic improvements were implemented:

Example logic used for suite assignment: function assignPetSuite(petType): if petType == "Dog": for each suite in dogSuites: if suite is available: return suite if petType == "Cat": for each suite in catSuites: if suite is available: return suite return "No space available"


Course Outcomes Achieved

This enhancement aligns with the following course outcomes:


Reflection

This enhancement allowed me to understand how algorithms directly impact system performance and usability. Implementing search and sorting functionality improved the efficiency of retrieving data, while the suite assignment algorithm introduced dynamic decision-making into the system.

One challenge I faced was ensuring that the assignment algorithm correctly handled edge cases, such as when no suites were available. Addressing these scenarios required careful logic design and testing.

Another challenge involved integrating algorithmic logic with the database and frontend. Ensuring that sorted and filtered data displayed correctly in the user interface required debugging and refinement.

Through this process, I gained valuable experience in applying data structures and algorithms in a practical context, strengthening my ability to design efficient and scalable solutions.