COMP9414/9814 17s1 COMP9414/9814 Course Outline
Artificial Intelligence


Artificial Intelligence is concerned with the design and construction of computer systems that "think". This course will introduce students to the main ideas and approaches in AI - including agent architectures, Prolog programming, search techniques, neural networks, machine learning, probabilistic reasoning and logical inference. COMP9814 will cover additional topics such as motion planning, reinforcement learning and evolutionary computation.

Learning Outcomes

Students successfully completing this course will have a working knowledge of the AI methods presented, and will be able to demonstrate their knowledge by explaining certain features or aspects of these algorithms, and by describing how the techniques would be applied to particular problems. Students will become competent in the Prolog programming language, and will gain practical experience, through the assignments, of what is involved in designing and implementing a functional AI system.

Units of Credit

This course is for 6 units of credit.

Course Web Site


Name Role Email Consultation Extension
Alan Blair Lecturer-in-Charge blair "at" TBA 9385-7131

Any email relating to this course should be sent directly to the Lecturer-in-Charge, not to the cs9141 account. (Note: other courses may have different arrangements for contacting staff.)

You should make sure that you regularly read email sent to your CSE account. By default this is redirected to your UNSW zMail account. If you want it to go somewhere else, you can: use the "mlalias" command on a CSE Unix workstation to forward all email that is sent to your CSE mail account on to your preferred email address: e.g.

mlalias -C z1234567 -a
where you replace z1234567 by your CSE Unix login, and by your preferred email address. Test that this is working by sending an email to your CSE email address to check that it is forwarded correctly.


These are the provisional lecture times and locations:

Course Time Location
COMP9414/9814 Wed 6-9 CLB 7
COMP9814 only Fri 10-11 Mathews Theatre B

Parallel Teaching

The first two hours of lecture on Thursday (6-8) will be shared with COMP3411. The additional hour of lecture for COMP9814 on Friday will also be shared with COMP3411.

Assumed Knowledge

COMP9414/9814 can be taken as part of any of the postgraduate coursework degrees, and any research degree, in the School of Computer Science and Engineering. Postgraduate students from related disciplines like Electrical Engineering & Telecommunications may also enrol with permission from their School.

Pre-requisite: None.

Co-requisite: COMP9021. That is, you must have completed an introductory programming course such as COMP9021, or be concurrently enrolled in COMP9021.

Related Courses

After completing this course, students with a continuing interest in Artificial Intelligence should consider enrolling in one of these courses:
COMP9417 Machine Learning and Data Mining
COMP4418 Knowledge Representation and Reasoning
COMP9431 Robotic Software Architectures
COMP9517 Machine Vision
COMP9444 Neural Networks and Deep Learning


There will be three hours of lecture per week, plus two hours of laboratory classes in weeks 2-5. The major AI algorithms and learning techniques will be presented in lectures and illustrated on sample problems, along with historical background and theoretical motivation. Guest lectures may be given in the latter part of the session by AI researchers within the School, on current areas of active interest.

Programming laboratories (weeks 2-5) provide an opportunity to learn the basic Prolog programming skills necessary for completing the programming assignments. Lab demonstrators are present so that students who get stuck on some point can ask a demonstrator for help, and have the difficulty rapidly resolved.

Exercise sets allow you to test and extend your understanding of the lecture materials by tackling problems based on those materials. Students are expected to work through exercises at home and be prepared to discuss them (or raise any questions) during the third hour of the Monday lecture (or during the programming laboratories, or consultation sessions).


The assessable components of the course are:
Component Mark
Assignments 40%
Written Exam 60%

Further details about the assignments will be posted on the Course Web site. Programming assignments give the students an opportunity to put into practice the ideas and approaches that have been presented in lectures and discussed in tutorials. They may, for example, involve writing a program to: In order to pass the course, students will need to score:


The recommended textbooks for this course are:
Stuart Russell and Peter Norvig, Artificial Intelligence: a Modern Approach, 3th Ed., Prentice Hall, 2010.

Ivan Bratko, Programming in Prolog for Artificial Intelligence, 4th Edition, Pearson, 2013.

The following books might also serve as additional reference material:

Nils J. Nilsson, Artificial Intelligence: a New Synthesis, Morgan Kaufmann, 1998, ISBN 1-55860-467-7.

Valentino Braitenberg, Vehicles: Experiments in Synthetic Psychology, MIT Press, 1984, ISBN 0-262-52112-1.

Links to electronic resources will be provided on the Course Web page throughout the session.


All work submitted for assessment must be your own work. We are aware that a lot of learning takes place in student conversations, and we don't wish to discourage this. However, it is important, both for those helping others and those being helped, not to provide/accept any programming language code either electronically or in writing - since it is apt to be used exactly as is, and lead to plagiarism penalties for both the supplier and the copier of the code. Write something on a piece of paper, by all means, but tear it up or take it away with you when the discussion is over.

In addition, soliciting another person to write code for you - either in person or through the Internet - is never permitted. Generally, the copying of code already available on the Internet is also forbidden. If you find some piece of "standard" code in a textbook, or on the Internet, which you would like to adapt and incorporate into your own assignment, you must email the lecturer in charge to ask if it is permissible to do so in the particular circumstances - in which case the source would have to be acknowledged in your submission, and you would need to demonstrate that you had done a substantial amount of work for the assignment yourself.

When evidence of plagiarism is found, the students involved will be dealt with according to School Policy, which provides serious penalties particularly in the case of repeat offences. More information can be found at these links:

UNSW Policy on Academic Honesty and Plagiarism
UNSW Plagiarism Policy Statement
UNSW Plagiarism Procedures
Essential Advice for CSE Students

Course Evaluation and Development

Student feedback on this course will be obtained via electronic survey at the end of session, and will be used to make continual improvements to the course.

Students are also encouraged to provide informal feedback during the session, and to let the lecturer in charge know of any problems, as soon as they arise. Suggestions will be listened to openly and constructively, and every reasonable effort will be made to address them.