The objective of my research project was to write a computer program in Turbo Pascal which would determine how many general university requirements a student has completed and what requirements he or she needs to complete in order to graduate. There are six degrees offered at Illinois Wesleyan University. They are: BA (Bachelor of Arts); BS (Bachelor of Science); BFA (Bachelor of Fine Arts); BSN (Bachelor of Science in Nursing); BM (Bachelor of Music) and BME (Bachelor of Music Education). There is a different set of criteria to be met for the completion of each of these degrees. The program processes student records and generates the appropriate check form.

Coding this problem and generating the output were extremely difficult because there are several classes, sub-classes, permutations and combinations possible to satisfy a requirement. Just to give a flavor of the complexity I will give an example. As stated earlier there are six degrees, each with different requirements. One of them is the BA Humanities is one of thirteen requirements a student has to meet to complete the BA degree. To meet the Humanities requirement the student must complete three courses from at least two of the following areas: literature, Philosophy and Humanities. There are seven successful ways to meet this requirement. A couple of these are two courses in literature and one in Philosophy or two in literature and one in Humanities and so on. Further, there are about 29 courses in literature, 23 courses in Philosophy and 5 courses in Humanities that qualify. In addition to this, the program has to check whether the course is valid. For a course to be valid, the course grade should not be Credit, No Credit, Withdrawn, Pass, Fail, Incomplete or Dropped and it should have a unit value of 0.7 or more. If the parts in the problem were mapped in a tree format there would be an incredible number of branches in the end. Ultimately there was the question of testing. To be sure that a program is working correctly one must perform a number of test runs. Some computer scientists describe testing as the most important part of the program. It was necessary to type in the records of students and generate results and then match the output to the results computed manually. Several such records had to be entered and any errors generated had to be ironed out. After a considerable amount of test data the package was finally generating outputs which exactly matched the results of outputs generated manually.

This program will be used in the Registrar's office at Illinois Wesleyan University starting this summer. After each semester the staff at the registrar's office will simply update the already existing data-base by adding any new students or adding courses to the records of the existing students. Copies of the form generated by the program after processing the checks will be sent to each student's advisor. Previously this entire process was accomplished manually and was extremely time consuming. With the help of this program the advisors will know at a glance where their advise's stand in terms of completing graduation requirements.


Computer Sciences