Course:CPSC312-2018 Degree Planner

From UBC Wiki



Julie Huang, Jenny Huang

What is the problem?

In our project, we want to create a degree planner similar to that of the degree navigator in UBC's SSC. However our project will focus only on a subset of the majors. This program will be suitable for students who are just starting their undergrad studies. It will take a student's major and courses they have already taken, and will return the different combinations of courses that can be taken each year for a specific major.

What is the something extra?

Something special we will add to the program is to implement the ability to customize the combination of courses. That is, if a student wants to complete their degree in a specified time-frame, it will output the combination of courses required to complete the courses in that time frame. Or if a student wants to add co-op terms or study abroad terms it will take those into account.

What did we learn from doing this?

Throughout this project, we learned that Prolog requires us to constantly update our knowledge base. We learned that Prolog is useful to create programs like these where rules and certain conditions need to be met. We think that this program can be extended to include other majors as well if given enough time since we need to input more facts/courses into the knowledge base. Also, it's easy to include natural language processing to have a user ask specific questions regarding their degree since it is all based on rules. However, a pitfall to this is that a user has to input the question exactly how we phrased it or it will output a wrong answer even if it is correct.

Links to code etc