From UBC Wiki

Course Requirement Tree

Authors: Kevin Wong, Kaitian Xie, David Ju

What is the problem?

As students in computer science, it can often be difficult to navigate the complex web of requirements between undergrad CPSC courses. This project seeks to create an easy to access interface with which students can input a course and retrieve all of its requirements (and all the requirements of those required courses). As well, this project seeks to allow students to input a list of courses they have taken in addition to the target course and retrieve a list of requirements specific to themselves.

What is the something extra?

If time permits and are considered feasible, this project seeks to include natural language query and output a recommended course schedule for students to reach their target courses in the lowest number of semesters.

What did we learn from doing this?

Logical programming was surprisingly intuitive for implementing prerequisite and schedule searches, more so than it would be implementing such a function recursively in a language like Java. Similarly, the natural language query interface covered in class was readily adapted for our purposes. However, we struggle to imagine scaling a logic program much larger than the project at hand.