Queens College Computer Science AI Advisor

Inspiration

The inspiration for the Queens College Computer Science AI Advisor comes from the need to streamline the academic planning process for computer science students. Computer Science has become the biggest major in Queens College, but there is a lack of teachers in general, especially good ones that give a student the best chance to have a high GPA. Alongside the complexity of prerequisites, electives, and general education requirements, we wanted to create a tool that simplifies this process and use the power of AI to generate personalized course plans based off every individual student's needs.

What it does

The AI Advisor harnesses OpenAI's cheapest GPT technology to offer tailored academic advice for Queens College computer science students. It navigates through prerequisites, electives, and course schedules, providing students with a clear, optimized path to graduation. The tool also includes professor recommendations based on grade distributions from Spring 2023 and Fall 2022, integrating third-party data sources to enrich the advice given. This project can easily be scalable to take into account other majors and general education requirements by feeding the API more data from the original grade distribution.

How we built it

We built the AI Advisor using Flask for the web framework, OpenAI for generating personalized course plans, and Tailwind CSS for the front-end design. The application gathers user input through a series of questions about their academic progress, preferences, and struggles. This data is then fed into the OpenAI model, utilizing outside Queens College's grade distribution data to generate customized advice. There were attempts to directly have the AI be trained on the dataset, however, it led to better results using the base GPT model (3.5 turbo) and passing in the data as a system message during the OpenAI API call.

Challenges we ran into

One of the main challenges was ensuring the OpenAI model could interpret the structured data from Queens College and generate meaningful advice. There was many different attempts at manipulating the dataset to work well with the AI as training data, but it was to no avail, which is why we stuck with the base model and passing the data directly as a system message during the function call. Another challenge was creating an intuitive user interface that guides students through the data collection process without overwhelming them. Additionally, we were unfamiliar with React, which could have helped make the front-end more efficient through creating and reusing components and ended up using vanilla JavaScript.

Accomplishments that we're proud of

We are proud of creating a tool that genuinely aids students in navigating their academic journey. Computer Science is already considered one of the toughest degrees a student can get, and when teachers are limited, it makes finishing even more difficult. Integrating OpenAI to provide personalized advice based on complex outside data is an achievement that has the potential to positively impact students' educational experiences.

What we learned

Through this project, we learned about the capabilities and limitations of AI in educational planning. OpenAI's API performed much worse with the outside data directly implemented into the AI as training data, leading to mostly "hallucinations" as results. Because of this, manual intervention, algorithms and boilerplate had to be used during the actual API function call to help the AI perform well. We also gained experience in designing user interfaces that are not only aesthetically pleasing but also functional and intuitive.

What's next for Queens College Computer Science AI Advisor

Looking ahead, we plan to expand the AI Advisor's capabilities to include more departments and majors, making it a comprehensive tool for all Queens College students. We also aim to incorporate more data sources for even more personalized advice and explore the possibility of a mobile app for on-the-go planning.

Built With

Share this project:

Updates