Graduate Student Admission System | C++

This is an academic team project that served as my final project for a software design course in C++! This project was pretty fun, involving the implementation of a lot of data structures and algorithms such as linked lists for organization of student data. Algorithms were also required for sorting students by metrics such as GPA, research scores, language scores, and more.

The initial list of students applying to graduate school are held in text files that the program reads from. However, if some people apply late, that's okay, because the program allows you to enter a new students information and they'll be sorted among the other students automatically. You can also delete any pre-existing entries, including ones you've just entered. There are two linked lists for two different types of students: Domestic and International. However, upon evaluation, the main menu allows you to quickly merge the lists together and you can sort and search among them to figure out the next batch of students accepted into graduate school.

Making this program was a great experience. I learned how to work with others to create a software project and as a bonus, developed my competence and confidence in C++. When I think about working on this project, I think about the times the team met on campus writing down the pseudocode to make our classes and methods work. Every problem that came along felt like a puzzle. The pseudocode as well as using git helped A LOT. I have no idea how our project would've gone smoothly with version control, backups, and restores without using git. I also don't know how our code could've fused together smoothly by the end and been so optimized without pseudocode. Just about every algorithm was O(n), and this was mostly due to using linked lists as opposed to vectors or arrays.

Although it was fun trying to solve the problems of how to get a good algorithm to do the right manipulations in the data, I personally also liked creating the menu. I guess this is because it let me see that everything was coming together. I could tangibly see the tiny systems in place coming together for the bigger overall system, and I enjoyed that. Overall, this was a difficult, challenging, and enjoyable project.

Extra Screenshots