INTERNATIONAL JOURNAL OF COMPUTERS COMMUNICATIONS & CONTROL
ISSN 1841-9836, 10(2):200-210, April, 2015.

HAPA: Harvester and Pedagogical Agents
in E-learning Environments

M. Ivanović, D. Mitrović, Z. Budimac, L. Jerinić, C. Bădică

Mirjana Ivanović*, Dejan Mitrović, Zoran Budimac, Ljubomir Jerinić
Department of Mathematics and Informatics
Faculty of Sciences, University of Novi Sad, Serbia
mira@dmi.uns.ac.rs, dejan@dmi.uns.ac.rs, zjb@dmi.uns.ac.rs, jerinic@dmi.uns.ac.rs
*Corresponding author: mira@dmi.uns.ac.rs

Costin Bădică
Computer and Information Technology Department
Faculty of Automatics, Computers and Electronics,
University of Craiova, Romania
cbadica@software.ucv.ro

Abstract: In the field of e-learning and tutoring systems two categories of soft-
ware agents are of the special interest: harvester and pedagogical agents. This paper
proposes a novel e-learning system that successfully combines both of these agent
categories and introduces two distinct sub-types of pedagogical agents helpful and
misleading. Whereas helpful agents provide the correct guidance for the given prob-
lem, misleading agents try to guide the learning process in the wrong direction by
offering false hints and inadequate solutions. The rationale behind this approach is to
motivate students not to trust the agent’s instructions blindly, but to employ critical
thinking. Consequently, students will be put in a "softly stressed" environment in or-
der to prepare them for real working environments in their future work in companies.
Nevertheless students themselves will decide on the correct solution to the problem
in question.
Keywords: E-learning, adaptability, personalization, intelligent agent, harvester
agents, pedagogical agents.

1 Introduction

Software agents (or simply agents), can be defined as autonomous software entities with
various degrees of intelligence, capable of exhibiting both reactive and pro-active behavior in
order to satisfy their design goals. From the point of e-learning and tutoring systems, two types
of agents are of special research interest: harvester and pedagogical. Harvester agents collect
learning material from online, heterogeneous repositories. The core properties of the agent
technology (e.g. parallel and distributed execution, mobility, and inter-agent communication)
can bring significant benefits to the harvesting process [16]. Pedagogical agents can be defined as
"lifelike characters presented on a computer screen that guide users through multimedia learning
environments" [6]. Their main goals are to motivate and guide students through the learning
process [7].

This paper presents a stand-alone e-learning architecture named HArvester and Pedagogical
Agent-based e-learning system (HAPA), and designed to help learners during solving program-
ming tasks. HAPA consists of three main components: Harvester agents, Classifier module,
and Pedagogical agents. The harvester agents collect the appropriate learning material from the
web. Their results are fed into the Classifier module, which performs automatic classification
of individual learning objects. Finally, a pair of specially designed Pedagogical agents - one
helpful and one misleading - is used to interact with students and guide them to comprehend
the learning material. The helpful pedagogical agent provides useful hints for the problem in

Copyright © 2006-2015 by CCC Publications



HAPA: Harvester and Pedagogical Agents
in E-learning Environments 201

question. The misleading pedagogical agent guides the learning process in the wrong direction.
Because the student is never sure with which agent (s)he is interacting, this novel approach
encourages students not to follow the agent’s/tutor’s instructions blindly, but rather to employ
critical thinking. We believe that this "softly stressed" environment could help learners to face
stressful and competitive real working environments.

To the best of our knowledge, none of the existing e-learning systems employs this combina-
tion of pedagogical agents in conjunction with harvester agents for collecting additional learning
material. This is the main idea and contribution behind the work presented in this paper. The
initial ideas of using harvester and two types of pedagogical agents were presented in [8, 9]. This
paper concentrates on improvements and a concrete implementation of initial ideas, with a well-
defined set of functional components. Harvester agents are now defined as web crawlers [11],
specialized for collecting Java source code examples. The new Classifier module has also been
defined, and a set of tools for preparing helpful and misleading hints, and visual representation
of pedagogical agents has been implemented. Early evaluation results are presented as well.

The rest of this paper is organized as follows. Section 2 provides an overview of the existing
work related to the employment of harvester and pedagogical agents. In Section 3, a detailed
insight into the proposed system is presented. Section 4 brings implementation details and early
evaluation results. Overall conclusions are given in Section 5.

