This module aims to give an introduction to Artificial Intelligence, by (1) describing the major knowledge representation paradigms; (2) providing a grounding in Prolog, used as a vehicle for practical illustrations; (3) considering knowledge-based systems, and (4) introducing students some of the modern AI concepts, machine learning algorithms.
The specific aims are: (1) To introduce students to the concept of knowledge representation, common knowledge representation paradigms and the issues involved in knowledge representation. (2) To introduce students to the sorts of systems that can be built using artificial intelligence techniques, in particular knowledge-based systems. (3) To provide a grounding in Prolog. (4) To introduce students some of the modern AI developments, including vision and representation, and visual object recognition.
A. Account for the principles of knowledge representation.
B. Gain experience in the search techniques and logic, particularly as related to knowledge representation.
C. Show familiarity with the major knowledge representation paradigms: production rules, prepositional and first order predicate calculus and structured objects.
D. Apply the knowledge of how these representations can be manipulated to solve problems in a knowledge-based systems context.
E. Acquire the essentials of Prolog so as to enable further exploration of the above in practical usages in AI.
F. Acquire the fundamental knowledge of some of the modern AI concepts and technologies, including vision and representation, and visual object recognition.
The teaching philosophy of the module follows very much the philosophy of Syntegrative Education. This has meant that the teaching delivery pattern, which follows more intensive block teaching, allows more meaningful contribution from industry partners. This philosophy is carried through also in terms of assessment, with reduction on the use of exams and increase in coursework, especially problem-based assessments that are project focused. The delivery pattern provides space in the semester for students to concentrate on completing the assessments.
This module will be delivered by a combination of lectures, seminars as well as practicals in a computer lab. Lectures will introduce students to the academic content and practical skills which are the subject of the module. Computer practical will be used to introduce students to functional language and logic programming language compilers, interpreters, and supporting tools as well as techniques for the development of functional and logic programs. Computer practical will also allow students to use those tools and practice the acquired techniques. In addition, students will be expected to devote six to seven hours of unsupervised time to solving continuous assessment tasks and private study. Private study will provide time for reflection and consideration of lecture material and background reading. Continuous assessment will be used to test to what extent practical skills have been learnt, in particular, assessment tasks will be solved individually and each solution comprises the resolution, using sound software engineering techniques, of the given problems expressed in terms of a requirements statement.