Automatic exams management with the Common Lisp HTTP
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
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  and its
functionality to generate HTML on the fly. Their basic characteristics
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:
- to serve a Lisp-programming test to a student (a set
of exercises all solvable by means of one function only);
- to run both the student's and the instructor's functions
with a set of pre-defined input data;
- to compare the two programs' output and grade the exam
- to inform both the student (through HTML feedback)
and the instructor (through e-mail) of the exam's result.
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:
- to provide instructors with a simple and easy on-line
interface to create and manage on-line exams, with such features as automatic
grading, book-keeping, and feedback to students;
- to let instructors access their students' scores.
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
- create a new class, by defining -among other things-
the students who will attend the course, and assigning each of them a username
- prepare a new exam for a given course. This opens a form
to enter questions (multiple-choice or subjective) and their correct answers;
- check the exams that are already set. It opens a dynamic
page which displays links towards existing exams' pages (owned by a specific
- check students' grades for a specific course. The instructor
enters a course code and the server fetches her a table with students'
grades and averages, built on the fly.
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.
- 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.
- 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.
- Mallery, J.C. () A
Common Lisp Hypermedia Server, in: Proc. of the 1st International
WWW Conference, Geneva, 1994.
Lisp Hypermedia Server, http://www.ai.mit.edu/projects/iiip/doc/cl-http/home-page.html
(*) The Laboratory
of Artificial Intelligence (http://uscia1.usc.clu.edu/pantonio/labia.html)
at Sacred Heart University is sponsored by the Johnson & Johnson
Family of Companies.