2 Related work

There are many interesting approaches to using software agents in e-learning and tutoring
environments. For example, ABITS [2], MathTuthor [3], and Educ-MAS [4] incorporate intelli-
gent agents in order to improve the students’ learning outcomes. However, none of these systems
use harvester and pedagogical agents in the same environment.

It was shown in [17] that inherited properties of the agent technology – parallel and distributed
execution – can be used to optimize the web crawling process of harvesting agents. The same
approach has been taken in HAPA, except that our agents are highly specialized to search for
syntactically correct Java source code examples.

Agent Based Search System (ABSS) relies on harvester agents to improve the quality of search
query results [15]. The system is capable of not only harvesting heterogeneous remote learning
object repositories, but also tracking changes in them. Similarly, AgCAT represents an agent-
based federated catalog of learning objects [1]. The harvesting process is delegated between
two agents - Librarian and InterLibrarian - that, respectively, maintain the local repository of
learning objects, and perform the federated search and retrieval on remote repositories.

Both of these systems use sophisticated harvesting agents to retrieve the best-suited learning
objects. The difference between HAPA and both ABSS and AgCAT is in the approach used to
deliver the harvested content. ABSS and AgCAT are sophisticated search engines; they enable
their users to pull the data using search queries. On the other hand, our system monitors
and evaluates the student’s progress through a course. If a decline in student’s performance is
detected, HAPA can harvest additional appropriate learning material and then push it to the
student.

An interesting analysis of 39 studies related to the effects of pedagogical agents onto the
learning outcome has been presented in [6]. The initial conclusion is that only 5 studies have
detected positive effects of using pedagogical agents. However after a more detailed analysis it
was observed that only 15 of the 39 studies used a control group without an agent, while actual
motivational approaches were implemented in only 4 of these 15 studies.

Our first intention was not to implement visual representations of pedagogical agents in HAPA
environment. However since several studies [5,6] discuss that un-appealing visual representations



202 M. Ivanović, D. Mitrović, Z. Budimac, L. Jerinić, C. Bădică

of an agent can have a negative impact on the student’s willingness to interact with the agent, we
decided to visualize our pedagogical agent(s). We implemented a simple character (see Figure 2)
and let students decide to use it or not during learning and assessment activities. Both versions
of our pedagogical agents are represented with the same visual character.

SmartEgg is a web-based pedagogical agent that assists students in learning SQL [13]. It is
integrated into an intelligent e-learning system SQL-Tutor. The agent includes a visual represen-
tation with animated gestures, and can express different behaviors: introductory, explanatory,
and congratulatory. SmartEgg is relatively simple, and is employed just as a more pleasant way
of presenting the learning material.

As shown, there is a lot of ongoing research related to the usage of harvester and pedagogical
agents in e-learning environments. However, although many existing systems incorporate either
type of agents, there have been no previous attempts to efficiently integrate both harvesting
and motivational-level agents. An additional, and more important contribution of HAPA is the
concept of helpful and misleading pedagogical agents.

3 HAPA System overview

HAPA is currently a stand alone e-learning system which helps students in learning and
especially in solving programming problems. At a later stage HAPA could be included as a
component in other tutoring systems devoted to learning programming languages. Our intention
is to incorporate it in Protus, a tutoring system we designed to help learners in learning essentials
of Java programming language [10, 19].

A high-level overview of the system architecture is outlined in Figure 1. HAPA includes
several important components: harvester agents, the Classifier module, repositories of helpful
and misleading hints, and pedagogical agents. The functioning of each component and their
mutual interactions are described in more details in the following sub-sections.

3.1 Harvesting and classifying the learning material

HAPA is mainly focused on the code completion type of tasks, in which students are expected
to fill-in missing parts of the program. The student is given a code snippet, and then requested
to complete the source code to meet the program specification. Code completion tasks are well-
suited for both testing and improving the student’s programming skills, because they require a
thorough understanding of the underlying programming concepts.

