COMP3411 17s1 COMP3411 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, game playing, neural networks, machine learning, evolutionary computation, probabilistic reasoning, logical inference and robotics.

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


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


These are the provisional lecture times and locations:

Time Location
Thu 6 - 8 CLB 7
Fri 10-11 Mathews Theatre B

Parallel Teaching

The two hours of lecture on Thursday will be shared with COMP9414/COMP9814. The one hour of lecture on Friday will be shared with COMP9814.


COMP1927 Computing 2

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
COMP3431 Robotic Software Architectures
COMP9517 Machine Vision
COMP9444 Neural Networks and Deep Learning
or a 4th Year Thesis in an AI-related area.


There will be three hours of lecture per week, plus one hour of tutorial. 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.

Tutorials give students a chance to clarify the ideas mentioned in lectures and practice their problem-solving skills in a small (and hopefully more personal) class with the assistance of a tutor. Students are expected to prepare for and actively participate in tutorials. Most tutorials will also include one or two questions of a speculative nature - which can lead to more in-depth discussion of particular topics, depending on the interests of the students.


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 textbook for this course is:
Stuart Russell and Peter Norvig, Artificial Intelligence: a Modern Approach, 3th Ed., Prentice Hall, 2010.

The following books might also serve as additional reference material:

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

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.