dist(x, y) = 0 ↔ sim(x, y) = 1.
Three CBR systems was studied during the re-
search: TUUURBINE, jColibri and myCBR. TUU-
URBINE
2
is a generic CBR engine for the seman-
tic net able to reason on knowledge stored in RDF
(Resource Description Framework)
3
format (Gaillard
et al., 2014). We used TUUURBINE in our first at-
tempt, but a technical unsolved problem didn’t en-
able its usage
4
. One of the most significant CBR
systems developed is jColibri
5
, presented in (D
´
ıaz-
Agudo et al., 2007) and (Recio-Garc
´
ıa et al., 2013),
a free software with more than 10000 downloads.
jColibri and myCBR are compared in (Atanassov and
Antonov, 2012), where they bring the conclusion that
jColibri is a framework for complex operations, with
multiple data bases, requesting a strongly program-
ming knowledge and time for developing an appli-
cation with it. In light of (Atanassov and Antonov,
2012), myCBR is recommended for non-complex ap-
plications and not recommended for applications with
a great amount of attributes. The experiment in the
present research counts with only five attributes, and,
in face of that, we decided for myCBR. There is a
brief report about its properties and its knowledge
modelling in the subsection 2.1.
2.1 MyCBR 3
MyCBR
6
is a CBR framework developed through a
partnership between DFKI
7
and UWL
8
. MyCBR 3 is
the latest version known, and it comprehends three
knowledge containers: vocabulary, similarity mea-
sures and case base. The adaptation task and its
rules are not available in the last version, although in
(Hundt et al., 2014) is mentioned that a version would
be soon available with those properties.
Developed in Java, myCBR 3 Workbench has a
friendly interface that allows users modelling the
knowledge by a set of attributes and its own set of val-
ues. The cases are sets of allowed attributes, the case
base can be fed by the interface or by the exportation
of .csv files. Vocabulary in myCBR 3 is given by at-
tributes with allowed values by the types: symbols,
boolean, float, integer and string.
Similarity measure functions (SMF) are given
within concepts and attribute values. SMFs can
2
http://tuuurbine.loria.fr/
3
http://www.w3.org/standards/techs/rdf
4
TUUURBINE’s web service didn’t work properly and
we had to interrupt its using.
5
http://gaia.fdi.ucm.es/research/colibri
6
http://mycbr-project.net/
7
http://www.dfki.de/web
8
http://www.uwl.ac.uk/
be edited by advanced similarity mode, table editor
mode and taxonomy editor mode. The advanced sim-
ilarity mode is recommended for values of the types
integer and float. The table editor mode is the de-
fault edition mode, the relations could be settled by
the interval [0,1] where the main diagonal are the sim-
ilarities between the same values sim(x, x) = 1. In the
taxonomy edition mode, settled by the hierarchy, only
the symbol type is allowed.
The retrieve window is composed of a query with
predetermined fields that can be filled in only with the
allowed attribute values. User can also fill in with un-
known (
unknown ) and undefined ( undefined )
values. The result search correspondent elements
with a similarity function and, therefore, among the
cases. The retrieved cases are shown in an ordered
list by similarity rate.
3 THE ROLE OF ERROR
MEDIATION IN TEACHING
AND LEARNING COMPUTER
PROGRAMMING
In this study we consider error an answer that is not in
accord with the expectation for who made the ques-
tion. Kutzke and Direne (Kutzke and Direne, 2015)
bring that, according to the Cultural-Historical Psy-
chology, the relevance of error in the learning and
teaching process merges in given differences between
the development of scientific and spontaneous con-
cepts. According to Kutzke’s and Direne, error has to
be mediated within the scientific concepts, making it
an object of learning task, a part of concept assimi-
lation process. The role of error mediation is an es-
sential problem for the Kutzke research, it presents
a demand for tools that help teachers in the students
errors analysis.
Kutzke and Direne (Kutzke and Direne, 2015)
bring the specificities of computer programming
teaching and learning. Learning computer program-
ming raises that “the student needs to appropriate
himself of signs and specific operations of this area
in a superior way. It is demanded, thus, to form scien-
tific concepts” (Vygotski
˘
ı et al., 2012) apud (Kutzke
and Direne, 2015). It has to be an empirical appre-
hension of reality in computer programming learn-
ing, even the concept assimilation in its finished form,
“the error is certainly part of the process of scien-
tific concept formation (...) and must be mediated”
(Kutzke and Direne, 2015). Thus, the access to error
records is needed and useful, so it is the relation be-
tween the errors. Kutzke and Direne, in terms of that,
An Automatic Method for Structuring and Recommending Exercises - In Light of Case-based Reasoning, Knowledge Representation and
Error Mediation
357