As the initial step of constructing the code completion tasks, the additional learning ma-
terial is collected by the harvester agents. The learning material consists of Java source code
examples. With the abundance of these examples available on the web, harvester agents have
been implemented as web crawlers [11]. The system administrator (e.g. the teacher) specifies
starting web pages. Harvester agents scan these pages in search of syntactically valid Java source
code examples. First, a simple search for some more important Java keywords, such as class,
is performed. A block of text that contains keywords is then processed by a syntax analyzer to
determine whether it is a valid Java program. The text can either be directly embedded in the
web page or attached to the page as an external file (e.g. a ZIP archive).

After it processes the current page, the agent continues the harvesting process on all pages
linked from the current one, and so on. Many agents can be deployed on a computer cluster and
perform the harvesting in parallel. A centralized repository of visited pages is maintained in order
to avoid duplicate work. The harvested learning material is fed into the Classifier module (see
Figure 1), which automatically associates each Java source code example with a concrete lecture
topic. The classification is performed via the static source code analysis. The Classifier module



HAPA: Harvester and Pedagogical Agents
in E-learning Environments 203

Figure 1: A high-level overview of the HAPA system.

constructs an abstract syntax tree for the given Java example, and then inspects programming
constructs that appear in the tree. As a result, each example is assigned to the appropriate
lecture topic. In return, the teacher is able to analyze and focus on examples of a particular
interest, i.e. those that are directly attached to the lecture topic in question.

Currently, the Classifier’s decision on which example belongs to which topic is a suggestion
to the teacher. In the end, the teacher makes the final selection and filter the obtained source
code examples. In order to improve the Classifier’s performance, more intelligent source code
classification techniques will be implemented in the future (e.g. [12]).

Once the harvested learning material has been classified, the teacher can use them select
most appropriate solutions for learning topic and prepare the code completion tasks. This step
is performed manually, using a specially designed GUI tool. The tool enables teacher to quickly
scroll through the classified Java source code examples, select the ones to be actually used, and
process them by removing parts of the code and constructing useful and misleading hints which
will be offered to students. The hints are incorporated in pedagogical agent and used in learning.

3.2 Pedagogical agents

The significant novelty of this work is incorporation in a learning environment two different
types of pedagogical agents – helpful, and misleading. Both agents are hidden from the student
behind the same interface and visual representation (see Figure 2), and take turns in interacting
with the student at random time intervals. Therefore, the student is never sure with which agent
he/she is interacting. The rationale behind this approach is to motivate students not to trust
the agent’s hints blindly. Instead, they should critically analyze the problem and the proposed
hint, and independently decide on the proper solution.

In the scientific literature and the actual software products, it is common to represent ped-
agogical agents as lifelike, animated characters. Although we feel that there is no real value in
this approach we nevertheless decided to implement simple visual Pedagogical HAPA agent and
let students decide if they will activate it or not, using the on/off switch button. But, although
maybe "fun" to look at in the beginning, over the time the visual character stands in the way



204 M. Ivanović, D. Mitrović, Z. Budimac, L. Jerinić, C. Bădică

Figure 2: Visual representation of a Pedagogical HAPA agent.

of solving the assignment. This was somehow confirmed during the experimental phase with
students. They distract the student from concentrating on the problem in question, and in the
extreme case, may negatively affect his/her willingness to use the system.

Both pedagogical agents are capable of adapting to each individual student. Agents track a
set of information about the student, including his/her personal data (such as class and age),
the ratio of correct and incorrect solutions to each code completion problem, and the student’s
grade for each lecture topic. Based on the accumulated data agents can intervene if the student’s
success rate becomes unsatisfactory. For example, if the student gives to many wrong answers to
questions regarding for loops, the pedagogical agent will recommend additional learning material.
Additionally, it will repeat the appropriate code completion tasks until a certain success threshold
is reached.

We believe that if students do not know if agent gives correct or wrong directions and hints,
it will additionally motivate students to critically think and assess their knowledge. Also in
future real working environments they will face different helpful but also malicious colleagues
who will maybe suggest them wrong procedures and steps. So we would like to put students in
unexpected situations and motivate them to reassess their knowledge and skills.

4 HAPA implementation and evaluation

Previously described functionalities of HAPA were used to guide the implementation process.
For example, harvesting is a process that can and should be distributed and executed in parallel.
Then, students should be able to interact with and use HAPA through a web interface. And, like
all web-based systems, HAPA should be resilient to hardware and software failures, malicious
attacks, etc. Given these implementation requirements, and its popularity in developing software
agents and multi-agent systems, Java has been chosen as the implementation platform for HAPA.

4.1 Helpful and misleading hints

In order to provide the reader with a better insight into the evaluation of HAPA, some
examples of the prepared code completion tasks are presented here. The two given tasks are
tailored to topics on for loops and classes in Java, respectively. Helpful and misleading hints
assigned to each task are also presented and discussed.

The task tailored to the topic on for loops in Java requires the student to complete a program
for calculating the first 10 members of the Fibonacci sequence. The skeleton program presented
to students is shown in Listing 1.



HAPA: Harvester and Pedagogical Agents
in E-learning Environments 205

Listing 1: Code completion task related to for loops
c l a s s Fig {

p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
i n t [ ] f = new i n t [ 1 0 ] ;
// TODO : implement t h e f o r l o o p h e r e
p r i n t ( f ) ; } }

Based on this skeleton, the following set of helpful and misleading hints for pedagogical agents
have been prepared [8].

1. for (int i = ?; i < 10; i++){} “What should be the starting index? Remember that the
first element of the Fibonacci sequence has the index 0, while the expression for calculating
other elements is fi = fi−1 + fi−2”

2. for (int i = 0; i ≤ ?; i++){} “What should be the ending index? Although you need 10
numbers, remember that the index of the first element is 0.”

3. for (int i = 0; i < 10; ?){} “Should you use ++i or i++ to modify the value of i?
Remember that this modification is always executed at the end of the for loop.”

4. for (int i = ?; i < 10; i++){} “What should be the starting index? Hint: the first element
of the Fibonacci sequence is often denoted as f0.”

5. for (int i = 0; i ≤ ?; i++){} “What should be the ending index? Hint: look at the
initialization of the array f – how many elements does it have?”

6. for (int i = 0; i < 10; ?){} “Should you use ++i or i++ to modify the value of i?
Remember that ++i first increases the value of i, and then uses the new value.”

By suggesting that f0 is the first element of the Fibonacci sequence in hint 4, the misleading
agent tries to suggest the improper usage of 0 for the initial value of i. In the expression
fi = fi−1 + fi−2, this decision would cause the index to go out of the array bounds. Similarly,
in hint 5, the agent suggests that the student should use 10 as the final value of i (note the
expression i ≤ ? ), disregarding the fact that Java array indexes are 0-based. The final hint 6 is
there to confuse the student, since both ++i and i++ are correct.

Listing 2 shows the skeleton for a more complex task tailored to classes, fields and methods.
The given class represents a rectangle, defined by its upper-left point (x, y), width, and height.
The student’s task is to write a method that calculates the rectangle area. The focus is on the
proper definition of the method’s input parameter and the return value.

Listing 2: Code completion task related to classes.
c l a s s Rect {

p r i v a t e f l o a t x , y , width , h e i g h t ;
p u b l i c Rect ( f l o a t x , f l o a t y , f l o a t width , f l o a t h e i g h t ) {

// t h e p a r a m e t e r s a r e saved i n t o c o r r e s p o n d i n g f i e l d s
}
// TODO : c a l c u l a t e t h e r e c t a n g l e a r e a h e r e

}

For this example the following set of hints are defined. Hints 7 and 8 are used by the helpful,
while hints 9 and 10 are used by the misleading agent.



206 M. Ivanović, D. Mitrović, Z. Budimac, L. Jerinić, C. Bădică

7. “To calculate the area, you need width and height, both of which are available as fields.
Remember that a method can access its object’s fields without limitations.”

8. “While writing the method, remember that somebody needs to use the result; outputting
it on the screen won’t be of much use to anybody!”

9. “To calculate the area, you need both width and height. Make sure your method has access
to these values!”

10. “Remember that long command for outputting values on screen? Here’s a hint: it starts
with ’System’.”

Given misleading hints are based on our long-term experience in conducting exercises for
the introductory Java programming course. It has been observed that initially, a relatively large
portion of students has the problem of grasping the concept of fields, methods, and method argu-
ments. That is, they tend to specify fields as method arguments, rather than to use them directly.
This is what the misleading hint 9 tries to suggest. The given constructor implementation that
receives both width and height also works in favor to this suggestion.

