Please note: You are viewing the unstyled version of this web site. Either your browser does not support CSS (cascading style sheets) or it has been disabled.

Department of Computing

Local Navigation

Computing Department

Curriculum Page >> COMP329

Curriculum - COMP329 - Knowledge Systems

Handbook Entry Unit Home Page

Short Description

COMP329 provides exposure to topics in both symbolic and subsymbolic artificial intelligence such as theorem proving, knowledge representation, reasoning under uncertainty, machine learning and neural networks. It also covers logic programming to contrast with the imperative and object-oriented styles encountered in the rest of the curriculum.

Assumed knowledge

  1. Exposure to at least a couple of different programming languages utilising the imperative and object-oriented styles. (COMP125, COMP225)
  2. An understanding of algorithms and data structures, particularly involving lists, trees and graphs. Experience programming these algorithms and data structures. Experience with recursion and recursive data structures. (COMP225)
  3. A basic understanding of mathematical foundations of computer science, including basic proof techniques such as induction, finite-state machines, and computability theory. (MATH237)
  4. Maturity in computer science expected of a third year student. This may involve: an understanding of basic machine architecture and assembly programming (COMP226) or an understanding of basic database theory such as relational data model and relational algebra and calculus, and query languages (COMP224)

Learning outcomes

  1. An appreciation for the advantages and disadvantages of logic programming languages. An understanding of programming concepts characteristic of logic programming languages including unification, resolution theorem proving, abstract execution mechanisms, programming with lists, trees, graphs.
  2. Practical programming experience using a modern logic programming language.
  3. An understanding of various searching methods, including depth- and breadth-first search, and iterative deepening. Heuristic searching methods including A* algorithm, minimax algorithm and alpha-beta pruning.
  4. An understanding of knowledge representation and reasoning techniques, propositional and first-order logic, theorem proving techniques such as resolution and semantic tableaux.
  5. An appreciation of planning techniques, reasoning under uncertainty, probabilistic reasoning, Bayesian and belief networks.
  6. An appreciation of machine learning, decision trees, constructing rule-based systems (such as expert systems) from decision trees, neural networks and genetic algorithms.
  7. An appreciation of problem-solving using artificial intelligence techniques, their advantages and limitations.
  8. Practical experience implementing some of the above artificial intelligence techniques in a modern programming language.

Comments to: Steve Cassidy

[Back to top]

Copyright & Site information

  • CRICOS Provider No 00002J, ABN 90 952 801 237
  • Last Updated: Wednesday, 13-Feb-2008 17:29:53 EST
  • Authorised by: HOD