The Academic Advising System
-
Upload
mahdi-mohri -
Category
Documents
-
view
233 -
download
0
Transcript of The Academic Advising System
-
8/2/2019 The Academic Advising System
1/31
The Academic Advising SystemOverview:
The Academic Advising System is a research project proposed by Dr. Hamid Al -
Qaheri, chairperson of Quantitative Methods and Information Systems (QMIS) department,
College of Business Administration, Kuwait University. The goal of the system was to find and
construct a computerized optimization algorithm to assist Kuwait University students in the
process of registering courses in each semester. Registering courses is a demanding job that each
individual student has to undertake every semester, especially in highly populated universities
with limited resources such as Kuwait University. It is a challenging work, because it requires a
student to make lots of choices that are interdependent and a change in one may have largeconsequences on the others. For example, most of the students have a plan for graduation in a
fixed number of semesters, and at the same time there are many interdependencies between
courses that if not considered, may delay the students planned graduation. Other difficulties arise
when there are many time conflicts between the time slots of intended courses for the coming
semester. To solve these difficulties and to help the students better concentrate on their core job
of studying, our system aims to use the power of computers to guide the students through the best
path to graduation. We need a system, which suggests an optimized schedule of courses for each
semester throughout the studying period of students in the university. Therefore, the basic
requirement of the project was to find the most efficient algorithm that every student supposedly
has to implement to reach his/her optimal schedule for each semester.
Our solution to this problem is The Academic Advising System. It starts by assigning a
major-sheet of courses to each newly entered student based on his/her selected major, and then
proposes a clear and optimized graduation road-map for that student through assigning the major-
sheet courses to each of his/her remaining semesters. As the student progresses through the
program and at the end of each semester when all the final grades are added to the system, it then
re-evaluates the road-map and makes necessary adjustments to the suggested courses per
semester. Every semester, all of the students would be offered the suggested courses for the
coming semester and would be allowed to make their changes to the assigned schedule.
-
8/2/2019 The Academic Advising System
2/31
Apparently deciding which courses to register for the coming semester depends on many
parameters. Pre-requisite required courses, maximum and minimum allowed credits per semester,
and other administrative constraints are examples of system imposed constraints. However, there
are other personal factors such as preferences of teachers, influences of friends and work
constraints that are examples of criteria that should be considered when setting up a schedule for
the coming semester. In our trial, we did not try to resolve all these issues and therefore our
system would only provide guiding advises to students rather than a compulsory enforcement.
To perform the alleged task, the system has to come up with a blend of both easier and
more difficult courses, together with both required and elective courses. It also has to make sure
that the more important and urgent courses (courses with the least latency tolerance) are being
scheduled as soon as possible. For that purpose, we decided to input the university and
department administrative policies as fixed constraints in the system, and then defined two
parameters for each course in the major-sheet, Course Priority and Course Difficulty. The
main parameters for determining Course Priority are: number of courses that this course is a
prerequisite of, maximum semesters that the course may be delayed without delaying the
students graduation, and whether the course is a required or an elective one.
Course Difficulty on the other hand may be more controversial, because difficulty is a
more subjective aspect. For that purpose we gained access to the university databases that store
the results gained by students during the past several years. We decided to consider the results
obtained by the students, who have taken a course within the last five years range as a guiding
factor in determining the average difficulty of that course. It means that the higher the average
grades of students who have taken a course in the last five years, the easier the course is, and vice
versa. However, this is a very generic and impersonal way of determining a courses difficulty.
Otherpersonal factors such as the students academic background and subject preferences may be
considered as additional factors in determining the difficulty level of each course.
The system determines Course Difficulty and Course Priority for all courses that are
left to be taken by the student to fulfill the requirements of his/her major-sheet for graduation.
Then, the system should make a critical decision of selecting among those courses concerning
both the priority and difficulty of courses. The final result, which is the schedule for all coming
semesters, should be balanced in all of the difficulty, priority and density perspectives. By
-
8/2/2019 The Academic Advising System
3/31
density we mean that we may not have an overloaded semester, while another semester is quite
lightly loaded. To reach a balanced schedule, we calculate the average of each course factor per
semester. For instance, we sum the priorities of all remaining courses in the major-sheet and
divide it by the number of semesters remained to the students planned graduation.
Besides deciding what courses to choose for the coming semester, there are other
difficulties in the process of registering those courses such as the availability of courses in the
coming semester and the time overlaps of classes. The course availability problem usually occurs
because the department authorities, who are assigned to set the courses and number of sections
for each course in the following semester, have no fair approximation of the real demand for
those courses. Therefore, they sometimes use inaccurate approximations for the number of
students and the required sections. To help both the students and the department authority in this
regard, we suggested that, after obtaining the approvals from all of the students about their
desired courses for the coming semester, the department regards this data as the real demand for
the coming semester, and that according to this data the department schedules its faculty
members.
When the department finalizes its schedule of courses for the coming semester, they can
provide that schedule to the system, and it then assigns all students to their required courses
based on the available limits of sections and overlapping class times. If there were difficulties in
assigning students to their required courses, the system would automatically reevaluate the
students schedule and assigns the students in the next most optimal and available course in their
graduation path.
Finally, the students are again asked to approve their final schedule for the coming semester and
to make their required changes.
Course Registration Algorithm and Basic Concepts
This is a planning system that provides an optimal dynamic graduation plan for students
by producing a term by term schedule for the courses to be taken by students. The goal of the
system is to provide a per student plan concerning a set of rules that guaranties the fairness of the
plan regarding the remaining terms to the student graduation.
-
8/2/2019 The Academic Advising System
4/31
To find an operating method for the system, we change the problem to an optimization
problem by using a Dynamic Programming model as shown in the following figure. Each box in
the following model represents the list of planned courses for one semester.
Term One Term Two Term i Term NXN XN-1 XN-2 Xi Xi-1 X1 X0
dN
......
dN-1 di d1
rN-1(XN-1,dN-1) ri(Xi,di)rN(XN,dn) r1(X1,d1)
In this figure:
Xi : list of remaining courses for the student to graduation di : Number of remaining terms to graduation ri (Xi , di) : A measurement factor to evaluate the effectiveness of the planed courses list
for semester i. We can assume it as the cost of the plan. It could depend on the following
factors, where each factor has its own weight:
o Number of credit hourso Levels of the assigned courseso Difficulty of assigned courseso Gaps in scheduled classes timeso Relativity of the assigned courses to the students majoro
To reach to the optimal solution, the system needs to assign courses in a way that
minimize the cost of each course. But before presenting our model to reach this intended goal, we
need to present a set of required basic concepts:
Majorsheets and their types:
Majorsheets are bundles of course collections and department policies that students
entering each college/department and seeking a degree are required to fulfill. Courses in the
majorsheets, as described below, are divided into categories that we use to guide us in the process
of course registration for the students. Majorsheets also have some restrictions and constraints
that need to be considered in the process of registration. For example, some courses may require
that the student has already passed certain amount of credits. These extra constraints are currently
hard coded into the system, and they are mentioned in a separate section below.
-
8/2/2019 The Academic Advising System
5/31
Although practically there is only one majorsheet that is given to each student for his
entire studying period, in this system we defined two types of majorsheets for a student, one
General Majorsheet and one Majors Majorsheet. The General Majorsheet contains all
course categories that are required from all students in a college in Kuwait University. Fresh
students when enter Kuwait University, they initially only select their college. At this stage they
are only allowed to register in general courses that are shared for all students within that college.
Within a period of two to three semesters every student has to decide his/her major. After
selecting his/her major, a student is allowed to register in major courses. (Note: there may not be
strict restrictions in registering major courses before selecting a major, but practically most of
students select their major before taking that majors courses). Also, as time passes the
majorsheets, like everything else, get updated and new versions of majorsheets would be
assigned to new students. For these reasons, the system assigns the college levels last version of
General Majorsheet to a fresh student, and after selecting a major, the last version of Majors
Majorsheet would be appended to the students list of courses.
Categories of major-sheet courses:
Majorsheets of all disciplines in Kuwait University are divided into categories of courses.
Each category has some required and some elective courses. Altogether, there is always a specific
number of credits that are required to be taken from each of those categories. We used this
categorization of courses in the majorsheets as a guiding factor in choosing courses to fill in the
semester schedules.
The concept of Large Categories:
By looking at the categories of courses in the majorsheets, we see that there are always
some categories that are more important that the others. For instance a category that consists only
of required courses is more important than a category that has only elective courses. To regard
majorsheet categories in a more applicable manner, we propose to combine the course categories
into three to four larger categories. For testing purposes we divided the majorsheet course
categories into three large categories: High Priority, Middle Priority, and Low Priority large
categories. High priority course categories are those that contain the core required courses of the
majorsheet. Middle Priority course categories are those with half required and half elective
courses, and Low priority categories contain mostly elective courses. (These categories are
-
8/2/2019 The Academic Advising System
6/31
absolutely adjustable according to the policies of the department authorities).This is important in
the process of course registration. Because, we need a balanced blend of core required courses
and elective courses in every semesters. In each semester we need to assign courses from each of
these categories.
Prioritizing the Majorsheet Courses:
If you are faced with a pool of options to choose from, you have to define a set of criteria
according to which you compare your options. To come up with a measurable value for priority
we came up with the following formula that would be applied to all majorsheet courses to
determine their priorities:
Priority = required * 10000 + Total Successors * 1000 + 900 - level
This formula depends on the following parameters for choosing the courses from the pool of
majorsheet courses:
Required: Every required course has higher priority than every elective course. In thisformula, if a course is required, required would equal 1, or otherwise 0. The coefficient of
10,000 would guarantee that all required courses would overweight the elective courses.
Total Successors: The higher the number of courses that a course is a direct or indirectprerequisite, the higher the priority of that course would be.
Total Successorswould
determine the urgency of a course to be scheduled earlier. If too many courses are
depending on a course, the formula would give a high urgency priority to the course by
multiplying the number of dependent courses by the large coefficient of 1000.
Level: If everything was the same, a course that has a lower course level has a higherpriority. Course levels in Kuwait University are divided as 100 level courses, 200 level
courses, and so on. The general understanding of these levels is that 100 level courses
should be taken in the first year, 200 in the second year and so on. Therefore, if
everything else is the same, a 100 level course has higher priority than a 300 level course,
and it should be scheduled earlier than the 300 level courses. We decrement the course
level from 900 to reveal the reverse nature of the priority of course level.
Estimating a measure for Course Difficulty:
-
8/2/2019 The Academic Advising System
7/31
To construct a viable course registration algorithm, we cannot ignore the importance of
the difficulty of courses in encouraging students to make changes in their graduation plan. They
may push courses forward or backward, or to increase or decrease the course load in a semester
according to their personal opinion regarding the difficulty of courses. However, course difficulty
is a rather subjective issue and it more depends on the personal abilities and interests of a student
than anything else. However, we can use our database data of the results obtained by the previous
students who have finished a course in the past academic years, to give us a rough understanding
of the difficulty of the course for an average student. For that purpose, we were granted access to
the university databases that store the historical records of students in the past five years. We
could find every single grade obtained by students in the last five years who have finished any
course in Kuwait University. The lower the average grade obtained by past students was regarded
a higher difficulty measure for that course. In this way, we assigned scores from 0 10 for grades
from AF respectively. To come up with a difficulty score for a course, we multiplied each
individual grade, obtained from the historical records, by its respective difficulty score (010)
and took the average of all the obtained results. We referred this average as courseScore and
used it as our measure for difficulty of the course.
The meaning of Next Semester/Coming semester:
These are two terms that have been used interchangeably for several times throughout this
report. What we mean here is the semester for which the student is planning to register courses.
The meaning of Next Semester depends on the time frame within which the student is
registering courses. For example, while the student is studying in the fall semester, he/she intends
to register for the spring semester, and similarly when the student is studying in the spring
semester, he/she intends to register for the summer or the next fall semester. So, we decided to
take the current time as the basic parameter for determining the Next/Coming semester.
On that basis, in June, July, August or September (summer vacation) the system sets Next
Semester to the next fall, in October, November, December, January or February, the next spring
semesters courses would be planned, and during March, Apr, May we have supposed that the
student should be planning his summer courses, however, since currently the system does not
plan for summer courses, we have set the students to plan for the next fall semester in these
months.
-
8/2/2019 The Academic Advising System
8/31
Steps in assigning a plan to a student:
Now that we have defined our required basic concepts used in our algorithm, we start
explaining the steps involved in our algorithm. Every semester, the scheduling program does the
following steps to find an optimum plan for a student:
1. The student initially selects the number of remained courses he/she planned to his/hergraduation. (Attention: It is for simplicity that the system allows that students select number
of remained terms to their graduation. It may be changed to an administratively imposed
constraint to enforce students to a limited number of terms to graduation.)
2. Find number of remained credits from each large category and the total remained credits inthe majorsheet.
3.
For each large category, find the ratio of its credits to the total remained credits. (describedabove)
4. Find number of remained courses (not credits) to be taken by the student.5. Determining number of courses to be assigned to each of the remaining semesters: We
start by calculating the average number of credits and courses to be assigned in the remained
semesters. Then we assign the average number of courses to each semester. Then, if the total
assigned courses exceeded the total remained courses, starting from the last semester
(skipping one term in between) we decrement number of courses to be assigned, till we reach
to the exact number of total remained courses. Thats because usually the courses taken in the
last semesters are the more difficult ones and that require more concentration. Similarly, if we
have assigned less than total number of courses, starting from the first semester (skip one
term in between) we increment number of courses to be assigned to each semester.
On the other hand, as an additional hard coded constraint, if the student is fresh (in his/her
first semester) we start by assigning a minimum of four courses for the first semester and five
courses for the second semester. Thats to decrease the load on a fresh student.
Therefore, we try to decrease the load from the first and last semesters, and to increase it on
the middle semesters.
6. Determining Number of courses required from each of the Large Categories:At this stage we know the ratios of credits in each large category to total remained credits.
We also know exactly how many courses we need in each of the coming semesters. So, to
-
8/2/2019 The Academic Advising System
9/31
find how many courses we need to assign from any of the large categories, we multiply that
large categorys ratio by the number of required courses in the intended semester.
Then, we sum up the multiplication results of all large categories, and compare it with our
planned number of courses for the intended semester. If our summation result is larger than
required number of courses, we need to decrease courses one by one from large categories
assigned number of courses till we reach our planned number of courses.
To decide which large category to choose for decreasing number of assigned courses, we pick
large categories one by one and calculate the ratio of assigned number of courses to that large
category to the total planned courses in the intended semester. Then we calculate the
difference between that ratio and the previously calculated ratio of credits of that large
category to the total number of majorsheet credits (calculated in step 3). The large category
that has the largest ratio difference would be our candidate to decrease its assigned number of
courses by one.
Similarly, if the summation result is lower than the required courses, we continuously look
for the large category with the smallest ratio difference (i.e. the largest negative ratio
difference) and add one course to that large category. We continue these operations till we
reach our planned number of courses for our intended semester.
At this stage, we already know how many courses we need in each of the remaining
semesters, and how many courses from each of the large categories we want to pick for those
semesters. Now we are ready to construct the real schedule for the student by assigning
courses to each of the remaining semesters.
7. Generating a table of courses with a list of attributes: To determine what courses are thebest choices to be assigned to each semester, we collect a series of information partly from
our database and partly by calculations, and generate a programmatic table with the following
attributes:
crsID: Academic course ID number crsTtl: Name of the course priority: A measure for comparing the urgency of courses in the students schedule courseScore: Difficulty measure of the course (described in detail above) preReqCourses: An arraylist, containing the prerequisite courses for this course noPreReq: No. of prerequisite courses
-
8/2/2019 The Academic Advising System
10/31
sucCourses: An arraylist of courses that this course is a prerequisite for them allSuccessors: An arraylist, that contains all courses that this course is a direct
prerequisite or the prerequisite of a course, which is a direct prerequisite for them
totalSuccessors: No. of courses in the allSuccessors arraylist largeCat: The large category that this course is part of required: Determines whether a course is required or elective taken: Determines whether the course has been planned or not for one of the
remaining semesters. When it equals true, it does not mean that the course has been
finished by the student, but it only means that the planning system has found an
adequate position for that course to be registered in the following semesters.
termID: The ID number of semester for which the course has been scheduledTo fill in these attributes for all majorsheet courses, we initially fetch part of the attributes
directly from the database. crsID, crsTtl, courseScore, preReqCourses,
noPreReq, sucCourses, largeCat, and required are either directly obtained
from the database records of the student, or by slight manipulation of the data obtained
from the database.
Then we Prioritize the Majorsheet Courses as described above. Description and
calculation methods of priorityand required attributes have already been described in
detail.
However, before finding totalSuccessors we need to fill in the allSuccessors
arraylist of all majorsheet courses. To construct the allSuccessors, we pick every
course in the majorsheet one by one and add it to the allSuccessors attribute of its
direct prerequisite courses. Then we go another step further and add the course to
allSuccessors attribute of the prerequisites of those prerequisite courses. We continue
this operation till we have added the course to all its predecessors in the majorsheet.
8. Assigning Courses to Remaining Semesters: When we have all the mentioned courseattributes already available, we are ready to assign courses to each of the remaining
semesters. To do so, for each term, we pick large categories one by one, and we
repeatedly search for the courses with the highest priority from that large category to the
-
8/2/2019 The Academic Advising System
11/31
number of required courses from that large category, and reserve those courses for the
coming term.
9. Average Majorsheet/Semester Course Scores and Maximum Allowed CourseScore for semesters: As we mentioned earlier, besides course priority, we defined
course score (a measure for difficulty of courses) as a criterion for distributing courses in
semesters. Our purpose is to prohibit the system from filling a semester with all difficult
courses, while other semesters contain much simpler courses. To apply this extra criterion
in our algorithm we need the three mentioned extra parameters. We first calculate
Average Majorsheet Course Score which, as its name suggests, is the average of all
majorsheet courses course scores. Then, after the system has assigned courses to a
semester, we calculate the average of the semesters courses course scores. Then, we
compare these two average course scores. If the difference is too large (i.e. Avg. semester
course score is much larger than avg. Majorsheet course score), we need to change
courses assigned to the intended semester to decrease its avg. semester course score to a
satisfactory level. However, to determine the satisfactory level, we need an
administratively assigned parameter to determine what does too large avg. semester
course score means. This extra parameter is called Max. Allowed Course Score. This
factor is calculated by multiplying Avg. Majorsheet Course Score to a static/dynamic
coefficient (determined by university/department authorities) to set a maximum for
allowed Avg. course scores in semesters. If the difference between Semester Avg. course
score and Avg. Majorsheet course score is larger than Max. Allowed Course Score,
then we try to replace the courses with the highest course score with other ones with
lower course scores. For that purpose, we repeatedly perform the following loop of
actions that would ultimately result in our intended goal:
a. We first find the course with the highest course score in the semester as ourcandidate for replacement, and decrease its priority of by 1000. This will give a
chance for the next highest priority course in the majorsheet that has not yet been
scheduled to become more important (have higher priority) than our candidate,
and ultimately replace it in the next steps.
b. Then we remove all planned courses for the intended semester.
-
8/2/2019 The Academic Advising System
12/31
c. Now, we try to reassign courses to our intended semester. If our candidate forreplacement has still higher priority than the next highest priority course, it would
be again scheduled for the next semester. In this case we repeat steps (a) to (c)
until the second highest priority gets replaced with our candidate course.
d. Now again we calculate the difference between avg. semester course score andavg. majorsheet course score, and if the difference was larger than Max. Allowed
course Score, we repeat steps (a) to (c) until the difference becomes in the allowed
range.
Obviously, Max. Allowed Course Score should be assigned high enough that we dont get
trapped in an infinite loop.
Describing a sample case:
To better understand the dynamic of the algorithm described above we present a sample
case of planning a fresh student entering the College of Business Administration, and step by step
provide him a plan for his graduation.
1. First we assume that the student has decided to finish his majorsheet in 8 terms.2. Then we find the average number of credits per semester: 130/8 = 16.253. We consider the following points described above:
a. A fresh student should take lower credits/courses than average. We set it to 12credits/4 courses for first semester and 15 credits/5 courses for the second.
b. Students in the final terms also need to have lower weights because of their highcourse loads.
4. Therefore we set the following model as our guideline (numbers represent credits):
Term One Term
Two
Term 3 Term 4 Term 5 Term 6 Term 7 Term 8
12 15 16 18 18 18 18 15
5. Now we divide the courses into three Large Categories as follows: (These categories can bemodified to improve the performance of the system)
-
8/2/2019 The Academic Advising System
13/31
a. Important courses: Including the following categories:i. Analytical Skills (Cat. 2)
ii. Information Technology (Cat. 7)iii. Business Core Requirements (Cat.iv. Major Requirements (Cat. 10)v. Support of Major Requirements (Cat 11)
b. Semi-Important Courses: Including the following categories:i. Social & Behavioral Studies (Cat. 4)
ii. English Lang. Skills + Communication Skills (Cat. 3)c. Non-Important Courses: Including the following categories:
i. Humanities (Cat. 5)ii. Physical & Bio. Science + Free Electives (Cat. 6)
6. Therefore:a. Important Courses will have 81 credits = 27 coursesb. Semi-Important courses will have 31 credits = 10 coursesc. Non-Important courses will have 18 credits = 6 courses
7. Regarding the number of credits in each Large Category and each semester we will have:a. In terms with 15 credits:
i. From Important courses: (81*15)/130 = 9.3 credits 3 coursesii. From Semi-Important courses: (31*15)/130 = 3.6 credits 1 course
b. In terms with 18 credits we will have:i. From Important courses: (81*18)/130 = 11.2 credits 4 courses
ii. From Semi-Important courses: (31*18)/130 = 4.3 credits 1.5 course8. Then we generated the following table from our findings:
Term 1 Term 2 Term 3 Term 4 Term 5 Term 6 Term 7 Term 8
L-Cat 1 2 3 3 4 4 4 4 3
L-Cat 2 1 1 1 1 2 2 1 1
L-Cat 3 1 1 1 1 0 0 1 1
Table 1The model for taking courses from each Large Category
9. Now we calculate the priorities of all courses in the majorsheet, and then we select for eachterm the courses with the highest priority in each large category.
-
8/2/2019 The Academic Advising System
14/31
10.Now, what the system practically does is that for each semester it sorts the courses accordingto three different parameters:
a. Prerequisite Count: We can only select from courses with 0 prerequisites.b. Large Categoriesc. Priority (descending)
Now we select the sets of courses from each large category and choose the required number
of courses from that category according to the model represented in Table 1.
11.If the average difficulty of the set of courses selected for the next semester exceeds ourmaximum allowed average difficulty, we remove the most difficult course and replace it with
the next top course according to the parameters described in step 10. We continue repeating
this until our average difficulty goes below the maximum allowed.
12.Before moving to the next semester, we first look up for the immediate successors of thecourses scheduled for the current semester and decrement their Prerequisite Count by one.
What we have explained till now was a description about the basic ideas behind the core
processes that make up The Academic Advising System. Like most of the multifunctional IT
systems, there are numerous other processes that need to be implemented to allow the core
process to run seamlessly. These other processes are generally basic input and outputs from the
database that make the system a dynamic interactive tool for both students and university
administration. These processes, according to the type of users who use them, are divided into
Student Processes and Administrative Processes. After logging into the system, the system
allows for different processes for users according to their user type.
Student Processes: Student Processes are processes that a student is allowed in his/her
process of registering courses to perform. Student Processes are the following:
Generate Plan:This is the heart of the system. All what we have already described was
steps of Generate Plan process. In each semester, this is the starting point where a student starts
his/her interaction with the system. As shown in Fig. 1, the student initially selects number of
courses he/she requires to his/her graduation, and then selects Generate Plan button. This
button triggers a function call that performs all what we have described above and provides its
output as a table that is shown in Figure 2.
-
8/2/2019 The Academic Advising System
15/31
Figure 1: Student selects number of remained semesters to graduation
Figure 2: Suggestive Plan to Graduation for the student
-
8/2/2019 The Academic Advising System
16/31
Semester Plan Adjustment/Approval:After the system has generated its
suggestive plan to graduation for the student, the student is allowed to make his/her adjustments
to the plan by hitting the Continue button in Figure 2. The system would take the student to the
following page which shows the coming semester part of the graduation plan with the possibility
to make alterations to the suggested plan (Figure 3).
Figure 3: Editing Next Term's Plan
Figure 4: Selecting an Alternative Course
-
8/2/2019 The Academic Advising System
17/31
As it is apparent from the picture above, the planned courses for the next semester are
ordered according to their priority level, and divided by colors to show their level of importance.
To change a course, the student can select it by hitting the Change button next to it. As shown
in Figure 4, the background of the selected course would become green and a box below our table
would appear. This box provides three methods for selecting an alternative course to replace the
selected course. Two of them are to replace a Free Course (i.e. a course not listed in the
majorsheet, usually from another college or department), and the third is to replace a majorsheet
course with the selected course.
First option is to replace a Free Course by inputting its course number into the blank
box and hit the Add Course button. If that course is a valid course, it would then be replaced
with the selected course. The second option is to select from the list of Free Courses that have
been taken within the last five years by other students. This list provides extra information about
those courses such as RegCount which tells number of students who have taken the course (as
a free course) in the past, and the CourseScore of the course, which is its level of difficulty.
Figure 5: Alternative Majorsheet Courses
-
8/2/2019 The Academic Advising System
18/31
However, the most meaningful choice for replacing a majorsheet course is to replace it
with another majorsheet course. So, the regular choice would be to hit the Select from
Majorsheet button.
By clicking that button, as shown in Figure 5, a new list of courses will open up under our
plan courses. These courses, which are also colored according to their difficulty level, are a list of
courses from the majorsheet that exist in the same large category as the large category of our
selected course. Thats because we need to reserve the balance in number ofregistered courses
from each large category.
Selecting a course from any of the options described above, would replace it with our
selected course, and the plan would again look like Figure 3 (except for the changed course).
When the student has made all his/her changes to the planned courses, he/she would hit the
Approve Plan button shown in Figure 3. Hitting on that button would open up a blank box
(Figure 6) for the student to enter his/her student ID for ensuring that the student willingly has
decided to approve his/her plan. Then the student would hit the Approve button, and his/her
plan would become finalized, i.e. unchangeable anymore (Figure 7).
Figure 6: Approving the Plan for the next semester
-
8/2/2019 The Academic Advising System
19/31
Figure 7: The final Approved plan
Approving the Scheduled Courses:
After all Students have already approved their planned courses for the next semester, this
data would work as the demand function for the department administration to set the courses and
classes according to this exact demand function. After they have setup their schedule for the nextsemester, they would provide a read-only copy of their schedule database table to our system,
according to which our system would assign students to their selected courses. Time conflicts and
class overloads should be managed at this time. Then, the system would allow students for the
last time to see their scheduled courses for the next semester and to make their required
alterations to their schedule (Figure 8).
Figure 8: Making adjustments to the Scheduled courses.
When the student select the Change button of any of the scheduled courses, all alternative
classes and times would appear to the student to choose from (Figure 9).
-
8/2/2019 The Academic Advising System
20/31
Figure 9: Selecting an alternative scheduled cours
This is the final step in the process of registering courses for the students. The last
alterations would be treated as the final schedule for the student for the next semester.
Administration Processes:
Since this is a generic system that can be applied to all colleges and departments of
Kuwait University, it should allow the administration of those departments and colleges to setup
the system according to their policies, and to upload their majorsheets, courses, large categories,
and many other administrative options. All these operations are basically database interactions.
So, the system should provide the departments administration with web interfaces to interact with
the system databases.
Figure 10: General tab
-
8/2/2019 The Academic Advising System
21/31
Most of the functions of the system administrators are concentrated in the General tab
at top of the screen (Figure 10). This tab provides links to all major administrative processes
designed in the system. The following sections describe the General tab options processes.
There are two major processes performed by the university administration, Majorsheet
Management and Student Management. Management here means adding new ones or editing
the specifications of the existing ones. However, before managing the majorsheets or students,
there are general setup processes that need to be performed to prepare the system to accept
majorsheets/students. These initial setup processes are College, Department and Major
Management:
College, Department and Major Management:
These are the basic university level information that needs to be entered by
College/Department authority before entering majorsheet information and accepting new
students. Generally they are all simple data entry and extraction from the database.
Figure 11: Editing University Colleges
-
8/2/2019 The Academic Advising System
22/31
Figure 11 show the setup page for editing a colleges information. At the top there is a list
of all KUs colleges. By clicking on the Edit button next to each of the colleges, the bottom
part shows up and let the administrator to update the colleges information. There is a similar
section to add a new college to the system.
Similarly, the system allows for adding/editing Departments in another system setup page shown
in Figure 12. At the top, you select the college. It automatically opens a table of departments
within that college beneath the colleges list. Clicking on the Edit button for each of the
departments would open another section that allows for editing the departments information in
the system.
Figure 12: Editing College Departments
Each department contains colleges within it. To add/edit those colleges the system
provides a setup page shown in Figure 13. At the top, the administrator selects his intended
college and department to open up its majors in the following section. Then by selecting one of
the Edit buttons, the bottom section opens up to allow the user to edit the selected majors
information.
-
8/2/2019 The Academic Advising System
23/31
Figure 13: Editing Department Majors
Majorsheet Management:
Now that we have done the basic setup of the system and we have the building blocks of a
university, we start our core setup process by managing majorsheets. We discussed in the
Majorsheets and their types section that majorsheets consist of collections of courses called
course categories. These categories themselves are composed of sets of single courses. So to
manage (add/edit) majorsheets, we need to do two preliminary steps. First we need to manage all
courses that will feed course categories, and then we need to manage course categories that, inturn, will feed the majorsheets.
i. Managing Courses:To define a new course in our system, besides its name, ID and number of credits, we need to
identify what college and department the course belongs to, and what are the prerequisite courses
of this course. Figure 14 and Figure 15 show the setup page for managing courses and its
sections. It starts by selecting the college and department that the course belongs to. This opens
up a table of all courses belonging to the selected department. Initially all departments are free
from courses, however by adding courses to the departments, the page would look like Figure 14.
-
8/2/2019 The Academic Advising System
24/31
Figure 14: Managing a Departments Courses
Figure 15: Editing a Course
-
8/2/2019 The Academic Advising System
25/31
Clicking on any of the Edit buttons next to courses, will open up the bottom section,
shown in Figure 15, which allows all courses information to be edited except for its Course
ID, because its the unique identifier of the course in the system, and to change it you need to
delete the course and redefine it from scratch. At the bottom of the page, you need to add/delete
prerequisite courses for the selected course by selecting college and department of the
prerequisite course. So, its better to start by adding courses with no prerequisites.
ii. Managing Course Categories:
After filling departments with all of their courses, its the time to manage course categories.
This is the last system setup stage before managing (adding/editing) majorsheets. As described
above, course categories are building blocks of the majorsheets. So, building a majorsheet means
selecting a set of course categories that have already been added to the system. So, department
authorities need to initially setup a set of course categories that they want to see in their
majorsheets.
Figure 16: College Level Cours Categories
In Majorsheets and their types section, we talked about the two types of majorsheets
defined in our system, General Majorsheets and Department Majorsheets. Since these two
types of majorsheets dont have courses in common, we have divided the course categories and
-
8/2/2019 The Academic Advising System
26/31
their management into College Level Categories and Major Level Categories. In the setup
page for managing (adding/editing) course categories, the administrator first selects one of the
two types of course categories.
Besides College/Department information that is obtained from the previous selections, to
define a new category, we need to set its name and the number of its required and elective credits.
These numbers are among the administrative constraints that together with course categories
compose a majorsheet. However, we already know that each course category is formed of a set
of courses. So, any new category needs to be edited to append its courses.
Figure 17: Department Level Categories
Figure 16 shows the College Level Category type selected, while Figure 17 shows the
Major Level Category type selected. Selecting any one would open up a list of all university
colleges to choose from, but for Major Level Categories to show up, you need to select the
department as well. After choosing the intended college/department, an Add New Category
option plus a set of all previously added course categories for the selected college/department
will show up. College Level categories are course categories that only show up in the General
Majorsheets of colleges, while Department Level categories only show up in the Major
Majorsheets of the departments majors.
Clicking on the Edit button near each of the course categories, would open up a page
shown in Figure 18. The main function of this page is to add/delete courses to/from course
categories. A new course category is empty of courses at the beginning. So, we select courses
from list of all university courses (shown with number 1 in Figure 18) to add to the course
-
8/2/2019 The Academic Advising System
27/31
category. To add the course to the course category, we need to hit the Add button that would
remove the course from list 1 and add it to list 2 (list of all courses in the course category) in
Figure 2. To identify a course as a required course for the majorsheet, we need to select the
Required box. Similarly hitting the Delete button would remove the course from List 2 and
return it to List 1. The flow of courses between two lists is shown with the red arrows.
Figure 18: Editing a Course Category
iii. Managing Majorsheets:
Figure 19: General Majorsheet of Colleg of Business Administration
-
8/2/2019 The Academic Advising System
28/31
As we discussed earlier, we have General and Major Majorsheets, their management is
also divided on that basis. In Majorsheet Management page, we first select the college, and
then we are asked to select between College Level or Departments majorsheets. Figure 19
shows the screen when college level majorsheets are selected. At the top, all college level
majorsheets are shown. By selecting one of them (GeneralMajorsheet1), the following section
appears to show all of its course categories. Clicking on Edit Majorsheet at the bottom of page
would take us to another page shown in Figure 20.
Figure 20
Similar to what we saw for managing course categories, here also we have two lists of
course categories that exchange course categories between them. At the left (list number 1) we
have the list of all course categories in the selected college (mentioned at the top of the table),
and at the right (list number 2) we see the list of all course categories already added from list
number 1. Clicking on Add/Delete button in list 1/list 2 will move the course category between
the two lists.
At the bottom of list number 1, we have a small list of Large Categories. We
discussed earlier that large categories is a higher level categorization of courses into larger
categories. Here, before adding a course category to the majorsheet, we set its large category by
-
8/2/2019 The Academic Advising System
29/31
selecting one of the options in this drop down list. For our test purposes, we defined our large
categories as: Important, SemiImportant, and NonImportant.
At the bottom of the page in Figure 20, we see a button named as Finalized. Clicking on
this button would finalize the editing of the majorsheet and prohibit the user from making further
changes to the majorsheet. This option is added, because the students should only be permitted to
access a majorsheet if it would not change during their studying period.
Managing Students:
Adding/Editing Students, setting a major for a student, Unlocking a student Plan, and
Scheduling all students are processes categorized as Student Management. The first two
processes are absolutely straight forward database interactions. Setting a major for a student will
append the Majors majorsheet courses to the list of students courses to be planned by the
system.
Unlocking a student Plan: When the system initially proposes a set of courses for the
next semester to the student, it then allows the student to make adjustments to the plan. After
finishing the adjustments, the student would approve his/her plan (See Figure 7). The student no
longer can make changes to the plan unless the system administrator unlocks his/her plan using
this option.
Scheduling All Students: When all students have approved their plans for the next
semester (Figure 7), the department authorities will use this data to set a schedule of courses for
the next semester and provides this list, with instructors assigned, to our system. At this state, the
system administrator would enter his/her ID in the Scheduling All Students setup page to
register all students to the available class sections/times (shown in Figure 21).
Figure 21: Scheduling All Students
-
8/2/2019 The Academic Advising System
30/31
Hard coded Assumptions and Constraints:
There are number of hard coded assumptions in the system that need extra care:
1. The number of remaining terms to graduation is currently set manually by the student. Itmay need to be changed to an administratively defined value, set by the system.
2. The system requires all students to set their major prior to the third semester, or otherwiseit does not allow them to register for courses.
3. An average electivecourse is assumed to have Three credits.4. Maximum allowed average of credits for the remaining terms to graduation, is set to 24
credits.
5. At least four courses should be taken in the first semester, and five courses should betaken in the second semester.
6. Maximum allowed average course score per semester (described in step 8) is hardcoded inthe system.
Important Database Tables:
We already discussed in detail about all functionalities of the system. This explanation
has simplified the understanding of the systems database. Knowing the basics of the systems, the
majority of the systems tables should be self explanatory. However, there are some tables and
database Views that may need more explanation:
StudentCourseRecord: This is undoubtedly the most important table in this system. It isthe heart of the system and the majority of the database transactions will occur on this
table, because it stores all the data related to student manipulations with the system.
Immediately after adding a new student to the system, all his/her majorsheet courses
would be added to this table. Later on, every semester all the planned courses for the next
semester would be stored in this table, and all their granted grades also would be saved
subsequently in this table.
StudentCourseHistory: This table contains the historical data of the academic records ofall past students of the College of Business, Kuwait University. We were granted the
access to this data for the testing purposes. It easily can be expanded to include the
-
8/2/2019 The Academic Advising System
31/31
historical data of past academic records of all Kuwait University students. As described
previously, the data from this table is used to assess a rough understanding of the
difficulty of courses. To that purpose the data obtained from this table has been further
manipulated into other tables and database views that follow.
CourseGradeHistory: This is a simplified version of the StudentCourseHistory thatextracts the base character of grades obtained by the students through the last five years.
For example if the grade in one of the data rows is A-, it will save the base of the grade,
letter A, in the GradeChar column. This table is used to find an average grade obtained
in the last five years in any one of courses registered by students of the college of
business. (Note: this table can be altered to a database view)
CourseGradeCount view: This view is constructed using the data stored inCourseGradeHistory table. For each course, it counts number of times students obtained
any one of the A, B, C, D, and F grades. It also shows the difficulty score (Grade Weight)
that we have planned to assign to any one of these grade characters as follows:
Grade
Character
Grade
Weight
A 0.0
B 2.5
C 5.0
D 7.5
F 10.0
CourseScore view: This view shows us the ultimate result intended from obtaining thehistorical academic records of the Business Schools students. For each course in the
CourseGradeHistory view, we sum up GradeWeight GradeCount of all grade
characters, and take their average. This will give us the average grade weight (course
score) of that course.