Course:CPSC312-2018-CPSC-Grad-Planner

From UBC Wiki

Title

Authors:

Austin Park, Seongchan Lee, Hanae Nakajima

What is the problem?

We will create a program to let the user find the courses they must take to graduate with a degree in Computer Science. This is relevant because with the many courses offered in UBC, combined with the different levels of requirements throughout the years of your undergrad degree, can make it very difficult to know when and what courses one must take in order to graduate.

What is the something extra?

If feasible, this project will have a natural language query to output a list of courses that is recommended for the user to take in order to graduate in the quickest time possible with the regular restrictions of any student (max 31 credits per term, etc.)

What did we learn from doing this?

How to use propositions, natural language processing, and how to write Prolog in general. Specifically, we found that Prolog is a good language to write this sort of program in, seeing as if we build a sufficient knowledge base, then many different sorts of questions can be asked. There were some challenges when writing certain questions, because in order to answer them we needed to expand our knowledge base. Managing the entire list of courses was also a challenge at time seeing as there exist a substantial number of courses.

Links to code etc

Repository found here: https://github.com/seongchanlee/cpsc-grad-planner