From UBC Wiki

Authors: Zijing(Liz) Lu, Mingsheng(Roger) Yang

What is the problem?

Having one's transcript(as an input file) and a knowledge base of CS courses prerequisites, this program should output list of courses that can you can take next term. Given courses that you plan to take, we can reduce the list of recommanded courses if there is any time conflict with the planned courses.

What is the something extra?

We read from a txt file to add transcript facts to the knowledge base. It will be easier this way to change what courses a person has taken, or who the person is, then give customized result of recommanded courses.

What did we learn from doing this?

After we finish this program, we agree that logic programming is suitable for building a list of recommanded courses. The task is based on pure rules, so given the time schedule of future courses, a student's transcript, and even what this student want to take, it is not hard to produce a customized list of recommanded courses. What we learned is to use an external txt file for a student's transcript and his/her plan instead of adding those facts in the pl file. In the process of writing the program, we reckon that if we read the facts about the student from external file, it would be much easier and managable. In fact it makes more sense to have an external file because if we are using something like this program in practice, everyone can just provide his/her own file to the program, instead of changing the actual program which should be avoided in real life.