2 ACE
2.1 Background
ACE contains a Web-based graphical environment for
studying and completing the assignments. The visual-
izations are mostly adapted from JFLAP (Cavalcante
et al., 2004), which is a visualization tool for formal
languages and automata theory. JFLAP is based on
earlier work of Susan Rodger.
Automatic assessment has been successfully used
in introductory courses at our university (Malmi et
al., 2003). For example, the Ceilidh system (Ben-
ford et al., 1993) and Scheme-Robo (Saikkonen et al.,
2001) have been used in the programming courses,
the TRAKLA2 system (Korhonen et al., 2003), which
has a graphical interface for doing algorithm sim-
ulation exercises, has been used in the Data Struc-
tures and Algorithms course, and the Stratum frame-
work (Janhunen et al., 2004) has been used in several
courses in our university. Automatic assessment has
proved to be effective in these cases and the student
response has also been generally positive.
There are a number of tools visualizing at least
some parts of a compiler (Boroni et al., 2001; Cav-
alcante et al., 2004; Tscherter et al., 2002; Resler
and Deaver, 1998; Khuri and Sugano, 1998; Ker-
ren, 1999; Vegdahl, 2001). Several visualizations
of finite automata and parsers have been developed.
Some of these visualization tools, like JFLAP (Cav-
alcante et al., 2004) and Exorciser (Tscherter et al.,
2002), have taken a step towards automatic assess-
ment. They allow students to try building their own
solutions. When the student is ready, the tool will
assess the solution and tell the student if it is right.
These tools also allow the student to take a look at
the model answer. However, these tools do not fully
cover the assignments we have used and they are in-
tended for self study so that they do not keep track
of students’ points and solutions. Solution building
and verifying the solution are fully separated in ACE.
This makes it possible to embed ACE in a framework
supporting automatic assessment and grading.
2.2 Overview of the Assignments
The assignments of our undergraduate course have
been organized into three rounds. In our former grad-
uate course, they were the first three rounds out of six.
They deal with finite state automata (FSAs), LL pars-
ing, and LR parsing, respectively. The FSA round has
four assignments and the other rounds have five as-
signments.
In the first assignment of the FSA round the stu-
dent is given a regular expression and the task is to
form a nondeterministic finite state automaton (NFA)
using Thompson’s construction. Then in the second
assignment the constructed NFA is simulated with a
given input. In the third assignment the NFA is con-
verted to a deterministic finite state automaton (DFA)
and this DFA is then simulated in the last assignment
of this round.
The second round deals with LL parsing. First
the student should remove left recursion from a given
grammar. In the second assignment this grammar is
left factored. Then in the third assignment the First
and Follow sets needed in the LL parse table con-
struction are calculated. The parse table is filled and
in the last assignment the constructed parser is simu-
lated with a given input.
In the third round an LR parser is constructed. In
the first assignment the student forms the LR(0) item
sets of a given grammar and figures out the transi-
tions between them. Then in the second assignment
the First and Follow sets are calculated. Based on
these sets also the LR parse table is constructed. The
grammar used in this assignment is ambiguous so the
parse table now contains ambiguity. In the fourth as-
signment of this round the ambiguity is removedfrom
the parse table so that given precedence and associa-
tivity constraints are satisfied. In the last assignment
the constructed parser is simulated with a given input.
Some of these assignments are clearly algorithm
simulation exercises. The simulation of an FSA or
a parser clearly falls into this category. The solution
to this kind of assignment is an ordered list of steps.
Some of the other assignments include simulation of
an algorithm but the algorithm is more loosely de-
fined. For example, the Thompson’s construction al-
gorithm does not define a total order for the construc-
tion of the automaton parts. Thus it only defines a
partial order for the steps that are needed to construct
the whole automaton. Of course a total order may be
enforced in such an algorithm but this would unneces-
sarily complicate the assignment. Some of the assign-
ments are even more loosely defined like the removal
of left recursion from a grammar. In this case some
transformation rules are presented in the study mate-
rial but the use of exactly these rules is not enforced.
These assignments are conceptual in nature. They test
the student’s understanding of the concept rather than
knowledge of a specific algorithm.
We have ten assignment sets for the first round and
nine assignment sets for the last two rounds. Assign-
ments for each student are chosen randomly among
those sets. Moreover we allow permuting and replac-
ing of local strings and names in the assignments in
CSEDU 2009 - International Conference on Computer Supported Education
244