The Academic Advising System

download The Academic Advising System

of 31

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.