Part A: Course Overview

Course Title: Agent-Oriented Programming and Design

Credit Points: 12.00


Course Coordinator: Dhirendra Singh

Course Coordinator Phone: N/A

Course Coordinator Email: dhirendra.singh@rmit.edu.au

Course Coordinator Location: 14.08.7B

Course Coordinator Availability: By appointment, by email


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Pre-Requisite Courses
Successful completion of the following course/s:

  • COSC3119 Algorithms and Analysis (Course ID: 056579) or
  • COSC1285/2203 Algorithms and Analysis (Course ID: 004302).

Note: it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.

For information go to RMIT Course Requisites webpage.

If you have completed prior studies at RMIT or another institution that developed the skills and knowledge covered in the above course/s you may be eligible to apply for credit transfer. Alternatively, if you have prior relevant work experience that developed the skills and knowledge covered in the above course/s you may be eligible for recognition of prior learning.

Please follow the link for further information on how to apply for credit for prior study or experience.


Course Description

The course provides a foundation in agent-based modelling and simulation techniques for understanding complex systems. Agent-based models (ABMs) work by representing the entities (agents) of a system and their interactions from which system-level phenomena emerge. Examples of emergent phenomena that can be represented with ABMs include flocking in birds, traffic congestion on roads, and spread of infection in a population. The objective of this course is to develop an understanding of and gain experience with agent-based modelling and simulation concepts and technology.

In this course you will learn how to design, implement, use, analyse, and critique agent-based models of complex systems. You will construct “what-if” scenarios, and implement “policy interventions”, to examine how exogenous changes can perturb the system, and use critical analysis to determine likely impacts of proposed changes.

This is a studio-style course, with a strong emphasis on learning by doing.


Objectives/Learning Outcomes/Capability Development

For more information on the program learning outcomes for your program, please see the program guide.


 Upon successful completion of this course, you will be able to:

  1. Demonstrate an understanding of agent-based modelling and simulation concepts, and be able to apply these concepts for modelling different kinds of complex systems;
  2. Design, implement, calibrate, and validate, agent-based models, as well as interpret and summarise their outputs;
  3. Use state of the art development environments to build agent-based models for practical use;
  4. Apply critical analysis and problem-solving skills to extend and enhance existing techniques;
  5. Develop skills for further self-directed learning in the general context of agent-based modelling and simulation;
  6. Communicate scientific knowledge effectively, in both oral and written form.


Overview of Learning Activities

This course will be delivered in “studio” mode with no formal lectures.

Each week, prior to class, you will undertake preparatory work which will include reading recommended text, watching recommended videos, and completing homework tasks. Then during class this material will be reinforced in an interactive session through discussions, presentations, quizzes, and practical hands-on application. 

Throughout the semester, you will work both individually and in teams on designing and implementing agent-based models of complex systems.

Group discussions (including in online forums) focused on projects and problem solving will provide practice in the application of agent-based modelling concepts, allow exploration of concepts with teaching staff and other students, and give opportunities for receiving feedback on your progress and understanding.

Student-directed study will be fundamental in this course for consolidating your understanding of the theory and practice. You will also be expected to work collaboratively in teams for projects and presentations. You are encouraged to be proactive and self-directed in your learning, asking questions of your lecturer and/or peers and seeking out information as required, especially from the numerous sources available through the RMIT library, and through links and material specific to this course that is available through myRMIT Studies Course.


Overview of Learning Resources

RMIT will provide you with resources and tools for learning in this course through myRMIT Studies Course.

There are services available to support your learning through the University Library. The Library provides guides on academic referencing and subject specialist help as well as a range of study support services. For further information, please visit the Library page on the RMIT University website and the myRMIT student portal.


Overview of Assessment

This course has no hurdle requirements.

The assessment for this course comprises:

Assessment Component 1: Assignment
Weighting 30%
This assessment task supports CLOs: 1, 2, 3, 4.

Assessment Component 2: Project
Weighting 50%
This assessment task supports CLOs: 2, 3, 4, 5, 6.

Assessment Component 3: Quizzes
Weighting 20% 
This assessment task supports CLOs: 1, 5, 6.

Please note that postgraduate students are expected to demonstrate deeper knowledge and a higher level of application of knowledge and skills than undergraduate students. Assessment tasks set for postgraduate students will be different and more challenging than for undergraduate students.