Similarly, when asked to calculate some value (in this case, the rectangle area), beginner
students often tend to just print the value on screen, rather than to return it from the method.
This is what hint 10 tries to lead them to.

After preparing these and many other code completion tasks and hints, the system has been
evaluated in practice. We expected that evaluation results would obtain adequate feedback
necessary to continue our efforts and improve system’s functionalities.

4.2 Evaluation results

Following the implementation of HAPA, an evaluation of the system was conducted during
school year 2013/14. The main goal of the evaluation was to examine the effects of helpful and,
more importantly, misleading pedagogical agents.

Because the current implementation of HAPA is the first prototype of the system, the evalu-
ation was performed on a small group of self-motivated students. 24 second-year students were
selected, on the basis of their previous programming experience, as well as their scores in pre-
vious programming-related course at our Department of mathematics and informatics, Faculty
of Sciences (DMI) and 18 students from Department of information technology at the Higher
School of Professional Business Studies (DMT).

During the semester, from time to time the students were given a number of Java code
completion tasks to solve. Once it presents a task, the system waits for the student’s input for a
certain amount of time. If no input is detected, a pedagogical agent provides a hint for solving
the task. As noted earlier, helpful and misleading agents take turns at random time intervals,
and the student is never sure with which agent he/she is interacting. Moreover, students were
not even aware of the fact that there are two types of pedagogical agents.

Students’ responses and actions were logged by the system. After the testing an analysis of
the log was conducted in order to determine whether the hints have had any influence onto the
students’ though processes. As they used the system partially in blended learning style, for some
lessons to obtain their opinion we did not use classical form of questionnaire. We just interview
them and ask them about their opinion. We expected that in such friendly atmosphere they
would be completely honest. The summary results are presented below.

Students from DMI showed better results and are were more eager in using HAPA system.
Students from DMT made a lot of mistakes and were in majority of cases frustrated by using
the system. More detailed explanations are given in the rest of the section.



HAPA: Harvester and Pedagogical Agents
in E-learning Environments 207

Group DMI_G1 consists of eighteen students from DMI, they have had previous program-
ming experience, have achieved great scores in a previous programming course and were among
the best ones. Group DMI_G2 consists of six other students that have previous programming
experiences but did not pass previous programming course.

12 students from DMI_G1 were very cautious and thought critically most of the time, and
recognized and ignored hints from misleading agent. Other 6 students also employed critical
thinking and in majority of cases recognized misleading hints. But in several cases when they
were no sure about the proper choice they accepted hints form misleading agent.

4 students from DMI_G2 blindly followed all hints and did not think whether they are correct
or not. 2 other students were a little bit confused, they thought that some hints were wrong, but
as they were not absolutely sure about that they decided to follow all hints. This is probably
the result of their inappropriate knowledge.

In the next several cases we will illustrate some specific students’ behaviors. One student
among the best students had no problem in solving the tasks, and, according to his own account,
rarely considered hints. This is because he had already learned Java programming in high-school,
and so could understand and solve the problems without any assistance.

Another student has considered the hints, but was also able to solve majority of the tasks
without any assistance. However, he indicated that hint 7 helped him to solve the problem. He
has also correctly observed that some of the presented hints were wrong.

A more interesting situation was with the two students who had no previous Java program-
ming experience and have low scores on previous programming course. One of them took hint
4 for granted and received the array-index-out-of-bounds exception. On the second attempt, she
was given hint 1 and was able to complete the task successfully. A similar scenario has been
observed with the fourth student. By accepting hint 9, he initially wrote a method that accepts
both width and height as input parameters. Then, after receiving hint 7, he was able to complete
the task successfully.

The system was also tested and used among 18 students of the DMT. Involved students were
programming beginners and they used system after completion of the first programming course.

The results of the experiments showed that the students of DMT had more trust in agents,
and made more mistakes based on the hints of misleading pedagogical agents. Majority of them
(even 13) blindly followed suggestions and believed that hints were well-intentioned. Other were
more or less confused and do not know if can trust or not to obtained hints.

Several interesting conclusions can be drawn from these results. If students are unable to
solve the problem on the first try, they have the tendency to trust the agent’s/tutor’s hints. This
is because they have never encountered a misleading agent/tutor before and do not anticipate
such behavior. The student who had noticed the wrong hint was confused but assumed that
it was an implementation error. For some future work, it could be beneficial if students were
informed that some hints might be intentionally misleading.

