Commit 5f713444 authored by Saikiran Srirangapalli's avatar Saikiran Srirangapalli

Merge remote-tracking branch 'origin/readme'

parents c8dd6cca 29c1148e
......@@ -14,32 +14,32 @@ Contents
6. How To Run an Audit
7. Useful Predicates
1. Description
The Graduation Audit System is a audit degree modeling program based on stable model semantics. It allows users to create degree plans in the form of logic rules and performs a graduation audit to determine if the student can graduate and what classes could be taken if the student cannot graduate.
This program is a degree audit system for degrees at The University of Texas at Dallas. It can determine if a student can graduate and will determine which courses a student should take if they can't graduate. Audits can be performed for degrees at other universities by updating courses.lp and implementing the degree plans.
z
2. License
The Graduation Audit System is distributed under GNU Public License Version 3.
3. Package Contents
3. Contents
bs/ -degree plans for degrees of Bachelor of Sciences
transcripts/ -CSV files that contain the students infomation
bs/ -degree plans for Bachelor of Sciences degrees
ba/ -degree plans for Bachelor of Arts degrees
transcripts/ -CSV files that contain the students infomation
README -this README file
counting.lp -LP file that has rules for counting hours
course.lp -LP file that contains every class in the system
counting.lp -file that has rules for counting hours
course.lp -file that contains every class in the system
LICENSE -GNU Pulblic License
main.lp -LP file that is run by s(ASP)
main_writer.py -Python script that generates main.lp
req_writer.py -Python script that generates req.lp file
main.lp -file that is run by s(ASP)
main_writer.py -Python script that generates main.lp
req_writer.py -Python script that generates req.lp file
4. Dependencies
This system uses s(ASP), a groundless implementation of answer set programming which requires SWI-Prolog. s(ASP) and its instalation instructions can be downloaded from http://sourceforge.net/projects/sasp-system/
This system also uses Python 3.
This system uses s(ASP). s(ASP) and its instalation instructions can be downloaded from http://sourceforge.net/projects/sasp-system/
Python 3 is required to run the two python scripts.
5. How To Run an Audit
......@@ -59,8 +59,6 @@ This will run the audit for the transcript created by main_writer.py and will de
The system allows for custom degree plans with relatve ease.
NOTE: WHEN CREATING PREDICATES, AN UNDERSCORE BEFORE A PREDICATE HIDES IT IN THE ANSWER SET.
A. First, choose a simple acroynm for the degree. For example, Computer Science could be cs. Also, make note of the year and the type of degree (BS or BA).
B. Next, create a "req" lp file with the naming convention:
......@@ -77,7 +75,7 @@ className is the name of the class. (i.e. cs1337).
typeOfRequirement is what type of requirement the class will fufill.
NOTE: IF THE CLASS IS ABSOLUTELY REQURED TO GRADUATE, ITS TYPEOFREQUIREMENT IS "REQUIED". OTHERWISE, IT IS WHATEVER REQUIREMENT YOU WANT TO NAME IT.
Note: If the class is absolutely required to graduate, its typeOfRequirement is "requied". Otherwise, it is whatever requirement you want to name it.
Example: hist1301 is an American history class that counts toward the American History Requiremnt in the degree plan and it is NOT absolutely required to graduate.
......@@ -165,10 +163,8 @@ G. The last file to create is the rules file and has the naming convention
H. Finally, all 5 files are created and the user can now create the main.lp file (See How To Run An Audit).
NOTE: FOR THIS SYSTEM TO WORK, THE COURSES MUST BE CODED AS LOGICAL FACTS IN "COURSES.LP". THE DEFAULT UNIVERSITY IS THE UNIVERSITY OF TEXAS AT DALLAS. FOR ANY OTHER UNIVERSITY, ALL POSSIBLE CLASSES A STUDENT COULD TAKE SHOUD BE IN "COURSES.LP" AND IT IS RECOMENDED TO CREATE A SCRIPT TO SCRAPE THE DATA FROM A DATABASE. THE RULES SHOULD BE WRITTEN IN THE FORM:
_course(className,hours) where hours is the credit hours.
Note: course.lp should contain all valid courses along with the number of credit hours they can be taken for.
_course(className,hours) where hours is the credit hours.
7. "counting.lp" contains useful predicates to help code graduation rules
......@@ -194,9 +190,6 @@ _takenFor(Student,Course,Req).
_takenForElective(Student,Course).
This rule is used to indicate that a Student has used this Course as an elective credit.
_takenForElective(Student,Course,Req).
This rule
_meetsHours(Student,Req,Min)
This rule will count the amount of credit hours a Student has taken of a certain Req and will be true if the amount of credit hours is greater than the Min.
Req is the name of requirement found in the req file.
......@@ -205,7 +198,7 @@ _meetsHours(Student,Req,Min)
Example: _meetsHours(bob,americanHist,6). %if bob has 6 or more hours of classes that meet the requirement for american histrory, then the pridcate is true.
_auditHours(Student,Req,Min).
This rule will is the same as meetsHours except it will always be true and if the total hours is less than the Min, it will output needsHours(Student,Req,Diff), with Diff as the hours needed in the requirement.
This rule will is the same as meetsHours except it will always be true and if the total hours is less than the Min, needsHours(Student,Req,Diff) will appear in the answer set, with Diff as the hours needed in the requirement.
_meetsElectiveHours(Student,Min).
This rule is the same as meetsHours except the requirement is for electives. Min is the amount of electives needed.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment