Skip to main content

Unit information: Artificial Intelligence (Teaching Unit) in 2023/24

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 COMS10017 Object-Oriented Programming and Algorithms I or equivalent

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

COMS20011 Data-Driven Computer Science 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 COMS30013 Artificial Intelligence (10 credit exam only assessment)

OR COMS30072 Artificial Intelligence (20 credit coursework and exam assessment).

Please note:

COMS30014 is the Teaching Unit for the Artificial Intelligence option.

Single Honours Computer Science and Mathematics and Computer Science students can choose to be assessed by either examination (10 credits, COMS30013) or by examination and coursework (20 credits, COMS30072) by selecting the appropriate co-requisite assessment unit.

Any other students that are permitted to take the Artificial Intelligence option are assessed by examination only (10 credits) and should be enrolled on the co-requisite exam assessment unit (COMS30013).

Units you may not take alongside this one

N/A

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 and Search - introduces the logic programming paradigm along with blind and heuristic search;

(2) Genetic Algorithms - introduces the concepts of evolutionary computation and 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” and will possibly be 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, students will be able to:

1. Comprehend fundamental logic programming concepts like unification and resolution (which are being increasingly utilised to rule-based libraries for imperative and functional languages)

2. Demonstrate the ability to comprehend simple logic programs that utilise features such as structured terms, tail recursion, negation-as-failure, and higher-order predicates

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;

When the unit is taken with the associated 20 credit option that includes coursework, students will also be able to:

1. Demonstrate an ability to write, debug, and run simple logic programs that utilise features such as structured terms, tail recursion, negation-as-failure, and higher-order predicates;

2. Demonstrate an ability to manipulate and deploy genetic algorithms to solve simple problems;

3. Demonstrate an ability to simulate multi-agent systems for simple use cases.

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 complement your learning. You should think of this as a skills-based unit whose content can only be mastered by supplementing book-based study with dedicated hands-on practice. In the first few weeks, you will learn the basics of Prolog by tutorial with the lectures and labs mainly being intended to inspire and support your own self-directed learning. If taken with coursework, the unit provides weekly coursework support sessions.

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). Note that in the first three weeks of the unit, you will work through a Prolog tutorial and exercises, and we will run an optional drop-in clinic where you can get help and feedback on these exercises.

Tasks which count towards your unit mark (summative):

The unit will be assessed by exam only or by both exam and coursework. All summative work will be carried out individually.

2 hour exam (10 credits: COMS30013 - 100%; COMS30072 – 50%). The 2 hour examination will test your understanding of the key concepts and basic skills taught on this unit. The exam will be a mixture of multiple choice and essay questions.

In addition, students taking COMS30072 will also take a coursework in weeks 9-11 (50%, equiv. to 10 credits). The coursework will primarily focus on assessing your practical Prolog skills in order to solve single-agent and multi-agent planning tasks; but there will also be an essay component that will afford you an opportunity to reflect on the other aspects of the unit.

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