Overview

ExerTran is web-based courswork system which is designed to be different from most other such systems in that it provides for dynamic variation of questions and question content, whereas most systems have fixed content. It is also not primarily a questionnaire based system, although questionnaires are supported.

ExerTran was designed from the start to provide for numeric style questions found in engineering in science, where students are given some numeric data and have to evaluate this to give one or more numeric results, and for the numbers in these questions to be varied in some random fashion on each attempt at the question. This allows a student to have several attempts at the question, which allows the student to practice the question, so that they get a better understanding of the material being tested. I believe that this is a much better approach than having a single question which can be attempted only once, and is easy to develop, and superior to, than a whole set of different, but fixed, questions on the same topic. This approach has the useful side effect that it can reduce the plagiarism, since there is not one answer, or a small set of answers to be passed around.

The provision of dynamic variation in the questions requires that the web pages containing the questions are generated dynamically as they are accessed by students. This means that static pre-prepared web pages cannot be used. There are a number of systems for providing dynamic content, and ExerTran is based on the Tomcat (part of the Apache Jakarta Project>), which is a Java-based system. The system is a mix of Java classes and JavaServer Pages (JSP). Because the system is built on a programming language, it has been possible to use the randon number generation features of the language to provide the variation in the data in the questions. This feature also allows a broader range of variablity by also allowing the random selection of questions to be answered, e.g. in a questionaire based system, or even to provide the random selection of choices within a question of a questionnaire.

Of course, the potential problem with a programming language based system is the difficulty in generating new questions for those who are not proficient programmers. This has been tackled by providing a means by which the files needed for a new question are generated from a single text file that defines the question. The text file can be produced by any standard editor, and it is intended to develop a web-based system to input the question definition and to automate the generation and installation of the various components derived from the question definition. There is still a small requirement for some programming skill in that there may be a need to specify a Java expression or expressions to define how the answer to the question is derived from the input parameters given in the question, but this should not prove difficult for those developers who require numneric questions.

Because the question page generation and the analysis of the response to questions is done in software, it is possible to develop a wide range of "questions", well beyond the "what is the answer to this" style question. Thus, I have developed 2 software simulators for students learning machine-level computer programming, that run within ExerTran, but provide a wide range of interactions for inputing and running programs. Of course, the development of such systems requires considerable programming skills.

ExerTran has 2 interfaces. One is presented to student users of the system the chapter called Student Interface and shows them the questions to be answered for a particular course or coursework, and the marks that they have obtained so far. The other interface is a management interface, that is restricted to a defined manager or managers of the coursework. This allows for a series of management tasks from adding details of students allowed to access the coursework, collating and outputting marks, to testing the questions.

The management interface to ExerTran is relatively easy to extend with new features and facilities particular for those with good programming skills in Java, and the software manual provides details of the software organisation and operation.

The system has been designed using the MVC model (Model-View-Controller) and the code that produces the web pages are separate from those that generate the data to be presented in the questions. Thus, it should be a relatively straightforward task, given some knowledge of JSP, to redesign the interfaces to ExerTran.

For storing question lists, marks, and passwords, a database is used - the default one is Mysql. ExerTran accesses this in the standard way using IP through an hostname and port number. Besides the database, there is a separate file-based logging system, which allows logging of student interactions and system failures. The logging system provides for a way to recover from any failure to store marks in the database. In my environment, I have noticed several occasions when the database connection has broken and marks have not been stored. The logging system provides a mechanism for recovering from this situation without loss: see the chapter called Recovery when marks fail to be stored in the database.

In order to work with as many browsers as possible and with as many browser configurations as possible, the pages displayed at the client use only basic html tags. No Javascript or other web technology is used, except that "Frames" are used, although most browsers support Frames. The restriction to html and frames restricts some of the operation in particular it is not possible for the system to close windows opened on the browser, so there is some proliferation of frames and hiding of frame when running the management interface, and new page displays can be sent to the "target" frame of a URL, which impacts to a small extent the management interface. None of these problems affects the student interface which is less complex.