COMP9414 & COMP9814 2012s1 Course Outline Artificial Intelligence
COMP9414 Artificial Intelligence
COMP9814 Extended Artificial Intelligence
Teaching Period 1 2012

Contents

If you are looking at a printout of this web document, and want to access the links, or if you want a more printer-friendly version, go to http://www.cse.unsw.edu.au/~cs9414/intro-12s1.html

Course Staff

Contact Details

Staff member

A/Prof. Bill Wilson
Coordinator

A/Prof. Wayne Wobcke
Lecturer

E-mail

Phone

9385 6876

9385 6475

Office
K17-405
J17-433
Appearance picture of Bill Wilson picture of Wayne Wobcke

Consultations

  Bill Wilson Wayne Wobcke
Consults
Week 12: K17-405 12-1pm Thu
Week 13: K17-405 3-4pm Thu
J17-433 3-4pm Mon
Exceptions Each lecturer runs consultations only in weeks when he is lecturing or when one of his assignments is running.
Pre-exam Consultations 10am-12noon Mon 11 June oops, public holiday
2-4pm Thu 7 June
10am-12noon Tue 12 June
2-4pm Tue 12 June
If you can't make it to our scheduled consultations - e.g. because they clash with another of your classes - then please contact us by phone or email for an appointment.
Consultation times may have to be changed in certain circumstances.
It is best not to send e-mail queries to the cs9414 account; mailing to the relevant lecturer is likely to be more reliable, because the spam density on the cs9414 account is over 99%. Note that other CSE courses may have different requirements for contacting staff.

Contacting Staff in CSE

We don't mind if you use external email accounts for communicating with CSE for academic purposes but:

  • you should make sure that you regularly read email from CSE. 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 abcd123 -a mad_freddy99@hotmail.com
      where you replace abcd123 by your CSE Unix login, and mad_freddy99@hotmail.com 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.
    and
  • you must include your student ID as part of any message you send to CSE staff from your external email account (messages not containing such an ID may not be answered, particularly if we cannot identify you) see next dotpoint;
  • in some cases we would be obliged by privacy legislation to reply to your CSE or UNSW e-mail account;

How We contact You

We assume that all students read email from CSE regularly (e.g. daily); failing to read email will not be accepted as an excuse for not doing something you were supposed to in any of your courses.

We post most general news items on the class home page.

Course Details

Units of credit

COMP9414/9814 earns you 6 Units of Credit. This signifies 25% of a full-time study load for one semester, and involves 12 weeks × 3 hours/week of lectures (4 hours/week for COMP9814), plus 4 assignments.

Parallel Teaching Information

This course does not involve parallel teaching with undergraduates. Only COMP9414/COMP9814 students attend these classes. All students are postgraduates. Many are coursework postgraduates; some may be research students.

Handbook Entry

The handbook entry for COMP9414 can be found
here.
The handbook entry for COMP9814 can be found here.

COMP9814 Extended Artificial Intelligence

COMP9814 Extended Artificial Intelligence is also a 6 Unit of Credit Course, and so it constitutes 25% of a full-time study load for one semester. COMP9814 provides extra challenges for those who wish them. COMP9814 students attend COMP9414 lectures, and also a "bonus" lecture that covers the extension material. The extensions may include extra components to assignments.

