An Intelligent Agents and Multi-Agent Systems Course Involving NetLogo

An Intelligent Agents and Multi-Agent Systems Course Involving NetLogo

Ilias Sakellariou (University of Macedonia, Greece), Petros Kefalas (CITY College, Greece) and Ioanna Stamatopoulou (CITY College, Greece)
DOI: 10.4018/978-1-60960-080-8.ch002
OnDemand PDF Download:
No Current Special Offers


In the context of an Agent and Multi-Agent Systems course, exposing students to problems and issues related to agent-based programming allows them to understand at a deeper level the otherwise theoretical aspects involved in the design of a multi-agent system (MAS). Indeed, educators have reported a variety of environments and techniques they use in order to increase active learning. The authors argue that NetLogo presents an excellent platform for the task, since it provides, among other interesting features, a small learning curve and an easy to setup visualization environment. This chapter records their experience in teaching a MAS course, using NetLogo as the vehicle for practical coursework. In addition, two extra NetLogo libraries that were provided to students are described, one for BDI-like agents (Belief-Desire-Intention, i.e. goal-oriented agents) and one for ACL-like (Agent Communication Language) communication, which were specifically developed for allowing students to implement more complex agent societies than the original NetLogo platform allowed.
Chapter Preview


It is only during the last decade that curricula in Computer Science or related disciplines have been enriched with courses on Agents and Multi-Agent Systems (AMAS). However, this is becoming a major trend as the latter is reflected by the fact that the latest version of ACM/IEEE Computing Curricula (Joint ACM/IEEE Task Force on Computing Curricula, 2001) includes AMAS as part of the Intelligent Systems area. Indeed, currently, many departments choose to offer an AMAS as a core or elective module, either at undergraduate and/or postgraduate level. The challenging part of offering an AMAS course is the wide foundations and applicability of the field, which in turn, results to many diverse ways that such a course is designed with respect to learning outcomes, content as well as the context. Some choose to relate the course to Artificial Intelligence while others to mainstream Computer Science; some focus on theory rather than applications. Inherently, this also explains the variety of teaching and assessment methods, practical work set, tools used, etc. when designing the syllabus as well as the wide variety of teaching experiences reported.

Ten years ago, we were faced with the challenge of developing and delivering an AMAS course in the final year of an undergraduate Computer Science programme, named “Intelligent Agents” (IA), a title that indicated our intention of relating AMAS with Artificial Intelligence courses which were taught in previous semesters. The material delivered did not differ much from what someone would expect such a course to include, or what other Universities deliver. However, the students' feedback (“very interesting but too theoretical”) as well as the higher than normal failure rates forced us to rethink the way the course focuses on hand-on practice and how the latter might be assessed. Both these issues necessitated the introduction of an appropriate agent programming platform. In this chapter, we describe our experience with NetLogo (Wilensky, U. 1999) as a tool that facilitates student understanding of the theoretical issues of AMAS, as well as a tool suitable for the students to acquire some hands-on experience and be assessed for their performance. We further support the idea already presented by others (Vidal, Buhler & Goradia, 2004), that NetLogo offers a number of features that make it an excellent platform for teaching AMAS: a simple, expressive programming language with a small learning curve, rapid GUI creation and custom visualisations, easiness of modelling of complex environments and agents with their own state, etc. The lack of some higher level features, such as goal driven behaviour and explicit symbolic message passing was overcame by the introduction of additional libraries that allow to model more complex multi agent societies.

This chapter is the aggregation of previously published work (Sakellariou et al., 2008b, Sakellariou, Kefalas & Stamatopoulou, 2008a) and (Sakellariou, Kefalas & Stamatopoulou, 2009) which deal with matters in more detail. Our aim is to summarise and conclude this work as well as to motivate other educators to consider our approach and tailor these experiences according to their needs. Furthermore, we believe that the chapter will strengthen further the position that NetLogo is indeed an excellent educational tool. Thus, the chapter attempts to provide the context in which NetLogo was used, by presenting learning objectives and outcomes, a description of the IA course, as well as details regarding the NetLogo extensions that we have implemented and finally, a description of an example assignment that demonstrates how the platform allowed us to address some of the most challenging teaching issues that we encountered.

Complete Chapter List

Search this Book: