Automatic exams management with the Common Lisp HTTP Server

Antonio Vantaggiato

Laboratory of Artificial Intelligence*,
Sacred Heart University, PO Box 12383 San Juan, Puerto Rico 00914

This paper describes two experiments in automatic testing and grading, using the World Wide Web as a common and ubiquitous interface. Two systems were built using the Common Lisp HTTP Server from MIT and its functionality to generate HTML on the fly: The first one deals with the development of on-line Lisp programming tests. Student programs are evaluated, their output is compared with the instructor's, and they are graded accordingly. The second system goes beyond the former idea and is able to help instructors with the creation of multiple on-line exams and their automatic management, including immediate feedback to students and score record-keeping.

Applications in education and training; Server technology; Common Lisp

1. Introduction

In this paper two systems will be presented that aim to enhance pedagogical experiences with Web-based tools by assisting faculty in the management of on-line exams and the book-keeping of students' evaluations, activities full of promise in both distance and traditional courses. More generally, this work's broader goal was the design of an instructors' framework for course development over the Web that would use on-line facilities to produce on-line material [1,2]. Both systems were built using the Common Lisp HTTP Server from MIT [3] and its functionality to generate HTML on the fly. Their basic characteristics are:

  • They are both server-based. It appears critical that an exam administrator does not reside on the client, Also, they both maintain a global status (as a list of objects) which is saved on the server.
  • Each connection to the exam server (from a student's client) opens a thread, so the system can keep track of each student's separate exam session. On each form through which a student submits his answers there is also a hidden field to carry local status information used by CL-HTTP to avoid collisions among threads.
  • A student's or instructor's status is kept by parameter passing protocols and by lambda (anonymous) functions, so no cookies are used (but could be). Student and instructor data are retrieved from persistent objects after authentication.
  • Both systems were developed using the CL-HTTP Server software, a full-fledged http server implemented and immersed in Common Lisp and Common Lisp Object Server (CLOS). CL-HTTP offers great extensibility and flexibility by means of object-oriented programming in Lisp, and it contains a set of language extensions useful to generate HTML code: It may so be used as both a development system and a server system.

    2. Automatic exam management

    The Lisp exam server was the first system to be developed, so it is much simpler than the second, its only goals being:

    The second system, the on-line Exam Creation & Management System, expands the idea of creating on-line exams further, and will be eventually integrated with the former one. Its main goals are:

    The former goals are part of a more comprehensive objective: To provide instructors with an on-line framework to help them build and manage course material based on the Web.

    The On-line Exam Creation & Management System starts with a Control Page that is personal to each registered instructor. In it, all courses that have been set up by the instructor are shown, together with every exam that he created and made available on-line. This is achieved by retrieving the system's global status, which is a list of all active courses. Each course in the list is a composite CLOS object. Also, some choices are displayed by means of hyperlinks, through which an instructor may:

    The system's architecture is based on the concept of computed URLs. These represent pages that are computed on the fly (and that depend on user input and global status), and that are exported (i.e., the server is made aware of them) with CL-HTTP's method export-url. These URLs have each two functions: a form function to generate the form associated with the page, and a response function that processes the form's results. The system allows an instructor to create an on-line exam, which is then administered by a separate module that retrieves the questions related to it, prepares an exam HTML page, and fetches it to the student's client when requested. Immediate feedback is given to the student (by means of a reply page with his results), and to the instructor (with an e-mail message). Also, the student object is updated with the new grade and saved.


    1. Gibson, E.J., Brewer, P.W., Dholakia, A., Vouk, M.A., and Bitzer, D.L. (A Comparative Analysis of Web-based testing and evaluation systems) in: Poster Proc. of the 4th International WWW Conference, Boston, 1995.
    2. Goldberg, M.W., Salari, S. and Swoboda P. () World Wide Web — Course tool: An environment for building WWW-based courses, in: Proc. of the 5th International WWW Conference, Paris, 1996; Computer Networks and ISDN Systems, 28, 1996.
    3. Mallery, J.C. () A Common Lisp Hypermedia Server, in: Proc. of the 1st International WWW Conference, Geneva, 1994.

    NOTE: Common Lisp Hypermedia Server,

    (*) The Laboratory of Artificial Intelligence ( at Sacred Heart University is sponsored by the Johnson & Johnson Family of Companies.