Extended courses are normally intended for students with a mark of at least 70 in the prerequisite course. COMP9414 and COMP9814 however, are intended for students with no previous study in Computer Science / Computer Engineering / Information Technology. Thus there is no prerequisite course. If you have taken previous computing courses at UNSW, then you should use your average mark in those courses as a guide to whether or not it is sensible to try COMP9814 (i.e. don't try it if your average is < 70). New students may choose COMP9814 but should monitor their performance in their first few weeks of semester and consider carefully whether to switch to COMP9414 towards the end of this period.

Because COMP9814 and COMP9414 are closely related, it is possible to transfer between them past the week 1 deadline for adding a course. However, it is still necessary to have your final enrolment sorted out by the 31 March1.

Extended Artificial Intelligence will cover the syllabus of COMP9414 together with additional topics, to be presented in the additional lecture hour. See the lecture schedule for the planned content. Information on assessment in COMP9814 is below.

In years when the the enrolment in COMP9814 is very small (1-3), the extra lecture may be replaced by a reading course. If the lecture were replaced, lecture notes would be available on the web as usual, and COMP9814 students would be able to come and discuss the lecture material in the lecture slot on Wednesday morning, or perhaps another time by arrangement.

Lectures

The lecture times are:

Session 1, 2012Day Time Location
COMP9414/9814Monday18:00-21:00CLB 5
COMP9814 onlyFriday14:00-15:00ASB-232


Lecture Attendance

If you do not attend a lecture, then it is your responsibility to discover any announcements and/or supplemental information that's given. Lectures introduce you to the concepts covered by this subject, provide motivating examples to help you understand them, and demonstrate skills and processes. You may not understand the material completely simply by listening in lectures. You should also:
  • review the lecture material after the lecture;
  • discuss the material with fellow students if possible;
  • read up on the topics covered in each lecture;
  • complete relevant assignments and exercises, if any;
  • consider exploring the topic on-line by writing and running your own programs;
  • attend a consultation session (or phone or email) if you still don't understand the material

Course Aims

COMP9414 is designed in such a way that it can be taken by students with no previous background in computer science, in their first semester at UNSW. Such students might be from another science or engineering discipline who are retraining, or extending their training, into Computer Science / Computer Engineering / Software Engineering. COMP9414 is also suitable for students with some computing background, who have not previously studied artificial intelligence. It is not suitable for research students in Artificial Intelligence, who are more likely to be interested in courses like COMP4415 First-order Logic, COMP4416 Intelligent Agents, and COMP4418 Knowledge Representation and Reasoning.

COMP9414 provides students with a foundation in the basic theory and programming techniques of Artificial Intelligence (AI). These will be motivated by an introduction to selected AI application areas.

Artificial intelligence is the basic discipline underpinning all "smart" systems - e.g. smart Internet applications, smart e-commerce systems. Most complicated search problems cannot be tackled directly using complete search procedures, as completed searches tend to take millions of years to terminate, even on current generation computers. Consequently it is necessary to use heuristic algorithms that estimate the part of the search space most likely to yield useful results, and "prune" the rest. Heuristic algorithms are part of the domain of AI.

AI also includes techniques for specialised areas, including machine learning, natural language processing, computer vision, agent methods, and computer game playing. We only have time to cover some of these in COMP9414. In this offering of COMP9414, there will be introductions to machine learning, natural language processing, and agent methods.

Student Learning Outcomes

The numbers in [] below refer to UNSW Graduate Attributes which are addressed by the item in question. In addition to the graduate attributes indicated below, the experience of working in this class addresses graduate attributes 5, 7, 8, and 9. See http://www.cse.unsw.edu.au/~billw/gradatts.html for explanation of numbered graduate attributes.

After completing COMP9414, students should

  • have an understanding of the social and intellectual context of artificial intelligence research; [2, 10, 11]
  • have an understanding of a variety of knowledge representation and heuristic programming techniques, including: [3]
    • frames and semantic networks
    • search methods
    • use of predicate logic for representing knowledge
    • reasoning under uncertainty
  • be able to analyse an AI problem in terms of these methods [3]
  • have a working knowledge of a common AI programming language: Prolog, be able to use Prolog in programming simple AI applications, and understand the relationship between logic and Prolog [4, 6, 12]
  • be familiar with some techniques used in three AI specialist areas
    • natural language processing [12]
      • anatomy of natural language processing: lexicon, morphology, syntax, semantics, pragmatics
      • how a natural language is described (with reference to English)
      • representing grammar rules and parsing - chart parsing
      • a logical form language and semantic interpretation
      • reference and world knowledge
      • statistical natural language processing
    • machine learning [4]
      • feedforward neural networks and learning by error backpropagation
      • the ID3 decision tree induction algorithm
    • intelligent agents [12]

Extra outcomes for COMP9814 students:

  • a knowledge of, and experience with, extra features of Prolog
  • an introductory experience with constraint satisfaction problems
  • exposure to axiom systems for propositional logic
  • some knowledge of the relationship between logic programming and resolution
  • an exposure to some ideas of (automated) planning
  • some knowledge of statistics methods in natural language processing
  • an introductory exposure to interactive activation & competition networks

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.

Teaching Rationale

See aspects of the section titled Resources for Students.

Teaching Strategies

  1. Lectures provide a detailed description of the material covered by the course, in an environment that provides a chance to ask questions and listen to the answers to other students' questions. Because the lecturer can see the students' reactions, the lecturer can gauge their level of understanding, and expand on technical material that seems to need further explanation;
  2. Textbooks and reference books provide supplementary material, and/or a slightly different point of view on the technical material;
  3. Programming laboratories (weeks 2-5) provide an opportunity to learn basic Prolog programming skills necessary for completing the three programming assignments (see below). 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;
  4. Exercise sets allow you to test and extend your understanding of the lecture materials by tackling problems based on those materials. Some of the questions in the exercise sets might be similar to questions later used in the final examination;
  5. Programming assignments provide:
    • a chance to test and strengthen your understanding of lecture material by coding it in Prolog;
    • practice for your programming skills (which will be tested in the final examination).
    If you can code an AI algorithm from scratch, then you almost certainly understand it well. You cannot learn to be a programmer just from a book. You have to learn this skill by practice.
  6. The sample examination gives students a chance to test themselves on the material of the course in a format similar to that of the final examination;
  7. Consultation sessions give students an opportunity to ask the lecturers, one-on-one, specific questions about any of the course material that they might be uncertain about;
  8. Other students - your classmates - are there to help you, too. Because they have just gone through the same learning processes as you, on the material of COMP9414/9814, they are in a way best placed to know what the difficulties are, and explain them. By explaining them, they too will benefit, by reinforcing their own learning. The only limit on this is in relation to the programming assignments: you can get ideas for the programming assignments from other students, but you must write the program yourself (see plagiarism).
  9. The final examination: nobody I know enjoys examinations (either sitting them or marking them) but they do provide a focus and a deadline to make sure you revise the material covered in the course. Revision can be an important part of learning.

Assessment

Assessment Information

The assessment for this subject will consist of:

  • 2 hour final exam (70%)*
  • 1 Prolog programming assignment (10% - due week 5)
  • 1 Agents programming assignment (10% - due week 8)
  • 1 Natural Language programming assignment (10% - due week 13)
* UNSW is moving to 2-hour exams. If this is implemented in the current semester, the exam will be 2 hours.

The assignment marks are added together and scaled to give a mark out of 100, called asstotal. The final exam total is also scaled to give a mark out of 100, called exam. The assignment total and the final exam total will be combined using a harmonic mean formula, weighting the final exam as 70% (0.7) and the assignment total as 30% (0.3):

final mark = min(100, Δ + asstotal*exam/(asstotal*0.7 + exam*0.3))
Here asstotal*exam/(asstotal*0.7 + exam*0.3) is the weighted harmonic mean of asstotal and exam, and Δ is the average difference, across the whole class, between the weighted arithmetic mean and the weighted harmonic mean of asstotal and exam. (The weighted arithmetic mean is 0.7*exam + 0.3*asstotal. The weighted harmonic mean is always less than or equal to the weighted arithmetic mean, so Δ ≥ 0).

The weighted harmonic mean penalises uneven performances: getting 100% (30/30) for the assignments and 30% (21/70) for the exam would allow a pass if marks were simply added together, (i.e. if the weighted arithmetic mean were used) but under the harmonic mean formula, it results in a final mark of 38%. The effect of the Δ term is to ensure that, on average, the class is not penalised by the use of the harmonic mean. Those with very different assignment totals and exam totals will still do worse, but those with moderate differences will not do worse, and those with even performances will do better than if a weighted arithmetic mean had been used. Typical values of Δ have been around 1.5 to 2.

If you run the program ~cs9414/bin/passmark9414 in most of the School's labs, it will allow you to enter a total assignment mark out of 30, and then it will print the minimum exam mark (as a percentage, and out of 70) that would be needed to pass the subject if you obtained the assignment mark you typed in.

More on harmonic means.

Criteria by which marks will be assigned

These are explained in each assignment specification.

Procedure for submitting assignments

This is explained in each assignment specification. Some assignments are handed in at the lecture in the week in which they are due, and some are submitted electronically, or partly electronically.

Policy on Late Submission

Late submission of assignments: Assignments submitted late are subject to the following penalty: the maximum mark obtainable reduces by 10% per day late, up to a maximum of 50%. Thus if the assignment is marked out of 10, and students A and B hand in assignments worth 9 and 7, both two days late, then the maximum mark obtainable is 8, so A gets min(9, 8) = 8 and B gets min(7,8) = 7. Assignments handed in over a month late, or after (if) a solution has been released, will normally receive no marks.

Rationale for Each Assignment

See section on Relationship between objectives and assessment.

Warning about High Assignment Marks

Be aware that marks in some COMP9414/9814 assignments are likely to be high. The assignments are designed to provide experience with the concepts being studied, and assessment is as much formative as summative. In the past, some students have thought that their high marks in the assignments meant that they did not need to study much for the exam. This is not wise. Take a look at the 2012s1 mark distribution statistics. You will see that, for example, while at least 57% of students scored in the HD range in each assignment, only 15% scored in the HD range on their final result (i.e. composite mark ≥ 85).

We (the lecturers) understand that this may make the final exam rather stressful, and we have considered other assessment models. However, we take the view that end of semester is the best time for most of the assessment weighting, as by then you have had as long as possible to understand, and revise, the course material.

The self-administered feedback quizzes (where available) allow you to monitor your progress: they don't count towards the assessment, but they do allow you to decide whether you understand the lecture material.

Assessment for COMP9814

COMP9814 assessment will have the same structure as for COMP9414 (2 hour exam worth 70% + assignments worth 10% each, as described above). However, assessment components for COMP9814 may (probably will) differ from those for COMP9414. For example, the COMP9814 assessment may have extra components compared with the corresponding COMP9414 assessment item. There will be enough in common between the assessment items for COMP9414 and those for COMP9814 that it will be possible to mark both on a consistent and equitable scale.

Students enrolled in COMP9814 must make a reasonable attempt at any extra assignment material, and must attend 80% of the extension lectures, or present (a) medical certificate(s), or they will be denied assessment in COMP9814. This rule will be administered in a humane way, and is intended to stop people from enrolling in COMP9814, but doing none of the extension work, thus ending with a grade in "Extended Artificial Intelligence" rather than "Artificial Intelligence" without any extra effort.

Relationship between objectives and assessment

The first programming assignment provides a practical introduction to Prolog programming: one cannot learn programming without doing programming. The agents programming assignment, and the natural language programming assignment, give students hands-on experience in simple AI programming.

The final exam tests students on the learning objectives that are not covered in the programming assignments: see below for more details.

TaskLearning Outcomes
Prolog assignmentworking knowledge of an AI programming language
Agents assignmentintelligent agents
NLP assignmentnatural language programming (parsing/semantics)
Final examknowledge representation & search
relationship between logic and Prolog
natural language processing
machine learning topics
Prolog programming
All programming assignments also assess analysis of AI problems

For COMP9814 students, each assignment has a small extension that tests (and gives practice on) some of the material covered in the extra COMP9814 lectures (on Prolog programming, on agents, and on natural language processing). There are also extra exam questions that assess the extra COMP9814 material.

Assignments

Assignments give you the opportunity to practice what you have learnt on relatively large problems (compared to the exercise sets). Assignments are a very important part of this subject, therefore it is essential that you attempt them yourself. They are designed to be reasonably achievable. For example, in 2008s1 in COMP9414/9814, for each assignment, about half the class obtained at least 8.5/10. See the here for more details on past assignment and final mark distributions.

There will be three assignments:

  1. Prolog programming
  2. Agent programming
  3. Natural language programming

When available, the assignment specifications will be linked here.

Assignments are to be completed in your own time. You must submit your assignments for marking via the Unix give command (more details will be made available to you as part of the assignment specification). To maximise the learning benefits from doing assignments, it is essential that you start work on assignments early. Do not leave your assignments to the last minute.

Academic Honesty and Plagiarism

Plagiarism is defined as using the words or ideas of others and presenting them as your own. UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW:

Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism.

Resources for Students

Course Resource List

Details are below for many of these - follow the links:

  • Text Book. The textbook allows you to expand or clarify your understanding of lectures. While you are of course welcome to read the textbook ahead of the lectures, this is not assumed.
  • Lecture Notes and Lectures. The lectures provide a guide to, and exposition of, the course material. The lecture notes provide a fairly comprehensive summary of what is said in the lectures, additional comments may be made in lectures that are not covered in the lecture notes, and you are responsible for finding out about anything extra that was said in lectures, if you happen to miss the lecture.
    At least some of the lectures should be available on Lectopia after they have been delivered.
  • Laboratory Classes. To get people started on Prolog programming, lab classes are held in weeks 2-5. These are optional.
  • Self-feedback Quizzes. May not be available for every week. These allow you to tell how well you have understood the the material covered in the week which they address.
  • Exercise Sets. These expand on and give extra examples of the material covered in lectures.
  • List of relevant journals & conferences
  • your fellow students - get to know them and talk to them - because they, like you, are committed to learning about Artificial Intelligence, they can help you to learn, and, by doing so, they will help clarify concepts for themselves. Just remember to stay on the right side of the plagiarism rules, when discussing assignments.
  • the COMP9414/9814 class forum - which potentially has contributions from both staff and students
  • lecturer consultation sessions
  • the UNSW Library has other Artificial Intelligence resources - go and find them!
  • and of course there's the web

This is a technical course, and you will be expected to understand the technical aspects, including remembering some of the formulae, as well as explaining their significance, and to be able to apply the technical details to creating simulated neural networks and solve problems using theoretical concepts covered in the course.

Self-Feedback Quizzes

See the links labelled "quiz" at the end of rows in the course schedule, or click on "Review Quizzes" in the yellow menu at the left of the class home page, or go here. These quizzes are voluntary self-assessments. They carry no marks. They are provided to help you work out how well you are going in COMP9414/9814.

Solutions are linked to each quiz.

We suggest that, around the end of each week, you set aside some time to review the COMP9414 lecture material for the week, then try the quiz. Then look at the answers, and mark yourself. If you do not score as well as you aimed to score, then obviously you need to revise more extensively.

You can also get feedback from assignments (which are assessable), and from exercises - see below.


Laboratory Exercises

Lab classes weeks 2-5

To get people started on Prolog programming, lab classes are held in weeks 2-5.

These are not compulsory but it is recommended that you attend if you have never programmed in Prolog before. Due to the way the enrolment software functions, it is compulsory to enrol for a lab :-(.
Some of the labs are 3-5pm, and some are 4-6pm. With the 4-6pm labs, it is fine to leave at, say, 5.30pm, to have a break before a lecture at 6pm.
Lab times and locations are available on the enrolment website.

You can work through the Prolog problem sets in these labs, and lab supervisors will be present to help if you have trouble, either getting started, or in debugging your Prolog code, and to confirm that your code is working correctly if you're not sure.

The lab problems can be found here.

Map of CSE Laboratory locations

Exercises

These are more problem-oriented, and involve longer answers than the quizzes. Again, they are not assessable. You can most easily find them in the menu at the left of the class home page, but here is another link to the exercises. Solutions are provided to exercise sets.

Text Book

Bratko, I. Programming in Prolog for Artificial Intelligence, 4th Edition, Addison-Wesley, 2011.
This is the primary textbook for COMP9414/9814. See also the book by Allen, J., listed below.


Recommended Reference Books

Allen, J. Natural Language Understanding, 2nd Edition, Benjamin Cummings, 1995.
This book is followed fairly closely in the lectures on Natural Language Processing. You might consider buying a copy of this book in conjunction with 1 or 2 friends, to share.

Russell, S. & Norvig, P. Artificial Intelligence: A Modern Approach, 3rd edition, Pearson Education, 2010.
This book is followed fairly closely in the lectures on Problem Solving and Search and Reasoning Under Uncertainty, and includes a wealth of additional material. You might consider using the copies in the library, rather than buying the book.

Further Links and References

Internet Encyclopedia of Philosophy: Propositional Logic (Sections 1-4)
This provides a detailed introduction to propositional logic, used in the lectures on Knowledge Representation and Reasoning.

Nolt, J., Rohatyn, D. & Varzi, A. Logic: Schaum's Easy Outline, McGraw-Hill, 2006.
This book provides a succinct introduction to first-order logic, used in the lectures on Knowledge Representation and Reasoning.

Kelly, J. The Essence of Logic, Prentice Hall, 1997.
This book provides a detailed description of resolution in first-order logic, used in the lectures on Knowledge Representation and Reasoning.


Relevant Journals and Conferences

Here are the names of some of the more prominent Artificial Intelligence journals and conferences:

  • Artificial Intelligence
  • Journal of Artificial Intelligence Research
  • Machine Learning
  • Computational Linguistics
  • Cognitive Science

Prolog Availability

Prolog is primarily available on the School of Computer Science and Engineering Unix workstations, and the language as implemented there is definitive for the purpose of assessment. That is, we test your assignment on School computers, and if it doesn't work correctly on those computers, even though it may work correctly on your home machine, then you will lose marks. See below for advice on re-testing your assignment when and if you move it from your home machine to the School computers.

It is possible to connect to the CSE servers from your home computer assuming you have an internet connection, and then you can run Prolog on the CSE machines from home. If however you want a Prolog interpreter on your home machine, you can download the correct dialect of Prolog from the SWI-Prolog stable release site. Versions for Linux, MacOS X, and Windows NT/2000/XP/95/98/ME and maybe more are available, along with the full source code in case you have something not covered above.

Please let us know about any issues with installing SWI-Prolog on your home computer via the COMP9414 Class Forum. This is the fourth year in which we will be using SWI-Prolog, (rather than another Prolog dialect called iProlog). We think we found most of the surprises in the previous years, but there could be a few more in store for us. One thing to note is that the version of Prolog on the School's workstations (5.6.58) may differ from the current version that you will get from the download site.

"SWI" stands for Sociaal-Wetenschappelijke Informatica, the former name of the unit in the University of Amsterdam where SWI Prolog was developed. The unit is now called Human-Computer Studies.

The School Home Computing CD may still have a version of Prolog called iProlog, which is no longer used in COMP9414/9814 (although it has some interesting machine learning tools if you have the patience to figure out how they work). There are enough differences between iProlog and SWI-Prolog that it is best to get SWI-Prolog if you want a home Prolog.

Even if you get SWI-Prolog for home, it is definitely wise to re-test your code on the CSE servers or in a CSE lab before submitting it. SWI-Prolog should work the same way for Windows, MacOS X and Linux, but you wouldn't want to stake your result in COMP9414/9814 on it, and programmers should always be cautious when moving programs from one type of computer to another. One likely problem is described below.

If you do develop your assignment on a Windows machine, be aware that some methods of transferring files from Windows to Linux do not correctly convert to the Linux end-of-line representation. If your program worked fine on Windows, but gives a strange error message on a CSE machine when you try it in Prolog on the Linux machine, then you may be able to fix the problem "magically" by typing

dos2unix my-assignment.pl
where you replace my-assignment.pl by the name of the file that holds your assignment code.

Documentation for SWI-Prolog can be found at http://www.swi-prolog.org/dl-doc.html. You don't need to read it all (it runs to megabytes) but you might want to refer to it if you run into trouble. The lab classes in weeks 2-5 will help you get started with Prolog.

The lab classes in weeks 2-5 will help you get started with Prolog.


Dictionaries

Course Evaluation and Development

COMP9414/COMP9814 are evaluated by survey each time they are taught. The survey includes stock questions asked of all comparable courses, so that it is possible to compare the delivery of COMP9414/9814 with other relevant UNSW courses, and also a space for free-format comments. You cannot be identified from your survey response, unless you deliberately include identifying information in your free-format comments.

The completed survey forms are analysed statistically by someone independent of the delivery, and the results, including the free-format comments, are made available to staff involved in the course after grades have been reported and released.

The comments and statistics reported are used to improve the course, and lecturers are required to summarise the survey results for their Head of School.

In the survey conducted in recent sessions, the summary criterion "Overall, I was satisfied with the quality of this course" received the following responses*:

Session Responses Strongly
Agree
Agree Mildly
Agree
Mildly
Disagree
Disagree Strongly
Disagree
Average
Rating
School
Average
2008s1 43/72 16% 58% 9% 9% 7% 0% 4.67 4.73
2009s1 33/46 28% 50% 19% 3% 0% 0% 5.03 4.74
2010s1 18/32 45% 45% 9% 0% 0% 0% 5.36 4.65
2011s1 34/61 26% 56% 12% 3% 3% 0% 5.00 4.83
* pooling COMP9414 and COMP9814 figures

Positive comments included the following:

  • "a good overview on the AI subject"
  • "the way of prolog programming is amazing. I learned the completely new and unique programming skill"
  • "Appropriate exercise sets were provided. They were quite helpful, and the both of lecturer and tutor helped me to understand."
  • "Tons of materials to read, I could just use one words to describe this course, brilliant!"

Suggested improvements included not teaching COMP9414 concurrently with COMP9021, on the grounds that recursion, which is fundamental to AI, is taught at the end of COMP9021 (for the C language). The person who noted this overlap deserves credit for having picked up on it, but there is a reason for doing it this way: COMP9021 and COMP9414 are two of a small number of courses designed to be taken by students with little programming background. The aim is to make sure that students of this type can enrol full-times in such introductory courses. Recursion is needed early in COMP9414 (as it is essential to Prolog programming). Moreover, recursion is an important topic that some students take a while to get their heads around, so covering it twice is actually helpful in the long run.

Other Matters

  • Students enrolled in COMP9414 are expected to attend all classes
  • The use of School of Computer Science and Engineering computing laboratories is subject to rules described in the Yellow Form, which you acknowledge (electronic) receipt of when you receive your computing account. The Yellow Form also outlines what to do in case of illness or misadventure that affects your assessment, and supplementary examinations procedures within the School of Computer Science and Engineering.
  • Occupational Health and Safety, and Ergonomics (safe use of computers). To find out about UNSW policies in these areas, go to the Yellow form section on OH&S, which has links to the latest edition of these policies. The most immediate area of concern for CSE students is ergonomics and repetitive strain injury. See the CSE OHS & Ergonomics page.
  • UNSW Equity and Diversity Policy Statement
    UNSW Student Equity and Disabilities Unit

UNSW's CRICOS Provider No. is 000098G