Teaching Multi-Agent Systems in the UK and in Latin America

Owen Cliffe, Marina De Vos, Julian Padget
Department of Computer Science, University of Bath, BATH, BA2 7AY, UK
occ@cs.bath.ac.uk, mdv@cs.bath.ac.uk, jap@cs.bath.ac.uk

Edgar Casasola
Escuela de Ciencias de la Computación e Informática Universidad de Costa Rica
casasola@ecci.ucr.ac.cr


Contents

Abstract:

For the last three years, a course on multi-agent systems has been taught at University of Bath and is, in the context of an EU-project, being evolved into a more generic resource for courses in several Latin American countries. In this paper we report on the context of our course, its evolution, the problems of covering the wide range of material, approaches to assessment and student feedback. We are now entering a second phase of course development in the framework of the @LIS-TechNET project, where we are developing e-learning materials for teaching MAS in conjunction with other universities in Latin America and Europe, upon which we include a preliminary report.

1 Introduction

Three years ago, the University of Bath's department of computer science decided to start a new elective unit (note: unit is the term used at Bath for a block of teaching) for final year undergraduate students in computer science. In line with the strategy of having teaching informed by departmental research as much as possible, it was decided that the new unit, named ``E-commerce and Agents'', would teach the students the basics of multi-agent systems (MAS). Two lecturers, working on different areas in MAS (one more theoretical, the other more practical) would jointly teach this new unit, assisted by one postgraduate student in MAS.

In this paper, we report on the evolution of the unit over those three years and how we see it further developing both as a unit taught in Bath but also as part of an international project in which we are currently involved.

Before going deeper into how MAS is taught at Bath, we start (Section 2) with a brief overview of this international project called @LIS-TechNET. We believe this to be important as participation in this project has certainly influenced not only our teaching but also that of the partners in the project. A good example is how our Bath unit is currently used by the Costa Rica partner in their agent course. More details and their experiences can be found in Section 7.

In Section 3, we describe the context in which we teach MAS, then we continue (Section 4) with our view on teaching MAS in this particular context. Before going into the details of the Bath unit we briefly highlight the changes (Section 5) this unit has gone through. In our unit overview (Section 6), we provide a unit description, our lecture plan, and information about directed reading, the lab sessions, the coursework and the exams we set. Reflective commentary on all of this from both us, tutors and the students is also provided. In Section 7 we report on how the Bath course has been successfully adapted by the University of Costa Rica for their Master's program in Computing. We end the paper with a brief summary of the teaching resources available (Sections 8) and some concluding observations both about the course development and its adaptation to a different educational framework (Section 9).

In this paper, whenever there is a need to distinguish between the two Bath lecturers (the British equivalent of the American term professor), we will do so using their initials: MDV and JAP.


2 @LIS-TechNET

The @LIS-TechNET project is part of the European Commission's EuropeAid @lis programme (http://europa.eu.int/comm/europeaid/projects/alis/projects_en.htm). With this programme the European Commission is aiming to reinforce the partnership between the European Union and Latin America in the field of the Information Society. Its objectives are to establish dialogue and cooperation on policy and regulatory frameworks in key areas and to boost interconnections between research networks and communities in both regions.

The @LIS-TechNET project is creating a highly innovative teaching and experimentation environment spanning Europe and Latin America. The project includes members in Chile, Costa Rica, Italy, Mexico, Spain and the UK. The main aims are:

For project details see http://www.alis-technet.org/, while http://alis.cs.bath.ac.uk gives access to all public deliverables.

Last September (2004), the project organised a Latin-American Summer school on MAS in Costa Rica. The whole course, including objectives, lecture notes and extensive practical materials is available online at the above site. The content was largely derived from the teaching material of the partners who already had running MAS courses, including Bath. In return, this Summer course influenced the Bath unit significantly, as we will discuss later. Meanwhile, all the Bath material has been incorporated in the e-learning sites developed and hosted by the Instituto Politécno Nacional (Mexico D.F., Mexico), and by Universidad Tecnológico Metropolitana (UTEM, Santiago, Chile). The Mexican e-learning platform is currently class-tested by the Costa Rican partner. They have started their first multi-agent course in March 2005, with most material supplied by Bath (although some material is translated into Spanish for use in Costa Rica).


3 Context

The ``E-commerce and Agents'' unit taught in Bath is an elective for final year students following a program of study culminating in a Bachelors degree in Computer Science, Computer Software Theory or Computer Information Systems. Students from other departments or faculties may also attend this unit. Over the last three years, we have had an average of 50 students registered for the unit.

The main aims and objectives of this unit, as described in the unit specification (See Figure 1), are to teach the basic principles of agents, agency, institutions and agent software development.

``E-commerce and Agents'' is a single unit worth 6 (ECTS) credits. It consists of 12 two-hour lectures and 10 two-hour lab sessions, the remainder of the time being for coursework and private study. The unit has only summative assessment in the form of coursework and a 2-hour exam. Both components contribute equally to the students' final mark. Traditionally the exam consists of four questions from which answers to three questions count.

The unit prerequisites are quite basic, being our first year Java programming unit. This rather curious state is brought about by there being no undergraduate unit on artificial intelligence. Consequently, we are somewhat constrained about the understanding of knowledge representation and of learning techniques that we may assume. Indeed, any AI techniques required must be taught within the framework of the unit. The situation is scarcely better with respect to logic: students have normally seen first-order predicate logic at the beginning of the second year, but probably nothing since then. Again, an AI unit would significantly help in embedding that knowledge.

There is one final contextual factor that should be made clear before we go into more detail about the unit, namely the ability level of the audience, since this has obviously affected our choices. Bath focusses on engineering, humanities and science subjects with a strong reputation across the whole range of degrees offered. Entry to the undergraduate program in Computer Science is predicated on performance in the school leaving examinations, where we typically require the top grade in Mathematics and a top and a next to top grade in two other subjects. This corresponds approximately to the top 5%-10% of university entrants.


4 Our View on Teaching MAS

