The pseudo-college ABCU required an app that could manage and display data for their offered courses.
I decided to use a binary search tree for the data structure due to its speed and efficiency for this application. Based on algoritmic analysis, most of its operations run at logarithmic time on average and linear time in the worst-case. One of the biggest advantages specific to this implementation was that it did not require the data to be sorted before printing it alphanumerically. Due to it's organized nature, displaying all of the courses alphanumerically only required a tree traversal, which runs on linear time in every case.
Sometimes I required research and sometimes I just needed distance. Using C++ to read the file and parse the data was particularly difficult for me, so I had to fall back on resources like Stack-Overflow and W3Schools. These resources were very helpful in developing a solution. This project was also fairly complex. A good break every now an then worked wonders for my focus and help to ensure I tackled every challenge refreshed and ready.
How has your work on this project expanded your approach to designing software and developing programs?
All of the material I've learned in this course built up to this project. I've learned a great deal about data structures and algorithm design. I now understand much better how to make a program efficient and fast. I've learned how to make informed decisions about how to store and manage data and how to develop the right solution for the problem.
How has your work on this project evolved the way you write programs that are maintainable, readable, and adaptable?
I've sharpened my object-oriented coding, which has helped me to write modular programs. This object-oriented nature allows the data structure to be simple to use and understand. Also, having each method handle specific tasks makes debugging a lot easier.