In CS 300, I worked on projects focused on data structures and algorithms. The main problem I was solving was how to organize, store, search, and sort course data efficiently. For Project One, I analyzed the run-time and memory usage of different data structures. For Project Two, I created a program that could load course data, sort it in alphanumeric order, and print the results.
I approached these projects by breaking each requirement into smaller steps and choosing the best data structure for the task. Understanding data structures is important because they directly affect program speed, memory use, and overall efficiency. Choosing the right structure can make software more organized and scalable.
One roadblock I encountered was debugging file input and making sure the course data loaded correctly. I also had to carefully test sorting and searching functions. Working through these issues helped me become more confident with problem-solving and debugging.
This project expanded my approach to designing software by showing me the importance of planning before coding. I learned that structure and logic matter just as much as writing code that runs.
My work in this course also improved how I write maintainable, readable, and adaptable programs. I now understand the value of modular code, clear naming conventions, and building programs that can be updated easily in the future.