Both Bath lecturers have been actively researching in the area of multi-agent systems for some years, but our specialisations are largely complementary. JAP is mainly concerned with institutions, i.e. multi-agent systems where agents engage in different roles and scenarios in which they are governed by norms. MDV, on the other hand, works on modelling knowledge and reasoning skills of single agents in a multi-agent environment. More generally, JAP is more interested in the practical aspects of MAS, while MDV focuses more on the theoretical side.

In terms of teaching MAS, this works out actually very nicely as we believe that a general MAS unit as ours should cover both theory and practice. Having both underpins our view that we should educate university computer science students to become scientists and not just programmers. We believe that over the last three years we have found a good balance between the two that is acceptable to both ourselves and the students attending the unit.

We both are strong believers that languages and tools should not be taught but experienced. For example, during the lectures we only briefly touch on Jade [Bellifemine et al., 1999] and Protégé [protege, WWW], but we provide hands-on exercises during the labs with exercise sheets and/or tutorials. Some of those tutorials were original designed especially for this unit, but are now used by others. A good example is the Jade tutorial written by Owen Cliffe, the teaching assistant on the course (http://www.cs.bath.ac.uk/~occ/agents_ecommerce/jade/). Furthermore, the coursework is currently set-up to cover most of the practical aspects of agency.

Our department's teaching strategy is to educate students to become critical, self-thinking people with respect for research. To achieve this, we set our students assessed directed reading and hold in-class discussions. We also include two lectures that focus on our respective research interests.

As for delivery of lectures, there could not be a better subject. It does not take much imagination to see the lecture room as an institution/multi-agent system with everybody in it as agents playing a certain role. Explaining the features and properties of MAS can then easily be linked to a familiar context which makes it easier for the students to interact or relate to it. The same is true for more theoretical lectures like game theory. To explain for example the concept of common knowledge, one can use rôle play in the muddy children problem (See the lecture slides for logic in multi-agent systems: http://docs.alis-technet.org/alis/wp3/CM30174/Teaching/logic-asp.pdf). The same is true if one wants to explain the prisoner's dilemma. Even some of the more difficult aspects of epistemic and modal logic can be explained using a simple card game.


5 History of the Unit

In the three years that this unit has been taught, it has undergone some major changes. This is only natural - developing a new unit from scratch is not a straightforward task. We initially adopted the strategy of the easiest way forward. For our first year we decided to go for a more or less pre-existing unit and then adapt it in the following years to better suit students needs and our interests. After some research we choose to work with Michael Wooldridge's book ``An Introduction to Multiagent Systems'' [Wooldridge, 2002]. This book provides a nice coverage of the history of MAS and a good blend of theory and the more applied side of MAS. The only two things we needed to do, apart from getting acquainted with material that was not ours, was to write an appropriate coursework specification and to set the exam. Of the two, the exam was the easier to deal with. Since we intended to share the unit equally both in terms of teaching effort and in the division between theory and practice, we agreed that each of us would write two questions on the material we would be responsible for, making sure that all topics were more or less covered. It would then be up to the students to decide which side of MAS they liked or knew best, but they would be required to answer at least one question from each part. We observe that over these three years the majority of students have opted to answer the two more theoretical questions in preference to the more practical, but perhaps more open-ended questions. Specifically they have chosen game-theory and logic questions, where the nature of what is begin tested (the application of a procedure to solve a problem) is more readily predictable and outcomes are rather more black-and-white. In contrast, the more practically-oriented questions (negotiation, institutions, agent-oriented software engineering) have required enumeration of features, descriptions, application of methodologies, evaluations and thus are seen as riskier prospects.

Figure 1: Unit description for Electronic Commerce and Agents
\begin{figure*}\begin{tabular}{\vert lp{0.7\textwidth}\vert}\hline
\multicolumn{...
...cs for multi-agent systems
\end{raggedright} \hline
\end{tabular}\end{figure*}

The coursework during our first year was a different story. After some research, we decided that the Trading Agent Competition (http://www.sics.se/tac/) would be a suitable candidate. It turned out to be very successful. The performance of some of the agents was even (numerically) comparable with the carefully designed agents that entered the real competition. The feedback from students on this coursework has always been very positive. On the day of the marking competition students would come together to follow the competition on-line and comment on the score using the on-line chat facility. As a result of all this positive response, we have retained this coursework ever since. Indeed we are far from alone in finding TAC a good assessment tool - although Peter Stone [Stone, 2004] makes a good case for Robocup - since it is also used at Southampton and Essex amongst others.

Overall, the first year of ``E-commerce and Agents'' was very successful. The students' results were as projected and their comments were generally positive. However, not surprisingly, we felt a desire to personalise it: we had found ourselves disagreeing with some of the material in the slides that accompany the book (and the students appeared to have difficulty coping with the presentation of opposing viewpoints when we criticised slide content) and we wanted to incorporate more material closer to our research areas. Although we appreciate Wooldridge's book and transparencies, we feel that too much time is spent on material that is of largely historical value now--inevitably, this will continue until we see the second edition! So we decided to merge some of his lectures and use the time thus created to examine more current developments in MAS. For example, a lecture on institutions was introduced, the game theory lecture was expanded to cover the game theoretic issues that come with negotiations, and the lecture on logic was completely rewritten to better support our students.

The very positive feedback notwithstanding, we felt that the Trading Agent Competition was not giving students a complete multi-agent experience. For TAC they receive the complete framework in which their agent is going to operate. The only thing they need to do is provide their agent with the appropriate reasoning skills using Java. This gave them no measurable exposure to working with ontologies, communication and an agent development environment. To remedy this, we introduced a second piece of coursework. For this students are requested to implement a supply chain for which they were supplied with some basic components.

The changes we made in the second year and the familiarity with the material enhanced our teaching experience significantly. It allowed us to be more interactive with the students and to focus more on those areas that they perceived as difficult without worrying about whether all examinable material would be covered (in common with many UK universities, we have to set the text of unseen examinations by about half way through the semester). The comments we received from the students on the lectures were very positive, motivating us to continue personalising the unit. The two courseworks, on the other hand, were perceived as being too much work for their weighting in the unit.

Taking all the students' feedback on board we decided that something had to be done about the effort required for the coursework. However, since both courseworks deal with different aspects of agency, we felt that we could neither leave one of the two out nor integrate them into one project. So in order to accommodate the students, we agreed to lower the marking criteria for both courseworks and provide extra assistance in the lab sessions.

The @LIS-TechNET Summer school on Agents was conveniently placed just before the start of the preparations of our third semester of teaching ``E-commerce and Agents''. Although this Summer school was targeted at a post-graduate audience and was mainly designed to bring students up to speed with all the current tools, some valuable (in terms of the Bath unit) course material came out of this event.

Due to this Summer school, we rearranged the order of our lectures. While in the past, ontologies were only dealt with in the second half of the unit--because they were only required for the second coursework--they were moved significantly forward to follow the lecture on reasoning capabilities of single agents. Instead of talking about game theory first, we brought negotiation and auctions forward to allow the theory to be embedded into practice. We also introduced a new lecture on agent oriented software engineering.

Furthermore the lectures on both our research areas (i.e. institutions and logic for MAS) have been further developed.

A detailed description of the third iteration of ``E-commerce and Agents'' is given in the next section.


6 Course Overview


6.1 Unit Description

In Bath, each unit is accompanied by a unit description clearly indicating the aims and the learning objectives of the unit, the key or transferable skills that the unit facilitates and a high-level overview of the unit content. Such an approach to course design and development has become the norm in the UK over the last 10 years, and is now starting to be adopted across Europe, as a result of the Bologna process, through which degree structures are converging on a 3+2 year format for first and second cycle respectively, and the Tuning project (http://tuning.unideusto.org/tuningeu), through which a student-centred, learning-outcome driven approach to unit and programme development is being promulgated (see for example the newly defined programmes in Spain at the Spanish quality assurance and accreditation agency (ANECA), http://www.aneca.es/modal_eval/conver_docs_titulos.html.)

We will use this unit description as a marker throughout this section. In each part we will evaluate the content with respect to this description as a form of quality assurance mechanism.

6.2 Lecture plan

As with just about any aspect of undergraduate curriculum design, an overriding objective is the longevity of the knowledge in the syllabus: principles that can be applied over and over are of much greater long term benefit than technology that is subject to rapid obsolescence. However, as we pointed out earlier, we are somewhat constrained over the depth with which we can treat many aspects due to the lack of any specific pre-requisite units. That does not mean that the unit cannot be taught entirely without reference to earlier material, for example: reasoning draws on basic logic; ontologies on data structures, class hierarchies, software engineering; game theory on discrete mathematics and logic; agent-oriented software engineering on software engineering; and institutions and logics on logic and specification.

The topics we have chosen to cover address what we see as the three core area of agent systems (from a pedagogical point of view):

  1. Agent internals: architecture, knowledge representation, reasoning, decision-making techniques (rule-based systems,
    game theory)

  2. Agent communications: speech acts, performatives, communication languages, ontologies

  3. Agent organizations: negotiation, auctions, contract net, institutions, norms, analysis and design (software engineering)

which are, in turn, emphasized by the courseworks as discussed in the following section.

Figure 2: Lecture plan for 2004-2005
\fbox{\begin{minipage}{\columnwidth-7pt}
Lecture schedule semester 1 (2004):
\pa...
...em Revision (MDV - JAP)
\item Revision (MDV - JAP)\end{enumerate}\end{minipage}}

6.3 Coursework

The details of the two courseworks are given in Appendices A and B. From an academic point of view the two courseworks are pleasantly complementary and taken together cover the core aspects of agent systems:

We have already reported the students' satisfaction with the trading agent competition component--comments like ``it's much harder than any other coursework we've had, but it's also much more exciting''--but they have been considerably less happy with the supply chain problem. The difficulties are two-fold:

(i)
The use of three software systems: Jade for running the agents, Protégé for extending the ontology and the JadeBean generator to convert the ontology from its Protégé representation to Java;
(ii)
Programming agents through the use of Jade behaviours. In fact, a good proportion of students managed to get something working for scenario A (one-shot contract net), however only a very few were able to make any progress on recursive or iterated contract net. A notable number managed to explain convincingly what they wanted to do, but achieving it was more problematic.

Marking the TAC coursework posed some problems: the TAC tournament model used in the annual tournaments (based on a series of knock-out rounds) is designed to create a ranking over the participating agents (focusing on the top-performing agents), without gauging relative levels of agents' performance. Our course required marks to be normalised in range of 1..100, this led us to design a marking system which fulfilled the following requirements:

(i)
Each agent should play approximately the same number of games as every other agent.

(ii)
Each agent should play against every other agent approximately the same number of times.

This first requirement was particularly important as some agents used learning strategies which may have benefited from playing more games than other agents. The latter was added in response to the observation that the utility available to a given agent in a given game can be heavily dependant on the performance of other agents in that game, so agents with over-greedy strategies may radically decrease the total available utility for other agents, and agents who fail to participate--because of software errors or non-functioning strategies--increase the available utility for other agents. By evening out the number of times that a given pair of agents played in the same game we hoped to reduce the effects of this phenomenon.

For assessment, teams were asked to submit packages containing compiled versions of their agents in such a way that those agents could be automatically started and stopped for games they were due to play in by means of a script. During the competition all agents were run on the same server and were started and stopped for each game they participated in, this process differs slightly from the TAC model where agents are expected to remain running continuously throughout each stage of the competition and was instigated largely so that agents which crashed intermittently would not suffer beyond the context of a single game.

In the Bath-only 2004 competition, there were 17 teams1 approximately 250 games were run leading to each agent playing approximately 100 games each, final scores were calculated by eliminating agents' top 5 and bottom 5 scores, in an attempt to limit the effects of highly anomalous games, and then calculating the mean of the remaining scores. Standard deviation was also calculated.

In marking the competition we observed a correlation between an agent's mean score and its standard deviation, with higher scoring agents tending to have lower score variance than lower scoring agents (with a few exceptions for agents which performed consistently badly), in general this was attributable to the better scoring agents employing either less risky general strategies, or incorporating the scope for recovering from situations where plans were no longer satisfiable.

6.4 Directed Reading

The directed reading is not intended to be comprehensive, but rather to fill in where the recommended textbook does not provide coverage or where there has been rapid development. Thus, the material falls into five groups:

6.5 Laboratory Sessions

As we observed in Section 5, the students have indicated that they felt a need for more support in the coursework, especially in respect of the second assignment of the supply chain in Jade. Consequently, we would underline the importance of providing a fixed period of at least two hours per week, with the presence of several demonstrators (in our case, this includes some who had previously graduated, having completed this course) to help with the coursework. A secondary benefit of this timetabled laboratory slot was that we could now schedule practical material (how to set up the TAC, use of Protégé, the excellent OWL tutorial developed by the Co-ode project (http://www.co-ode.org), set up and use of JADE) for demonstration in the laboratory session, rather than spending valuable lecture time on it, as we had been forced to in the past. (While this story may seem surprising to others, teaching facilities at Bath are subject to such demand that timetabling a supervised lab had not previously been feasible and we are also in the bizarre situation of having no department controlled labs for undergraduate computer science.)

6.6 Examination

We mentioned in the introduction that we have chosen to assess this unit with an equally weighted combination of coursework and examination. This reflects our belief in the importance, at least for our course content, of both practical and theoretical aspects of MAS and the need for the students to experience programming agents to be able to appreciate better the differences from non-agent programming. The common examination practice in the UK is for a written, unseen examination, lasting 2-3 hours, depending on the conventions of the university. Elsewhere in Europe, notably Germany and Italy, the convention is for oral examination. Not surprisingly, because there are two staff lecturing the course, we each prepare two questions based on aspects of the material we have each lectured. As the course has developed, the exam content has become less reliant on reproduction of bookwork and while there is still, intentionally, the opportunity to gain some marks in this way (essentially for the weaker students) the emphasis has shifted much more to assessing the application of knowledge. For example, this year, questions covered practical reasoning agents, institutions, agent-oriented software engineering, logic and game theory, as detailed in appendix C.


6.7 Reflection

As described in Section 5, the unit started off based almost exclusively on Mike Wooldridge's book--we occasionally look at [Huhns and Singh, 1998] or [Weiss, 1999] when more advanced or in-depth treatment is wanted . The two influences for changes have been
(i)
the incorporation of an increasing proportion of material reflecting local research interests (institutions and logic)
(ii)
the updating of the unit with more recent material, reflecting the pace of change in agent research.
The challenge as educators in the face of these developments is to ensure that we are teaching ideas, principles and concepts of some lasting value and, as much as possible, avoiding the snare of short-lived technical knowledge. It is almost inevitable that current technology supplies the medium to convey concepts of long-term value, but in this case, we attempt, as far as we can, to make the students aware of the temporary versus the eternal.

Consistent with these influences, the changes we forsee in the next few years demonstrate the rapid rise in the importance of service-oriented computing [Singh and Huhns, 2005] through the medium of web services and the complementary and pervasive role of semantic web technologies. This year already saw the introduction of a significant amount of both lectured and self-taught (laboratory) material on ontologies and ontology engineering. We expect this to expand next year to go into more detail about OWL, OWL-S, description logic and, more fundamentally, knowledge representation and reasoning as a whole. Likewise we expect to introduce new material in 2005-2006 on web services and service discovery, aiming to keep the technological content to a minimum--emphasising, where they exist, genuinely new ideas, but otherwise demonstrating the presentation of old concepts in new guises--while exploring the ways in which these developments enable intelligent and generic distributed software systems. A third direction for development is more detailed discussion of auctions and especially of combinatorial auctions, particularly now that this sub-field is emerging from a period of rapid evolution with many research results, into what may be a period of consolidation [Cramton et al., 2005].

So far our reflections have only addressed lecture content: equally important, perhaps more so, in an educational context is the role of practical exercises. At present, the classic Trading Agent Competition continues to satisfy a range of pedagogical aims, as well as receiving positive feedback from students. There are some practical constraints of using the SICS software as is, particularly, the system for scheduling competitions incorporated into the TAC server did not satisfy our marking requirements (with respect to normalising the number of times each agent played against each other agent in a given competition) and the use of the call-back programming interface in the Java game client rather than messaging, for interaction with the server led to some students having difficulty with the conceptual programming model. Neither of these problems were significant, the former being solved by generating competition games off-line and the latter having the potential to be solved in the future with modifications to the interface API. The supply chain problem (in Jade that is--see Appendices A and B--not the supply chain TAC) has proved more problematic, with many students reporting problems with both learning how to use a new (and relatively large) API and with using the (re-entrant, behaviour-based) programming model of the Jade system itself, this led to a degree of discrimination against students who lacked previous experience of programming either with similarly large APIs, or with re-entrant programming and was certainly at least a major differentiator in assessment, and we are re-thinking (for a second time) how this may be defined to result in a more normal distribution of marks and achievement.

Student response to the unit is currently very positive: they appreciate and enjoy the range of material, so that even if we are forced by the broad nature of the field to cherry-pick topics rather than present a coherent total picture, the method seems practical and acceptable for the students at our institution. The detail picture that emerges from the 2004-2005 cohort's evaluation, where 23 out of 39 students completed the survey, indicates a high degree of satisfaction with the relationship of content to learning outcomes and coverage of same, the currency of the material, the degree of student participation, the variety of teaching methods, the quality of the supporting material and simply how much they had learnt as a result. There was also a notable level of motivation to tackle additional background reading--although we would point out that the first coursework effectively made this essential.

Despite the problems, both practical and intellectual, with the second coursework, the satisfaction is still good in respect of quality and timeliness of coursework feedback. The worst part of the evaluation concerns the timetabling of the coursework, but this is a department issue rather than an individual course issue.

Written qualitative evaluation is relatively rare at Bath because such information is usually communicated by staff and students talking to one another, but that which was received was uniformly positive.


7 The Latin American Experience

In this section we look back at the Summer School in Costa Rica and at the first iteration of a Masters level course in agents at UCR in the Spring of 2005. We start with some reflections on the Summer School and the experience of teaching in a different educational and cultural context. We then look at the semester-long course from the Latin American perspective, and how it was adapted for the UCR Masters course. Further developments of the course are planned for delivery in a number of Mexican and Chilean universities in the coming year.

7.1 Context

7.1.1 The Summer School

Participants at the Summer School were mostly Costa Rican, with a few students from Mexico and from Chile. They came to the course with a good knowledge of Java and computer science in general, typically being fourth year students, or in some cases graduates. The relative strength of their prior education in computer science made building on that, to introduce Jade and ontologies relatively straightforward. Nevertheless feedback from the course, indicated that the lab sessions (a whole afternoon each day) and the graduated exercises were much appreciated. This last point had a particular impact on how it was decided to structure and deliver the UCR Masters course and is discussed further in section 7.3.

7.1.2 The UCR Masters course

For obvious historical reasons, many institutions in Latin America are similar to and influenced by European and particularly by Spanish ones. Consequently, the degree structure and programme design has largely followed the classical (mainland) European conventions, with students typically taking 5 years for a first degree, with a high lecture load--and a high failure rate.

The Computer Science School of the University of Costa Rica has a four year undergraduate program in Computer Science. There is also a Masters Degree in Computing. The undergraduate program has courses on Artificial Intelligence (the fundamental one is required and covers the basics of Artificial Intelligence, while the others are elective and cover special topics such as Neural Networks and Expert Systems). Some related courses focus on the use of Agent Technology for Information Retrieval and Web Retrieval. The first course textbook is the well-known Russell and Norvig [Russell and Norvig, 2003].

The core of the undergraduate level comprises Computer Science courses, as described by the ACM computing curricula body of knowledge, with some third and fourth level courses strongly influenced by Software Engineering. Students receive a solid grounding in software development using at least one Object Oriented Language (C++, Java) and at least one class on Artificial Intelligence. The curriculum is similar to those at the other main institutions in Costa Rica (Instituto Tecnológico de Costa Rica and the Universidad Nacional) whence most of the Masters degree program students come.

7.2 The UCR Agents Course

The elective course on agent technology began in the first semester of 2005 (March 2005) as part of the Master's degree programme in Computing. Two key aspects were important for the implementation of the course: the use of the Aims and Learning Objectives already defined in Bath, and the use of the Wooldridge's book on Agents [Wooldridge, 2002].

The goals of the course are based on the learning objectives for the Bath course:

7.2.1 Course content

The course consists of 60 hours of lectures and class work. Students have one session of four hours (including breaks) per week. Each session comprises lectures, evaluation of laboratory results and group work activities. Students taking this unit are required to have high Java programming skills while a basic knowledge of artificial intelligence is recommended.

At the content level some variation from the Bath course was introduced to take account of the difference in the number of lecture hours and laboratories required at UCR, a different student profile and their background knowledge (more in-depth knowledge of programming and some basic artificial intelligence). Topics covered were: agent architectures, agent platforms (Jade, FIPA-OS, LEAP) standards (FIPA) communication and content languages (FIPA-ACL, KQML), agent-oriented software engineering virtual enterprise formation, institutions and norms, auctions B2C, B2B, case studies of practical applications. Thus we can observe a fairly high overlap with the Bath course, but also the influence of the higher software engineering content in the UCR program leading to a greater emphasis on stadndard, tools and technologies.

7.2.2 Laboratory sessions

The laboratories aim to explore the practical application of recently developed languages, FIPA specifications and software tools. The main goals of the small projects and laboratories are:

7.2.3 Assessment

To establish a level for the quality of the assessment, it is important to mention that all evaluations (short intermediate tests and the final examination) are based on the exam questions set by Bath in recent years. This is one way to reach a proper degree of quality assurance during the process of course adaptation. The main difference was the introduction of some practical projects, but the difference in credits and time assigned to the course explains this extra work.

The grade is based on a mark out of 100, apportioned as follows:

The short projects set this year were:

  1. To create a simple agent and understand the use of agent behaviours, and understand the practical issues related to the agent platform.

  2. At the second homework a simple scenario is presented, and the students are asked to build the ontology to describe the domain concepts, actions and possible predicates agents would need to communicate.

  3. The third homework requires students to create agent communication using the Ontology they created previously.

  4. The fourth homework requires students to create a more complex agent interaction using a higher level protocol.

  5. At this stage the students have to write one agent using a rules engine guided by a simple set of rules.

There is a further grade for the laboratory project which is identified as a separate course, where the students apply the material studied in the lecture-based agents course to solve a small case study selected by the students themselves. The purpose of this course is to reinforce the material from the small projects and foster some integration of learning.


7.3 Reflection

Spring 2005 was the first time an agents course had been offered at UCR and its structure was influenced both by the Bath course and the first-hand experience gained from the @LIS-TechNET Summer School (also held for the first time) in the preceding September. Observing the students at the Summer School, it was apparent that the learning experience was significantly enhanced through designing, validating and programming their own solutions for a given problem. These practical issues are addressed at two levels: the basic understanding and know-how is achieved by the use of small homeworks or projects, while a laboratory session serves to combine ideas and tackle larger problems. For the laboratory work, students work in teams of four, then each teams develops a solution for a given problem and presents it in class to the other teams.

The experience obtained from the first three homeworks was interesting. For example: when the students presented their solution to the second assignment, all five groups presented different solutions, each of which included key elements of the solution that were absent from the others. The students mentioned it was useful to carry out a validation of the robustness of the ontology to support effective agent communication. What students have discovered from experience helps them to understand better the basic principles stated by Van Heijst, Schereiber and Wielinga [Van Heijst et al., 1997] for ontology design, so a link between the theory and practice could be established. All solutions were subsequently revised in the light of comments received in time for the next homework.

The main problems encountered on this the first teaching of the course were simply how to present the new material and in finding the right balance of theory and practice. It was quite expected that more time would need to be spent on reading and class preparation since it was the first time teaching it. Also a common problem of first time round was estimation of the duration of a lectures, because the depth of every subject was not clear a priori, nor how readily the students would grasp the material. One action arising from this is that the order of subjects will be changed next semester to synchronize with the development of a simple MAS using Jade. But to end on a positive note, it was clear that the students enjoyed the class and discussions raised were very productive.


8 Availability of the teaching resources

We have described already how the material developed at Bath has been incorporated into the @LIS-TechNET project and indeed, how our involvement with the project and the preparation of the Summer School has acted as a spur for the development of the Bath course. Consequently, there are now two courses available on the @LIS-TechNET web-site, providing materials for presenters to adapt to their context:

It is hoped to make the Spanish language material available shortly on the @LIS-TechNET web-site.


9 Conclusions

We have outlined the genesis and development of a final year honours course in agents, as taught at the University of Bath, and also how it has been shaped through interaction with partners in Europe and Latin America. Feedback from students and our own critical evaluation suggests that after three years we have reached a fair balance of material and quality of presentation that enables student attainment of learning objectives with an appropriate differentiation of abilities through a range of assessments.

The process of adapting the material first developed in Bath for use in the Latin American context has not been very significant from the point of view of content: similar learning outcomes are achievable thanks to the widespread use and fairly detailed knowledge of object-oriented programming and more specifically of the Java programming language. The main adjustments have been to deal with practical and statutory requirements in different institutions and the language of presentation, but the intellectual content has been largely unchanged.

Acknowledgements

The work reported here is partially supported by the @LIS-TechNET (ref: ALA2002/049-055/2209 http://www.alis-technet.org) project of the @LIS program that is in turn part of the EuropeAid program (http://europa.eu.int/comm/europeaid/). We also particularly wish to acknowledge the assistance from the tutors at Bath (Walter Barbera Medina, Tristan Caulfield, Tom Crick, Owen Cliffe) and the contributors to the Costa Rica course (Walter Barbera Medina, David Cabanillas, Paola Turci, Steve Willmott).

Bibliography

Bellifemine et al., 1999
Bellifemine, F., Poggi, A., and Rimassa, G. (1999).
JADE -- A FIPA-compliant agent framework.
In Proceedings of the 4th International Conference on the Practical Applications of Agents and Multi-Agent Systems (PAAM-99), pages 97-108, London, UK. The Practical Application Company Ltd.

Bigham and Du, 2003
Bigham, J. and Du, L. (2003).
Cooperative negotiation in a multi-agent system for real-time load balancing of a mobile cellular network.
In AAMAS '03: Proceedings of the second international joint conference on Autonomous agents and multiagent systems, pages 568-575. ACM Press.

Cramton et al., 2005
Cramton, P., Shoham, Y., and Steinberg, R., editors (2005).
Combinatorial Auctions.
MIT Press.
Forthcoming.

De Vos and Vermeir, 2004
De Vos, M. and Vermeir, D. (2004).
Extending Answer Sets for Logic Programming Agents.
Annals of Mathematics and Artifical Intelligence, 42(1-3):103-139.
Special Issue on Computational Logic in Multi-Agent Systems.

Goldsmith et al., 1998
Goldsmith, S. Y., Phillips, L. R., and Spires, S. V. (1998).
A Multi-agent System for Coordinating International Shipping.
In Noriega, P. and Sierra, C., editors, Agent Mediated Electronic Commerce, First International Workshop on Agent Mediated Electronic Trading, AMET-98, Minneapolis, MN, USA, May 10th, 1998, Selected Papers, volume 1571 of Lecture Notes in Computer Science, pages 91-104. Springer.
ISBN: 3-540-65955-2.

He and Jennings, 2003
He, M. and Jennings, N. R. (2003).
Southamptontac: An adaptive autonomous trading agent.
ACM Trans. Inter. Tech., 3(3):218-235.

Huhns and Singh, 1998
Huhns, M. N. and Singh, M. P., editors (1998).
Readings in Agents.
Morgan Kaufmann.
ISBN: 1-55860-495-2.

North, 1991
North, D. C. (1991).
Institutions, Institutional Change and Economic Performance.
Cambridge University Press.

Osborne and Rubinstein, 1996
Osborne, M. J. and Rubinstein, A. (1996).
A Course in Game Theory.
The MIT Press, Cambridge, Massachusets, London, Engeland, third edition.

Ostrom, 1990
Ostrom, E. (1990).
Governing the Commons. The Evolutions of Institutions for Collective Action.
Cambridge University Press, Cambridge.

protege, WWW
protege (WWW).
Protégé, an editor for ontologies (software package).
http://protege.stanford.edu/ (April 2002).

Rodríguez et al., 1997
Rodríguez, J.-A., Noriega, P., Sierra, C., and Padget, J. (1997).
FM96.5 A Java-based Electronic Auction House.
In Proceedings of 2nd Conference on Practical Applications of Intelligent Agents and MultiAgent Technology (PAAM'97), pages 207-224, London, UK.
ISBN 0-9525554-6-8.

Russell and Norvig, 2003
Russell, S. and Norvig, P. (2003).
Artificial Intelligence. A Modern Approach.
Prentice Hall.

Singh and Huhns, 2005
Singh, M. P. and Huhns, M. N. (2005).
Service-Oriented Computing: Semantics, Processes, Agents.
John Wiley & Sons.
ISBN 0470091487.

Stone, 2004
Stone, P. (2004).
RoboCup as an introduction to CS research.
In Polani, D., Browning, B., Bonarini, A., and Yoshida, K., editors, RoboCup-2003: Robot Soccer World Cup VII. Springer Verlag, Berlin.

Stone et al., 2001
Stone, P., Littman, M. L., Singh, S., and Kearns, M. (2001).
ATTac-2000: an adaptive autonomous bidding agent.
In Müller, J. P., Andre, E., Sen, S., and Frasson, C., editors, Proceedings of the Fifth International Conference on Autonomous Agents, pages 238-245, Montreal, Canada. ACM Press.

Van Heijst et al., 1997
Van Heijst, G., Schereiber, A., and Wielinga, B. (1997).
Using explicit ontologies in kbs development.
International Journal of Human and Computer Studies, 46(2-3):183-292.

Vázquez-Salceda et al., 2003
Vázquez-Salceda, J., Padget, J., Cortés, U., López-Navidad, A., and Caballero, F. (2003).
Formalizing an electronic institution for the distribution of human tissues.
Artificial Intelligence in Medicine, 27(3):233-258.
ISSN: 0933-3657.

Weiss, 1999
Weiss, G., editor (1999).
Multiagent Systems - A modern approach to distributed artificial intelligence.
MIT Press.
ISBN: 0-262-23203-0.

Wooldridge, 2002
Wooldridge, M. (2002).
An introduction to multiagent systems.
Wiley.
ISBN: 0 47149691X.

Wooldridge et al., 2000
Wooldridge, M., Jennings, N. R., and Kinny, D. (2000).
The gaia methodology for agent-oriented analysis and design.
Autonomous Agents and Multi-Agent Systems, 3(3):285-312.

10 Author Details

10.1 Owen Cliffe

Owen Cliffe is a Ph.D. student in the Department of Computer Science at the University of Bath, his research focuses on the specification, validation and implementation of agent-oriented norm-governed organisations and electronic institutions. He has worked as a teaching assistant on a number of courses including tutoring and assisting in the design of the course described in this article. Before he started his Ph.D. he acquired several years experience in the software engineering industry including running a small software company.

10.2 Marina De Vos

Marina De Vos obtained her Phd. in Science option Computer Science in 2001 from the Vrije Universiteit Brussel (Free University of Brussels), Belgium with highest distinction. In April of that year she joined the computer science department of the University of Bath as a full-time lecturer. Her main research area is Answer Set Programming and its applications. She currently is vice-coordinator of the European working group on answer set programming. She has authored various papers in international reviewed conferences and journals. In 2004 she was moderator at the Clima workshop. In the summer of 2005 she hosted the bi-annual ASP workshop in Bath. She has been and is programme committee member and reviewer for a number of international conferences and journals.

At the moment, when teaching and administration allows, she is working on knowledge representation aspects of agents, planning and verification of multi-agent systems and other applications of answer set programming.

10.3 Julian Padget

Julian Padget received his first degree from The University of Leeds (1981) and his PhD from the University of Bath (1984), where he has spent most of the time since, apart from sabbaticals at INRIA (Rocquencourt) and IIIA-CSIC (Barcelona) and summers at IBM (Yorktown Heights), HP Labs (Palo Alto), the University of Utah and the Rand Corporation (Santa Monica).

Past and latent interests include computer algebra, discrete event simulation and the design and implementation of Lisp systems. Current interests are broadly in (i) agent systems, specifically the specification, validation and generation of virtual institutions from normative descriptions, and (ii) the combination of mathematical knowledge management and semantic web services to ease access to mathematical software for use in e-Science.

He has edited several proceedings and authored over 70 publications in international journals, conferences and workshops.

10.4 Edgar Casasola

Edgar Casasola graduated from the University of Costa Rica (bachelors) and received his Masters degree from the University of Kansas, U.S.A.

He has been teaching at the Computer Science School of the University of Costa Rica for 13 years, current courses being Object Oriented Programming I Object Oriented Programming II Information Retrieval and Advance Programming on Distributed Systems. He has also worked as a private consultant and instructor for software development companies in the area.

His main research interests are in the areas of Information Retrieval and Artificial Intelligence. This interests started while at the University of Kansas where he worked on the development of the Profusion Personal Assistant Agent developed as part of the Profusion Meta Search Engine Project, an agent-based information filtering system. He is currently in charge of work package 4 of the @LIS-TechNET project at the University of Costa Rica in which an Agent Technology Demonstrator for Tourism is being developed. Other current interests include the evaluation of Information Retrieval techniques for WWW knowledge discovery as part at the Cognitive Science Research Project at the Linguistics Research Institute (INIL) at the University of Costa Rica.


A. 2004-2005 TAC coursework

Introduction
The goal of this project is to design and implement the decision-making aspects of an agent able to participate in the International Trading Agent Competition (TAC). The work is to be done in pairs.

Objectives
At the end of this coursework you will be able to

Project
The following subsections provide the project description, functional and non-functional requirements, the guidelines for installing the necessary code to start your project and the requirements for the report to be submitted for assessment.

Background Information
standard description of TAC

Functional Requirements
Design and implement an agent capable of entering the TAC-competition. The basic mechanism are provided by the DummyAgents which you can download from the TAC-website (http://www.sics.se/tac/).

The main TAC-server on agentcities.cs.bath.ac.uk and a number of testing servers will always be available so that you can test your implementation.

Non-functional Requirements
Various stylistic and assessment requirements

The Report
The documentation that accompanies your agent submission should contain:

  • A project description
  • Two (one each) completed personal report forms (a template provided on the CM30174 web site)
  • A detailed description of the bidding strategies you implemented
  • A justification for the decisions made
  • A critical analysis of your implementation
  • Directions for further improvements
  • The source code

Assessment

Conditions
The coursework is to be done in pairs.

Estimated Workload
The coursework will count for 25% of your final mark. The average amount of time each of you are intended to spend on this coursework is 15 hours.

Marking
Thirty percent of your coursework mark is based on your agent's average score following a number of test runs against the other submissions. The other 70 marks come from the assessment of your accompanying documentation.


B. 2004-2005 Jade supply-chain coursework

Introduction
The goal of this course work is to design and implement the agents and the communication language for a supply chain that uses the (recursive) contract net protocol for reaching agreements. The work is to be done individually.

Objectives
At the end of this course work you will be able to

Project
The following subsections provide the project description, functional and non-functional requirements, the guidelines for installing the necessary code to start your project and the requirements for the report to be submitted for assessment.

Background Information

The situation is a trading scenario where you must develop client and supplier agents so that a client may purchase a specified quantity of:

(i)
Nuts
(ii)
Bolts
(iii)
Washers
(iv)
Widgets
(v)
Doobries
from a single supplier.

The Basic System
In the basic system provided, you will receive an oracle agent, a simple client agent that queries the oracle for an order, and a simple supplier agent that queries the oracle for its supply information.

The oracle will supply configurations of Orders and Supplier information such that client requests will be satisfiable approximately 60% of the time.

Functional Requirements
The coursework has two parts:

  1. Using Jade, your task is to:

    (a)
    Extend the basic ontology given for the scenario to include AgentAction concept classes for the message contents of:
    (i)
    The call for proposals
    (ii)
    The proposals from suppliers.
    It is recommended that you use Protégé and the JadeBeanGenerator for this.

    (b)
    Provide a Jade agent implementation for a client and a supplier which instantiates the contract net protocol described above. You may use the built-in contract net behaviour classes provided by Jade for this.

  2. Your second task is to extend the supplier agents to sub-contract requests to other suppliers, in the case that they are unable to satisfy requests.

Non-functional Requirements
Various stylistic and assessment requirements

The Report
The documentation that accompanies your agent submission should contain:

  • A project description
  • A detailed description of the different agents you implemented
  • A justification for the decisions made
  • A critical analysis of your implementation
  • Directions for further improvements
  • The source code

Assessment

Conditions

The coursework is to be done individually.

Estimated Workload

The coursework will count for 25% of your final mark. The average amount of time each of you is intended to spend on this coursework is 15 hours.

Marking

All the marks will be allocated on the basis of the submitted documentation.


C. 2004-2005 Examination

The supporting material for question 4 is omitted since it appears in Appendix B.

  1. (a)
    Explain, using natural language and/or an algorithm, the control loop of a practical reasoning agent.
    (b)
    Describe the three types of commitment an agent can hold.
    (c)
    What does it mean for a plan to be correct?
    (d)
    Consider your agent is in a world formed by a 3-by-3 grid. The world contains a number of lost coins. Your agent is free to move in any direction. The goal of your practical agent is to search for the coins.
    (i)
    Give a description of your initial world.
    (ii)
    Give a description of the goal.
    (iii)
    Give the actions your agent can perform to complete the task of fetching all coins from its world.
    (e)
    Explain Steels' Mars Explorer.

  2. Ontologies are the basis of agent communication while institutional frameworks help simplify interactions and (agent) decision-making.

    (a)
    Develop and justify an ontology for different kinds of learning activities in a university context. Note that the explanation of the concepts you choose to include/exclude is just as important as the ontology. Likewise, the process of development is important: your answer should not just be the final ontology, but also the decisions made on the way.

    (b)
    Develop and justify, with reference to your ontology an institutional model of the seminar. Identify and describe norms, roles, scenes, and conversations (precise formal specifications are not required), using diagrams if you wish, to illustrate your answers.

  3. (a)
    Find the Nash equilibria of the following three games:
    (i)

    \begin{game}{2}{2}
& $\mathit{A}$ & $\mathit{B}$ \\
$\mathit{A}$ &$1,0$ &$0,1$ \\
$\mathit{B}$ &$0,1$ &$1,0$\
\end{game}

    (ii)

    \begin{game}{2}{2}
& $\mathit{A}$ & $\mathit{B}$ \\
$\mathit{A}$ &$6,3$ &$3,4$ \\
$\mathit{B}$ &$5,2$ &$4,3$\
\end{game}

    (iii)

    \begin{game}{2}{2}
& $\mathit{A}$ & $\mathit{B}$ \\
$\mathit{A}$ &$5,3$ &$6,3$ \\
$\mathit{B}$ &$3,5$ &$6,4$\
\end{game}

    (b)
    Remove the strictly dominated strategies from the following strategic game. Show each step. Determine the Nash equilibria.


    \begin{game}{4}{4}
& A & B & D & E\\
A & 3,7 & 1,10 & 2,5 & 6,4\\
B & 5,4 & 3,...
...3 & 3,1\\
D & 6,5 & 9,4 & 8,6 & 10,0\\
E & 4,6 & 2,5 & 6,3 & 5,1\\
\end{game}
    (c)
    Determine the sub-game perfect equilibria for the extensive game depicted below:

    \fbox{\resizebox{0.85\columnwidth}{!}{%
\psset{radius=3pt}
\pstree{\TC* [tnpos=a...
...{%
\TC* [tnpos=r]{2,3,1}\taput{n}
\TC* [tnpos=r]{3,1,5}\taput{o}
}
}
}
}}
}

    (d)
    Give the two modal operators of General Normal Modal Logics and explain their meaning
    (e)
    What is axiom $K$?
    (f)
    How can we go from modal logic to epistemic logic?
    (g)
    Give the definition of an answer set for an logic program.

  4. Gaia is an agent-oriented software engineering methodology.

    (a)
    Describe the characteristics of the applications for which the Gaia methodology is supposedly appropriate.

    (b)
    List the attributes of a role in Gaia

    (c)
    Apply the Gaia methodology to the second piece of coursework. The background information, as supplied in the coursework description, is given on the next page. Not all the information may be relevant to the present question.



Footnotes

... teams1
Registration for the 2004-2005 session settled at 39. Team formation is complicated by the fact that students are permitted to finalize their unit choices two weeks after the semester starts, but by that time they also need to have begun the coursework. In consequence some previously allocated pairs need to be reassigned and occasionally we are forced to have groups of three.


J A Padget 2005-09-05