CITS3001 Algorithms, Agents and Artificial Intelligence


Welcome to the website for CITS3001 Algorithms, Agents, and Artificial Intelligence. This unit covers a lot, but it is essentially about how we can build software to solve complex problems independent of their domain. We begin by looking at the ubiquituous search and optimisation algorithms that can be applied in many domains, and can solve many problems. We then look at algorithms for game playing and decision making agents, that given a suitable representation of a problem, can discover an optimal strategy for that problem. Next we will investigate learning agents, that given incomplete information about a domain, can learn a model of the domain, and adapt a strategy to perform optimally for a learnt model. Finally, we will examine reasoning agents, that given rules and relationships that are true in a domain, can modle the consequence of actions to formulate complex plans to achieve a goal.

These different approaches a key technologies required to develop software that is robust in the presence of uncertainty, can adapt to changing environments, and can operate autonomously. We will take a practical approach, with students required to reproduce the algorithms and techniques using low level tools (Python or Java). The main project will require students to resaerch and build a game playing agent for a moderately complex board game.

The handbook entry and general unit policies are all available from the online LMS, help3001 for discussion and class management, and Moodle for labs.

Contact Hours

Each student should attend (or view) the two hour lecture, complete a two hour lab (from week 2) and attend or view the workshop every week. Attendance will not be taken. Online labs will be conducted via Microsoft Teams.

Lecture 11:00am - 1:00 pm Tuesday GGGL: 107 & MS Teams
Workshop 12:00-1:00pm Friday ARTS: 159 & MS Teams
Laboratory 2:00-4:00pm Tuesday CSSE Lab 2.01
Laboratory 8:00am-10:00am Wednesday CSSE Lab 2.03
Laboratory 12:00-2:00pm Wednesday CSSE Lab 2.03
Laboratory 2:00-4:00pm Wednesday Online (MS Teams)
Laboratory 4:00-6:00pm Wednesday CSSE Lab 2.05
Laboratory 4:00-6:00pm Thursday CSSE Lab 2.03
Consultation 11:00-12:00pm Friday CSSE Rm 1.16


The assessment for CITS3001 consists of a labprojects, a mid-semester test, a project and a 2 hour formal examination.

Assessment% of Final MarkDue Date
Assessed Labs10Weeks 3, 5 and 7
Mid-semester Test1023-09-2022, 2:00pm
Game Playing Project
Will be released in Week 2
3013-10-2022, 5:00pm
Final Exam50End of Semester

Unit Schedule

PDF files of the individual lectures will be made available from here as the semester progresses, as well as the files used for demonstrations. Lecture recordings are also available via LMS

The Lab Exercises will be available on Fridays of the week before the scheduled lab, and can be found via the Moodle server.

(Tue WOOL, 11am-12pm)
(Fri ARTS 159 12pm)
1 July 26 Intro and Algorithms No lab Algorithm Design
2 August 2 Optimsation Greedy Algorithms Approximation Algorithms
3 August 9 Agents TSP Algorithms Approximation Algorithms
4 August 16 Uninformed Search Agents Intelligence?
5 August 23 Informed Search Word Chess Searching
6 August 30 Game Playing Informed Search Project Discussion
Non Teaching Study Break
7 September 13 Sequential Decision Problems Connect 4 Test Revision
8 September 20 Learning Agents Continue Connect 4 Midsemester Test
9 September 27 Learning Agents Project Learning Under Uncertainty
10 October 4 Machine Learning Project Learning by Doing
11 October 11 Reinforcment Learning Project First order reasoning
12 October 18
Advanced Topics Revision Revision

String Algorithm Lectures

String Algorithms


The project will be to write agents to play an agent-based game. Details will be released by Week 3.

  • Due: 5 pm, Thursday, October 13
  • Submit via cssubmit.
  • The project contributes 30% to your final grade, and may be done in pairs.


Midterm Test

The mid-semester test will be an online quiz conducted through Moodle. It will be held during the workshop time in Week 8. Students do not need to attend the owrkshop to complete the test. The test is worth 10% of the total mark for the unit, and it examines all of the material discussed in the lectures and lab classes up to week 6.

The test will be conducted as a Moodle quiz. The test will be avialble to start from 12.00pm on Friday September 23rd. You will have one hour to complete the test. All answers you be typed into the textboxes provided. You are allowed to have printed materials to refer to during the test (lecture notes, textbooks), and these could be open windows on your computer if you only have soft copies. You may not contact anyone for help during the test. You may not use the internet to search or access any materials during the test. You will not be able to get clarification on any of the questions during the test. If you feel the question is ambiguous, or are uncertain what is being asked, write down your assumtpions and best understanding, and this will be taken into account during the marking.

A sample test is available for you to practise.

Practical Details:

  • The test will last 60 minutes: it will take place in the normal workshop time, but can be completed online, from anywhere.
  • The test will examine the material discussed up to and including the lecture in Week 6 (until informed search).
  • All questions should be answered.
  • No books, notes, calculators, or other assistance should be used, and the test will be written in such a way that these aids will not be very helpful.
  • You may be asked to give an oral explanation of your answers at a later date.
  • If you need special arrangements for the test (e.g. extra time), please let me know asap.


There will be 20 questions in the exam. Most questions will be MCQs, but there will be some short-answer questions as well. You will be required to describe the principles and operation of some of the important algorithms that we have covered, and also to illustrate the operation of those algorithms on given example problems.

Note that some of these sample papers are for CITS4211: the CITS3001 test could potentially cover any of the material covered in Weeks 1-6 of 2022.

Final Exam Information

The final exam will be held in the November exam period. Details of the exam schedule will be released through studentConnect. The exam is worth 50% of the total mark for the unit, and it examines all of the material discussed in all parts of the unit, except any content marked as non-assessable.

Post requests for clarification about any aspect of the exam to help3001.

Practical Details:

  • The exam will last 120 minutes.
  • All questions should be answered.
  • The same exam will be run in online mode and face to face
  • All students sitting the online exam should read the instructions on LMS carefully.
  • 1 page of notes (double sided) and calculators will be permitted in the exam.
  • Follow all instructions from the invigilators.


The above papers demonstrate the style of questions that are typically in the CITS3001 exam, although the range of topics examined will cover the lecture material in 2016/2017. Also, as this years exam will permit notes, there will be be less of an emphasis on recall, and more open ended questions.

The previous exams will be reviewed in the workshop in Week 12. You will get the best value from this workshop if you attempt the questions beforehand.


Dr Mehwish Nasim
Unit coordinator and lecturer
CSSE Rm 1.16
[email protected]
Ph: 64882839