Skip to main content

Unit information: Artificial Intelligence (Teaching Unit) in 2024/25

Please note: Programme and unit information may change as the relevant academic field develops. We may also make changes to the structure of programmes and assessments to improve the student experience.

Unit name Artificial Intelligence (Teaching Unit)
Unit code COMS30014
Credit points 0
Level of study H/6
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Ray
Open unit status Not open
Units you must take before you take this one (pre-requisite units)

COMS10016 Imperative and Functional Programming and COMS10018 Object-Oriented Programming and Algorithms or equivalent

COMS10014 Mathematics for Computer Science A and COMS10013 Mathematics for Computer Science B or equivalent

COMS20017 Algorithms and Data or equivalent

Prerequisite skills needed thus include programming paradigms, mathematics (including statistics, probability and algebra), and also desirable basic ideas of data mining/analysis.

Units you must take alongside this one (co-requisite units)

EITHER Assessment Unit COMS30081 Topics in Computer Science (Examination assessment, 20 credits).

OR COMS30084 Artificial Intelligence (20 credit: midterm + coursework assessment).

Please note:

COMS30014 is the Teaching Unit for the Artificial Intelligence option.

Students taking this unit choose to be assessed by EITHER the MAJOR 20 credit unit (COMS30084) OR as part of the Topics in Computer Science MINOR 20 credit examination unit. Students select the form of assessment to be taken by enrolling on the appropriate co-requisite assessment unit. 

Units you may not take alongside this one

None

School/department School of Computer Science
Faculty Faculty of Engineering

Unit Information

Why is this unit important?

This unit provides an introduction to knowledge-driven agent-based AI through declarative modelling and heuristic search. Conceptually three key domains are combined in this unit: Prolog and Search, Genetic Algorithms, and MultiAgent Systems. While the selected topics have historical roots going back to the pioneering vision of AI conceived by Alan Turing in the 1950s, they still promise significant future application in helping address the growing socio-technical challenges of developing explainable, interactive, trustworthy, and ethical AI systems. These topics also offer methods for collaborative problem solving applicable in an inter-connected world.

The subjects studied on this unit provide a philosophical and practical counterpoint to the more mainstream forms of data-driven computation and imperative/functional programming (that students will have encountered in previous years) and to other forms of statistical machine learning and AI taught in other parts of the curriculum.

How does this unit fit into your programme of study?

This is an optional unit that can be taken in Year 3.

Your learning on this unit

An overview of content

This unit introduces the field of knowledge-based AI along with some of its foundational principles, techniques, and tools. After covering the basics of declarative knowledge representation and reasoning, it looks at methods for search, optimisation and collaborative problem solving in multi-agent systems. Some of the key questions addressed are as follows. How can AI systems represent and reason about knowledge expressed in symbolic form? How can search techniques be practically used for solving problems defined in large possible solution domains. How can they be guided by heuristics and meta-heuristics? How can autonomous agents and multi-agent systems perceive, reason, coordinate, make decisions and act to achieve goals by themselves and collaboratively.

The unit is conceptually divided into three parts:

(1) Prolog & Search - introduces the logic programming paradigm along with the core concepts of blind and heuristic search;

(2) Genetic Algorithms - introduces the concepts of evolutionary computation and core concepts of meta-heuristic search;

(3) Multi-Agent Systems - introduces the notions of agent-based modelling, simulation, and specification.

How will students, personally, be different as a result of the unit

Students will have developed a more balanced awareness of the past, present, and future of so-called “thinking machines” and “intelligent systems” that will put them in a better position to integrate knowledge-based approaches with data-based approaches in order to more effectively contribute to the societal good in sectors such as the economy, sustainability, education, health, manufacturing and entertainment, to name but few.

Learning Outcomes

On successful completion of this unit, all students will be able to:

1. Demonstrate an understanding of the syntax of Prolog programs (including the use of structured terms, negation-as-failure, recursion, and higher-order predicates)

2. Demonstrate an understanding of the declarative and procedural semantics of Prolog programs (including the notions of unification and resolution)

3. Demonstrate an understanding of the workings of genetic algorithms and be able to apply this knowledge in relevant contexts;

4. Demonstrate the ability to describe and conceptually understand intelligent agents and interactions between agents in the purview of multi-agent systems.

In addition, when the unit is taken as a 20 credit option that includes coursework, students will also be able to:

5. Demonstrate an ability to write, debug, and deploy non-trivial logic programs that may use existing libraries to facilitate agent communication and/or user interaction;

6. Demonstrate an ability to apply (meta-)heuristic search techniques and/or the principles of multi-agent systems to the solutions of practical AI tasks.

How you will learn

Students will be expected to study the lecture notes in detail, to work through any signposted literature and associated exercises, and to complete all formative lab activities. The lectures are designed to introduce and motivate key concepts in a way that makes best use of prior learning experiences acquired from your programme. The lab activities will complement your learning by reinforcing theoretical understanding in a practical context. You will be expected to work though an online Prolog tutorial in a self-directed fashion with support from the lectures and labs. If taken with coursework, weekly support sessions will be provided to assist the further self-directed deepening of your Prolog skills.

How you will be assessed

Tasks which help you learn and prepare you for summative tasks (formative):

In each teaching week of the unit (excluding reading weeks and assessment weeks) there will be a formative lab assignment that is designed to prepare you for the summative assessment tasks (both exam and coursework) and to afford an opportunity for you to obtain help and feedback from unit staff (lecturers and teaching assistants).

Tasks which count towards your unit mark (summative):

All summative work will be carried out individually.

The MINOR option COMS30081 will contribute 50% to the 20cp Topics in Computer Science exam. The examination will test your understanding of the key concepts and basic skills taught on this unit through a mixture of multiple choice and long answer questions. This assessment will cover Learning Outcomes 1, 2, 3 and 4

The MAJOR option COMS30084 will be assessed by a one hour mid-term test (30%=6 credits) This assessment will cover Learning Outcomes 1, 2, 3 and 4. This will be followed by a coursework consisting of programming assignment and written report undertaken during weeks 9-11 (70%=14 credits). This coursework will allow students to deepen their practical Prolog skills in a self-directed manner and to apply and reflect upon concepts from search and multiagent systems in the solution of non-trivial AI tasks. This assessment will cover Learning Outcomes 1, 2, 5 and 6, but also involves an optional element that will allow students the ability to explore either Learning Outcome 3 or 4 in more depth.

When assessment does not go to plan

Students will retake relevant assessments in a like-for-like fashion in accordance with the University rules and regulations.

Resources

If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. COMS30014).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the University Workload statement relating to this unit for more information.

Assessment
The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.

Feedback