Our idea came to us at the end of last semester when trying to pick a good schedule. We wanted something that could streamline the process of choosing sections based on meeting times.
What it does
The application uses input from the user to generate a table of recommended courses. Each input increases the importance of a variable (e.g. Fridays off or Afternoon classes) that is then used to rank available courses. Next we run it through our sorting algorithm that outputs the best section to sign up for, together with specific CRNs and meeting times.
How We built it
C++ Command Line Interface. Python web page scraper program. We went on the TAMU Network and scraped all Department course and section data available from the websites.
Challenges We ran into
Developing a web scraper program to read auto-generated HTML files was quite the challenge. It required the use of an xml parser for Python that we were not familiar with at the time. Also, the algorithm to convert a 2d vector space of courses into a list of valid class schedules was very difficult to implement.
Accomplishments that We're proud of
We made a fun and interactive Aggie themed chat bot!
What We learned
We're proud of learning how to manually scrape a web page for the information you want! The c++ source code also involves highly complicated object-oriented programming on a level we hadn't worked with before.
What's next for Aggie Advisor
The project is currently unfinished. We initially intended to implement a tool to pick your favorite teachers, but that never actually got started. We will also work on uploading the data files to an online server that can be queried instead of having the files saved on the host's computer! Additionally the program ignores the user's preferences and just chooses a random auto-generated schedule. This is in spite of the fact that the program itself suggests otherwise.