Course Title: Agent-Oriented Programming and Design

Part A: Course Overview

Course Title: Agent-Oriented Programming and Design

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


140H Computer Science & Information Technology


Sem 2 2006,
Sem 2 2007,
Sem 2 2008,
Sem 2 2009,
Sem 2 2010,
Sem 2 2011,
Sem 2 2012,
Sem 1 2015


City Campus


140H Computer Science & Information Technology


Sem 2 2006,
Sem 2 2007,
Sem 2 2008,
Sem 2 2009,
Sem 2 2010,
Sem 2 2011,
Sem 2 2012,
Sem 1 2015

Course Coordinator: Dr. Sebastian Sardina

Course Coordinator Phone: +61 3 9925 9824

Course Coordinator Email:

Course Coordinator Location: 14.08.7D

Course Coordinator Availability: by appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

You may not enrol in this course unless it is explicitly listed in your enrolment program summary.
Enforced Prerequisite: Advanced Programming OR Programming 1 OR Programming Techniques

Assumed Knowledge: algorithms, programming, basic maths.

Course Description

The course provides a foundation in artificial intelligence techniques for agent-oriented programming and automated planning, two subfields that aim to build Intelligent Systems operating in dynamic environments (e.g., autonomous robots, smart cars, UAVs, and video games characters).

In this course you will learn some of the theories and approaches that are used in intelligent systems to deliberate over a course of actions to take, such as the Belief-Desire-Intention programming paradigm; high-level methodologies for designing agent systems; different planning problems, languages, and algorithms; for motion and general planning. Programming is done using different agent development and automated planning frameworks.

As this is a seminar-style course, which particular approaches and systems will be used will depend on each edition of the course.

Objectives/Learning Outcomes/Capability Development

This course contributes to the following Program Learning Outcomes in BP094 Bachelor of Computer Science and BP096 Bachelor of Software Engineering:

1. Enabling Knowledge
You will gain skills as you apply knowledge effectively in diverse contexts.

2. Critical Analysis
You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:
- Analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems
- Evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.

3. Problem Solving
Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to:
- Design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.

4. Communication:
You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to: interpret abstract theoretical propositions, choose methodologies, justify conclusions and defend professional decisions to both IT and non-IT personnel via technical reports of professional standard and technical presentations.

5. Responsibility:
You will be required to accept responsibility for your own learning and make informed decisions about judging and adopting appropriate behaviour in professional and social situations. This includes accepting the responsibility for independent life-long learning and a high level of accountability. Specifically, you will learn to: effectively apply relevant standards, ethical considerations, and an understanding of legal and privacy issues to designing software applications and IT systems.

6. Research and Scholarship:
You will have technical and communication skills to design, evaluate, implement, analyse and theorise about developments that contribute to professional practice or scholarship, specifically you will have cognitive skills:
- to demonstrate mastery of theoretical knowledge and to reflect critically on theory and professional practice or scholarship
- to plan and execute a substantial research-based project, capstone experience and/or piece of scholarship.

The objective of this course is to develop an understanding of and gain experience with agent oriented and automated planning technology, both on design and development. Upon successful completion of this course you should be able to:

  • CLO 1: understand the agent-programming and/or planning approaches to intelligent decision making, and be able to judge when and how to use AI agent and/or planning technologies;
  • CLO 2: have the basic know-how to design and implement AI agent and/or planning systems;
  • CLO 3: use state of the art intelligent agent development environment and/or planning systems;
  • CLO 4: apply critical analysis and problem solving skills to extend and enhance existing techniques;
  • CLO 5: have ability to seek and read scientific literature in a critical manner;
  • CLO 6: be able to communicate effectively scientific knowledge and cutting-edge techniques, both orally and in writing.


Overview of Learning Activities

This course is delivered on campus and run in a “studio” mode. During the semester, students will work to design and implement agent and planning systems. Students are expected to work both individually and in groups.

The learning activities included in the course are:

  • key agent programming and planning concepts will be explained in lectures, classes or online, where syllabus material will be presented and the subject matter will be illustrated with demonstrations and examples;
  • workshops/tutorials/labs/group discussions (including online forums) focused on projects and problem solving will provide practice in the application of agent programming and automated planning theory and procedures, allow exploration of concepts with teaching staff and other students, and give feedback on your progress and understanding;
  • private study is fundamental to consolidate your understanding of the theory and practice.

Total study hours

A total of 120 hours of study is expected during this course, comprising:

Teacher-directed hours (36 hours): Two hours lectures will take place every week. Lectures will involve delivery of concepts and motivations from teaching staff, students’ presentations, and class discussion.
Student-directed hours (72 hours): Students will be expected to be self-directed, studying independently outside class. Students will be expected to work consistently and independently throughout the semester and keep up with the work.

In these hours students will engage in programming tasks and reading of material (scientific papers and books). The material given (papers or textbook sections) is expected to be read critically before the relevant class so as to participate in meaningful ways. Students will also be expected to work collaborative and in groups in projects and presentations.

Overview of Learning Resources

The course will be supported via a variety of tools available online; some resources can also be obtained from RMIT Library. See the RMIT Library Guide at 

Overview of Assessment

Assignments will contain a mix of conceptual analysis and programming.
The assessment for this course comprises
Note: This course has no hurdle requirements.

Assessment tasks

Assessment Component 1: Assignments
Weighting 25%
This assessment task supports CLOs 2, 3, 4

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

Assessment Component 3: Participation
Weighting 25%
This assessment task supports CLOs 1, 5, 6