2.5 Review Management
Teachers must be able to manage examinations
by manual marking of single exercises as well as
by review of automated results. Since automated
marking may not be trusted in all cases, teachers may
be required to validate automated results and override
them if necessary. To avoid fraudulent attempts,
all result changes have to be logged and be easily
(re)viewable afterwards and may not be undone.
In exam scenarios it should also be possible to let
examinees review their own solutions afterwards and
see a justification of the results, both for educational
and judicial purposes. At last, the result data must
be exportable in different formats to be used as
public notices, certificates and input data for other
assessment management systems, for example those
of examination authorities.
In self-training scenarios result reviews by
students are even more important. If automated
marking systems are used to reduce the need for
manpower, students have to learn just by studying
the results from the marking components. Thus we
require each result to be visible for review and to
be clear enough to be understandable without further
explanation.
3 A SPECIAL USE CASE:
PROGRAMMING EXERCISES
The requirements depicted above exceed by far those
of average existing assessment systems. The reason
is that with the advancing use of assessment systems,
the need increases to cover more types of tasks than
just multiple-choice tasks. For example, in basic
lectures on computer science there is a strong need
for systems able to provide and check programming
exercises. We are using a system for automated
marking of programming exercises since three years
(Striewe et al., 2008). More than 8.500 exams
and an equivalent number of self-training sessions
have been conducted that shaped the profile of an
existing programming course and clearly decreased
failed final examinations according to our statistics.
We will describe this special use case in the following
to justify the requirements.
The user management is related to nearly
all requirements for user managements mentioned
above: The tool is used in a basic studies course
with about 600 students per year conducting each up
to 6 small exams during winter term. Before each
exam, login data is imported from another existing
tool managing registration and room assignment. The
assessment system is responsible to assure student
identity across several imports based on unique
attributes like the matriculation number. During
exams, no external network access is permitted to
protect the exam against network attacks, so that
all data must be completely contained inside the
system. We chose the approach to identify students
and their assigned exams by transaction numbers
(TANs) that are generated before the exams begin.
Since the user data import provides attributes from
the registration tool like time slot and room number,
we can assign exercise variants based on groups. In
self-training exercises, no variants are offered and
no assignments are made. The server used for self-
training has full network access, so students can
use their personal universal accounts. Without this
flexibility in user management, the use of the same
assessment environment both for exams and self-
training would not be possible.
The exercise creation requires three kinds of
resources for programming exercises: First, external
fragments of source code are delivered that must be
filled by the students. Second, graph transformation
rules identifying instances of patterns contained in
the solution are provided as internal fragments.
Third, internal fragments of source code have to be
provided for black-box testing to generate input to
the submitted solutions and compare the output to
the expected values. Thus our system has to handle
fragments of completely different type inside one
exercise. In addition, it is independent from these
types, whether they are used as internal or external
fragments, as there are external code fragments as
well as internal code fragments.
The exercise delivery can happen in two ways.
The simple way is a web interface that allows
to download external fragments as far as they are
provided and upload source files and compiled files
afterwards. This first approach is used without
problems in the self-training scenario, but has proven
to be inconvenient for exam situations. Hence we
built a plug-in for the ECLIPSE IDE (Eclipse, ) which
embraces the platform’s functionality regarding code
editors, project management and compilation in order
to display and upload all parts of the solution
automatically. Nevertheless, the web interface can be
used in exams as well, again stressing the benefits of
our flexibility requirements.
Independent from the interface being used, the
TAN is the only login data that must be supplied
by the student in exam situations. Since the TAN is
printed on a paper sheet handed out to each student,
all necessary data is available to the students without
requiring external knowledge about access data. This
A FLEXIBLE AND MODULAR SOFTWARE ARCHITECTURE FOR COMPUTER AIDED ASSESSMENTS AND
AUTOMATED MARKING
57