Introduction to Artificial Intelligence - Course Outline

COMP 307: 2012 Trimester 1

Artificial Intelligence (AI) is a branch of computer science which studies tasks that are difficult to solve. Some of these tasks can be easily performed by human but are difficult to program computers to do. Some other tasks are very difficult or very time consuming to solve even by human experts. Examples include planning a holiday, learning to drive a car, having a sensible conversation, learning to predict fog at Wellington Airport, reading a web page to get the answer to a question, designing a physics experiment, recognising handwritten digits, detecting terrorists by checking fingerprints, or optimising parameter values in complex engineering problems.

COMP 307 is an introduction to the ideas and techniques that computer scientists have developed to address these kinds of tasks. The lectures cover six main topics: the Prolog language, knowledge representation and reasoning, natural language processing, machine learning, evolutionary computation, and search techniques. The course includes a substantial amount of programming. The course will cover both science and engineering applications.

This document sets out the workload and assessment requirements for COMP 307. It also provides contact information for staff involved in the course. If the contents of this document are altered during the course, you will be advised of the change by an announcement in lectures and/or on the course web site. A printed copy of this document is held in the School Office.


By the end of the course, students should be able to:
  1. Understand fundamental concepts and techniques of artificial intelligence, in areas such as search, machine learning, evolutionary computing, rule based systems and natural language processing. (BE 3(a), 3(c), 3(d), 3(e)); (BSc COMP 1, 2, 3, 4)
  2. Apply these concepts to solve specific problems and to build engineering applications). (BE 3(a), 3(c), 3(d), 3(e), 3(f)); (BSc COMP 1, 2, 3, 4)

The course will introduce you to some of the important topics in Artificial Intelligence. Writing programs is a significant component of the course because many of the subtleties and difficulties encountered in AI only become apparent when one actually tries to write programs to perform specific tasks. The programming assignments serve to both increase your understanding of the relevant concepts and techniques, and also to give you confidence in being able to apply the techniques to real problems.


The textbook for COMP 307 is: Stuart J. Russell and Peter Norvig, Artificial Intelligence. A Modern Approach, Prentice-Hall, NJ, 3rd edition, 2009. (You can visit the home page for this text. It has the list of contents and some sample sections.)

Lectures, Tutorials, Laboratories, and Practical work

The trimester starts on Monday 5 March and ends on Friday 8 June. The examination period at the end of the course is 15 June - 4 July.

A schedule of lecture topics, readings, and assignment due dates is available online.

Lectures for COMP 307 are:

  • Week 1: Monday Friday 3:10-4:00, Hunter LT119. Tuesday lecture is canceled. There are no tutorials or help desks in the first week.
  • Week 2-12: Monday Tuesday 3:10-4:00, Hunter LT119. Friday lecture time may be used for optional tutorials or help desks. Details will be announced in lectures.

We may also run extra tutorials or help desks in some weeks. Date/time/location will be announced in the lectures.

Assignments and Projects

There will be four assignments, handed out at week 2, 4, 7 and 9, and due three weeks later. The assignments are worth 5%, 10%, 6% and 4% respectively. The assignments will involve a combination of programming and discussion.

All assignments must be handed in on time unless you have made a prior arrangement with the lecturer or have a valid medical excuse (for minor illnesses it is sufficient to discuss this with the lecturer.) The penalty for assignments that are handed in late without prior arrangement is one grade boundary per day. Assignments that are more than one week late will not be marked.


In order to maintain satisfactory progress in COMP 307, you should plan to spend an average of at least 10 hours per week on this paper. A plausible and approximate breakdown for these hours would be:
  • Lectures and tutorials: 3 hours
  • Readings, revision and preparation: 2 hours
  • Assignments: 5 hours

If assignments are left until the last minute, the amount of work spent in particular weeks may vary greatly.

School of Engineering and Computer Science

The School office is located on level three of the Cotton Building (Cotton 358).


The course organizer for COMP 307 is Xiaoying Sharon Gao. The lecturers for the course are Xiaoying Sharon Gao and Mengjie Zhang. Their contact details are:

The tutors are Urvesh Bhowan,, Bing Xue:, Su Nguyen,

Announcements and Communication

The main means of communication outside of lecture will be the COMP 307 web area at There you will find, among other things, this document, the lecture schedule and assignment handouts, and the COMP 307 Forum. The forum is a web-based bulletin board system. Questions and comments can be posted to the forum, and staff will read these posts and frequently respond to them.

Important announcements may also be given in lectures and/or by email. We will assume that you attend lectures, read the announcements on the web page and read your ecs emails at least once a week.


Your grade for COMP 307 will be determined based on the following assessment weightings:
Item Weight
Assignment 1 5%
Assignment 2 10%
Assignment 3 6%
Assignment 4 4%
Final Examination 75%


The timetable for final examinations will be available from the University web site and will be posted on a notice board outside the faculty office. The final examination will be three hours long. No computers, electronic calculators or similar device will be allowed in the final examination. Paper non-English to English dictionaries will be permitted. Calculators will be permitted in the examination as long as they are non-programmable and cannot store any text. The study and examination period for trimester T1 is 15 June - 4 July.


Working Together and Plagiarism

We encourage you to discuss the principles of the course and assignments with other students, to help and seek help with programming details, problems involving the lab machines. However, any work you hand in must be your own work.

The School policy on Plagiarism (claiming other people's work as your own) is available from the course home page. Please read it. We will penalize anyone we find plagiarising, whether from students currently doing the course, or from other sources. Students who knowingly allow other students to copy their work may also be penalized. If you have had help from someone else (other than a tutor), it is always safe to state the help that you got. For example, if you had help from someone else in writing a component of your code, it is not plagiarism as long as you state (eg, as a comment in the code) who helped you in writing the method.

Mandatory Requirements

The mandatory requirement for the course is to achieve at least a D on the final exam.

Passing COMP 307

To pass COMP 307, a student must satisfy mandatory requirements and gain at least a C grade overall.


The last date for withdrawal from COMP 307 with entitlement to a refund of tuition fees is Friday 16 March 2012. The last date for withdrawal without being regarded as having failed the course is Friday 18 May 2012 -- though later withdrawals may be approved by the Dean in special circumstances.

Rules & Policies

Find key dates, explanations of grades and other useful information at

Find out about academic progress and restricted enrolment at

The University's statutes and policies are available at, except qualification statutes, which are available via the Calendar webpage at (See Section C).

Further information about the University's academic processes can be found on the website of the Assistant Vice-Chancellor (Academic) at

All students are expected to be familiar with the following regulations and policies, which are available from the school web site:

Student and Staff Conduct
Meeting the Needs of Students with Disabilities
Student Support
Academic Integrity and Plagiarism
Dates and Deadlines including Withdrawal dates
School Laboratory Hours and Rules
Printing Allocations
Expectations of Students in ECS courses

The School of Engineering and Computer Science strives to anticipate all problems associated with its courses, laboratories and equipment. We hope you will find that your courses meet your expectations of a quality learning experience.

If you think we have overlooked something or would like to make a suggestion feel free to talk to your course organiser or lecturer.

Course Outline as PDF