Secondly, students who are not confident in their Java skills find the presence of a virtual
agent/tutor “reassuring.” Additionally, the misleading behavior and the attempt of the agent to
“trick them” transform HAPA into a kind of a game with the goal of beating the system. Both of
these effects have a significant positive impact onto the students’ motivation to use the system
and employ critical thinking. These are the exact goals set for our proposed system.

Finally, results suggest that students from DMT were more misled by pedagogical agents
than students from DMI. A reasonable explanation could be that students from DMI are better
(achieved better results in secondary school, passed with high marks first programming course)
and they are generally highly motivated (usually students from DMI are more ambitious about
their future career and jobs) to master their programming knowledge and skills.

Both groups of students have the similar attitude to visual representation of pedagogical



208 M. Ivanović, D. Mitrović, Z. Budimac, L. Jerinić, C. Bădică

agent(s) and their use in the system. As we mentioned, students were allowed to explicitly
(de)activate visual forms of agents. In the beginning of using system it was attractive to them to
see agents and communicate with them so they intensively used them. Lately, especially when
they did not know how to solve task and as they were getting more tired and nervous about
hints, visual agents irritated them and they decided to switch off visual forms of agents.

5 Conclusions and future work

The agent technology has been recognized as a useful tool in a wide variety of domains. For
e-learning and tutoring systems, harvester and pedagogical agents are of the special interest.

The main contribution of this paper is the proposal of a new e-learning system named HAPA
that incorporates both harvester and pedagogical agents. Harvester agents, along with the
Classifier module, are designed to collect the best-suited Java source code examples from the
web, and tailor them to particular lessons within a course.

A more important functionality, however, is achieved by defining two new sub-types of peda-
gogical agents – helpful and misleading. As noted, the helpful pedagogical agent provides correct
suggestions and hints for the problem in question. On the other hand, the misleading agent
tries to guide the problem solving process in a wrong direction, by offering false suggestions
and hints. The main aim for this approach is to motivate students not to follow the agent’s
directions blindly, but instead to analyze both the problem and the suggestions thoroughly and
employ critical thinking. According to our knowledge, none of the existing e-learning systems
use this kind of helpful and misleading pedagogical agents in combination with harvester agents.

HAPA is currently realized as a prototype. Future improvements will be concentrated on
integrating it into our existing, fully-featured web-based e-learning architecture Protus [10, 19],
but it can also be integrated in some other types of available learning systems [14,18]. In order to
achieve adaptability and personalization, Protus incorporates several models, including: Domain
model, which serves as a storage of the learning material, Student model for maintaining both
static and dynamic information about each individual student, Application model, which applies
different strategies on the input received from the learner model in order to ensure efficient
personalization, and the Adaptation model that follows the instructional directions provided
by the application module in order to organize learning resources into a navigational sequence
tailored to the particular learner.

Obviously, modules that comprise HAPA fit nicely into the organizational models of Protus.
Harvester agents, along with the Classifier module, can be used to obtain and generate learning
material for the domain model. The learning material stored in the domain model consists of
individual lessons, which are further decomposed into tutorials, accompanying examples, and
tests. Therefore, harvester agents and the Classifier module can be used to collect examples and
tests. Proposed helpful and misleading pedagogical agents can be integrated into the adaptation
model. This integration will harness the benefits of both architectures. The resulting system
will be capable of providing high-quality tasks and examples, and exhibiting adaptive and per-
sonalized behavior. It will offer motivational pedagogical agents that guide students through the
learning process and encourage critical thinking.

Having in mind that usual way of employing pedagogical agents is to help students to sys-
tematically test their self-confidence and knowledge and somehow keep them less active and
expecting constant positive help we decided to apply the opposite way. We believe that if stu-
dents do not know if agent gives correct or wrong directions and hints, will additionally motivate
students to critically think. Also in future real working environments they will face different
helpful but also malicious colleagues who will maybe suggest them wrong procedures and steps.



HAPA: Harvester and Pedagogical Agents
in E-learning Environments 209

So we would like to put students in unexpected situations and prepare them to face rather stress
and competitive real working environments.

Acknowledgment

