DegreeLog

From UBC Wiki

Authors: James Beninger, Jeffrey Wang, Rui Wang

What is the Problem?

The current UBC Degree Navigator is difficult to use and does not clearly indicate what requirements a student has or has not met. DegreeLog will allow users to make clear and intuitive queries regarding their degree progress. Using a Faculty of Science degree majoring in Computer Science as a reference demonstrating that it could be done in general, we'll use Prolog to create a knowledge base and functions that can be used to what degree requirements must be met for the student to graduate as intended and more.

What is the something extra?

  1. Sentence parsing could potentially be used to parse out courses mentioned and whether or not they have been completed or not to update the knowledge base.
  2. If the first option proves too difficult, a recommendations system could be used to tell the user which uncompleted courses they should complete to progress towards meeting all of their degree requirements.

What did we learn from this?

What we learned is that in Prolog in contrast to Haskell, it is relatively simple to get all the possible answers to something but more difficult to get just a single solution.

Links to Code:

GitHub