• Ingen resultater fundet

Test

In document A STUDY PLANNING SYSTEM (Sider 145-148)

study plan. By using an additional hashtable for storing the courses which have already been scheduled the search time may be reduced to approximatelyO(1) in most cases4 The improvement in search time is significant even when taking the extra overhead of maintaining the redundant data into consideration.

For further optimization the prerequisite course chains for all courses could be generated and stored in the database for easy retrieval. Furthermore, the contents of the individual course part objects which are generated on the fly could be stored in aCourseParttable containing:

• Course ID

The basic implementation of the 3-tier architecture implies that when retrieving data from a database table, all fields are retrieved regardless of whether only a single field is needed. If it appears that in for example 50% of the cases only two fields are needed, a newRETRIEVE operation dedicated to fetching only these two fields could improve performance. Special join modules which retrieve data from a join of multiple tables could also improve performance by eliminating the need for some loops of RETRIEVEoperations.

10.3 Test

In the following subsections the test of the study planning system is discussed. First the correctness of the study plans generated by the study plan elaborator is discussed in section 10.3.1. Subsequently, it is discussed whether the elaborated study plans are appropriate for the students (section 10.3.2).

10.3.1 Correctness

The implementation of the study plan elaborator ensures that the generated study plans are correct. Being correct means that the resulting study plan does not violate the requirements specified in the corresponding study plan criterion and other constraints imposed by the university&c.

The integration test described in section 9.3 performed on a selection of different study plan criteria has shown that the resulting study plans are indeed correct. If a student has specified conflicting requirements in the study plan criterion he might not get the desired result, however, the study plan is still correct because the most restrictive of the conflicting requirements is used.

1) Select course 12345 which is taught in module 3A.

2) Deselect module 3A in all periods.

4http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcollectionshashtableclasscontainstopic.asp

If a student specifies the two above-mentioned requirements in a study plan criterion it may clearly be seen that the requirements are conflicting. However, since requirement 2) is the more restrictive the elaborator uses requirement 2) and thus requirement 1) cannot be satisfied in the resulting study plan.

10.3.2 Expediency

Even if a study plan satisfies all the requirements in the corresponding study plan criterion i.e. it is a correct study plan, it is not necessarily an expedient study plan for the student.

The priorities of courses (table 6.1) encourage scheduling of mandatory and fundamental courses at the beginning of the course of study. A study plan may thus contain one or more periods where exclusively fundamental courses have been scheduled. This may be perfectly correct, however, most students will not find such a study plan very appropriate due to the nature of these courses. Fundamental courses are often labour-intensive, they contain difficult material and hence the worst case scenario of scheduling for example five such courses in the same period would be overwhelming to the student.

Tests have shown that in practice, however, the study plan elaborator rarely schedules more than one or two fundamental courses in the same period unless a student has passed the middle of his study and has not yet taken any fundamental courses.

Section 11.1 describes some suggestions of how the system could be extended to allow the students to customize the priority of courses or to specify a maximum number of courses from each category of the priority table (table 6.1) which may be scheduled in one period.

123

Chapter 11

Future Work

In this chapter we present suggestions to future work to be done in continuation of this project.

11.1 More Individualized Configuration

Presently the system makes a number of predefined choices when elaborating a study plan for a given study plan criterion. Among these are the priority in which courses are selected in each period, when to check constraints and which alternatives to use when multiple choices are available.

Courses are selected according to the priorities listed in table 6.1 which aims at finishing the technical package and the fundamental courses as soon as possible whereas course matching keywords selected by the student have the lowest priority of all. However, some students might want a different priority which could be accomplished by introducing the possibility of customizing the priority rules.

Currently, some constraints such as deselected lecturers and preferred languages are not checked for mandatory courses in the technical package as well as fundamental courses. This setting has been selected because these courses must inevitably be finished if the student wants to obtain his degree. There is a time limit on the technical package which must be finished within four years after enrollment, however, if the student follows the recommended schedule the technical package will be finished after only two years and thus some students may want to exploit the given time limit a little more. Fundamental courses have no time limit except the student will not receive his degree until the fundamental courses have been passed. Being able to enable/disable checking of the various constraints for each group of courses might help the students to produce a more suitable study plan.

For many students fundamental courses are a necessary evil and are generally not regarded as particularly interesting. Some students want to finish the fundamental courses as soon as possible to get it over and done with. Others prefer taking one fundamental course every once in a while along with some other courses which match their interests. As the fundamental courses have a high priority in the elaboration of a study plan (confer table 6.1) chances are that several fundamental courses are scheduled in the same period which may not suit all

students. Therefore, as part of future work an option could be introduced as to how many fundamental courses may be scheduled in one period.

At present the elaboration of a study plan ensures that the mandatory courses in the tech-nical package have been passed before any of the courses from a selected techtech-nical line are scheduled. Nonetheless, some students probably want to be able to bypass this restriction, so as a part of some future work this setting could be made user-customizable.

In document A STUDY PLANNING SYSTEM (Sider 145-148)