This work was partially supported by Ministry of Education, Science and Technological
Development of the Republic of Serbia, through project no. OI174023: "Intelligent techniques
and their integration into wide-spectrum decision support."

Bibliography

[1] Barcelos, C.F., and Gluz, J.C.(2011); An agent-based federated learning object search ser-
vice. Interdisciplinary journal of e-learning and learning objects 7, 37-54.

[2] Capuano, N., Marsella, M., Salemo, S. (2000); ABITS: an agent based intelligent tutoring
system for distance learning. In Proceedings of the International Workshop in adaptative and
intelligent web-based educational systems, 17-28.

[3] Cardoso, J., Guilherme, B., Frigo, L., and Pozzebon, L.B. (2004); MathTutor: a multi-agent
intelligent tutoring system. In First IFIP conference on AIAI , 231-242.

[4] Gago, I.S., Werneck, V. M., and Costa, R. M. (2009); Modeling an educational multi-
agent system in MaSE, In Proceedings of the 5th international conference on active media
technology (AMT’09) , 335-346.

[5] Haake, M., and Gulz, A. (2008); Visual stereotypes and virtual pedagogical agents. Educa-
tional Technology & Society 11, 4: 1-15.

[6] Heidig, S., and Clarebout, G. (2011); Do pedagogial agents make a difference to student
motivation and learning? Educational Research Review 6, 27-54.

[7] Heller, B., and Procter, M. (2010); Animated pedagogical agents and immersive worlds: two
worlds colliding. Emerging Technologies in Distance Education, 301-316.

[8] Ivanović, M., Mitrović, D., Budimac, Z., Vesin, B., and Jerinić, L. (2014); Different roles
of agents in personalized learning environments. In 10th International Conference on Web-
Based Learning (ICWL 2011), LNCS, Springer, 7697: 161-170.

[9] Ivanović, M., Mitrović, D., Budimac, Z., and Vidaković, M. 92001); Metadata harvesting
learning resources – an agent-oriented approach. In Proceedings of the 15th International
Conference on System Theory, Control and Computing (ICSTCC 2011), October 2011, 306-
311.

[10] Klašnja-Milićević, A., Vesin, B., Ivanović, M., and Budimac, Z. (2011); Integration of rec-
ommendations and adaptive hypermedia into Java tutoring system. Computer Science and
Information Systems 8, 1: 211-224.

[11] Kobayashi, M., and Takeda, K. (2000); Information retrieval on the web, ACM Computing
Surveys 32, 2: 144-173.

[12] Linstead, E., Bajracharya, S., Ngo, T., Rigor, P., Lopes, C., and Baldi, P. (2009); Sourcerer:
mining and searching internet-scale software repositories. Data Mining and Knowledge Dis-
covery 18, 2: 300-336.



210 M. Ivanović, D. Mitrović, Z. Budimac, L. Jerinić, C. Bădică

[13] Mitrovic, A., and Suraweera, P. (2000); Evaluating an animated pedagogical agent. In In-
telligent Tutoring Systems, Springer, 73-82.

[14] Ocepek, U., Bosnic, Z., Serbec, I.N., and Rugelj, J. (2013); Exploring the relation between
learning style models and preferred multimedia types. Computers & Education 69 , 343-355.

[15] Orzechowski, T. (2007); The use of multi-agents’ systems in e-learning platforms. In Siberian
conference on control and communications (SIBCON’07), 64-71.

[16] Prieta, F. D.L., and Gil, A.B. (2010); A multi-agent system that searches for learning objects
in heterogeneous repositories. In Trends in Practical Applications of Agents and Multiagent
Systems, Advances in Intelligent and Soft Computing, Springer, 71: 355-362.

[17] Sharma, S., Gupta, J.P.(2010); A novel architecture of agent based crawling for OAI re-
sources. International Journal of Computer Science and Engineering 2, 4: 1190-1195.

[18] Stuikys, V., Burbaite, R., and Damasevicius, R. (2013); Teaching of computer science topics
using meta-programming-based GLOs and LEGO robots. Informatics in Education 12, 1:
125-142.

[19] Vesin, B., Ivanović, M., Klašnja-Milićević, A., and Budimac, Z. (2013); Ontology-based
architecture with recommendation strategy in java tutoring system. Computer Science and
Information Systems 10, 1: 273-261.