This artifact is an enhanced version of the Course Planner application originally developed for CS 300: Analysis and Design. The program reads course data from a CSV file and allows users to load, search, and display course information through a command-line interface.
I selected this artifact because it clearly demonstrates my understanding of algorithms, data structures, and performance optimization.
The original implementation relied on basic data structures and provided limited efficiency for searching and ordering course data. While functional, it did not fully optimize for time complexity or scalability.
For the enhanced version, I significantly improved the algorithmic design:
unordered_map to achieve O(1) average-case lookup timeThese changes improved both performance and code maintainability while preserving correct program behavior.
This artifact demonstrates the following CS 499 course outcomes:
Working on this enhancement deepened my understanding of how data structure selection directly affects performance. It reinforced the importance of analyzing time complexity and designing systems that balance efficiency with readability and maintainability.