, proposal 34
Create and evaluate multiple choice exams
In 2003 we started a cooperative undertaking to stick the fragments together in some kind of web-based framework to gain some kind of synergy effect from the tools already developed. Although it now may appear as a complex conglomeration of speghetti code, it serves well its purpose supporting tutors, students, professors and administrative staff in coping with the ever increasing workload.
The focal point of all applications is the relational database. Recently we switched from MySQL to PostgreSQL in order to exchange the performance advantage (that we do not need) for the benefit of more functionality regarding views, constraints and more complex SQL queries. You can imagine that the schema for one relational database that serves all tasks might be quite complex:
[D]
The major problem which currently emerges is, that the code of each author has a reusability of zero and the different parts split functionality in a total manner. Due to a lack of common interfaces or standards, the parts can not even be linked in order to interchange functionality. At a stretch we would consider this dangerous, because the system has become really complex.
In fact, I myself can claim the authorship of one entire module, the formatting module of multiple-choice exam sheets ELVIS::XGEN. The first version (1.0b) of the system itself was developed in two days!
[D]
It provides an very simple interface (screenshot) to design the exam sheets. It is not en editor and is not linked to the other module which allow the editing of multiple choice problems (questions).
The design of the exam documents was carried out assiduously, tested and evaluated. I owe my thanks to all the psychology students of who took part in sample exams and discussions!
One Exam consists of three Parts (Examples in German):
The motivation of writing a new version of XGEN as a complete independent web application may by now have become obvious given the technical details of Version 1 and its tight coupling with the rather complex ELVIS php-script package. In order to be independent in terms of functionality, database schema, and code reuse, the functionality of creating exams will is outsourced of the ELVIS complex by this new version, whereas import functions provide the connection to the ELVIS database.
[D]