Artificial Intelligence BSc modules
First year | Second year | Third year
First year
Block 1: Database Design and Implementation
Structured data, held in relational databases, accessed via SQL, supports the information storage requirements of many companies, organisations, and on-line businesses. In this module the student will learn the fundamentals of how to design the structure of data within a relational database, how to interact with data within the database, and how to protect the data within the database.
The methods of delivery during this block will include workshops used to introduce and demonstrate key practical and theoretical concepts. Practical programming skill will be gained in regular laboratory sessions. Some sessions may be used for consolidation, revision, and to discuss solutions to practical problems.
Workshop: 42 hours
Practical: 20 hours
Seminar: 4 hours
Self-directed study: 76 hours
Consolidation: 68 hours
Reading: 30 hours
Assessment: 60 hours
Block 2: Fundamental Concepts of Computer Science
This module introduces students to fundamental concepts in computer science in relevant areas of mathematics (including propositional logic, set notation, etc); software modelling; the software lifecycle; requirements capture; user interface design; and the foundations of ethical thinking. These topics can then be applied and further developed as students progress throughout the course.
The methods of delivery during this block include workshops used to introduce the main topics. To gain full advantage of this module students will hone their skills and understanding by working through progressive exercises ranging from drill to problem solving tasks. The exercises provide the basis of tutorial seminar and laboratory work. In seminars students receive feedback on their progress and engage in discussions on issues arising from the exercises.
Workshop: 42 hours
Seminar: 24 hours
Self-directed study: 66 hours
Consolidation: 58 hours
Reading: 30 hours
Revision: 20 hours
Assessment: 60 hours
Block 3: Computer Programming
Computer programming requires the analysis of a problem, the production of requirements, and their translation into a design that can be executed on a computer. This module introduces the skills required to develop a computer program to solve a given problem and does so from the perspective of designing trustworthy software with an emphasis on sound coding principles and unit testing.
The methods of delivery during this block will include workshops used to introduce and demonstrate key practical and theoretical concepts. Practical programming skill will be gained in regular laboratory sessions. Some sessions may be used for consolidation, revision, and to discuss solutions to practical problems.
Workshop: 24 hours
Practical: 42 hours
Self-directed study: 76 hours
Consolidation: 68 hours
Reading: 30 hours
Assessment: 60 hours
Block 4: Operating Systems and Networks
This module is designed to provide a foundation in computer architecture, operating systems, and computer networks. Covering theoretical foundations, computer hardware, systems software, computer networks and security issues.
The methods of delivery during this block will include lectures which will be used to introduce the main theoretical elements and laboratory sessions for practical application and experimentation.
Workshop: 24 hours
Practical: 42 hours
Self-directed study: 66 hours
Consolidation: 68 hours
Reading: 40 hours
Assessment: 60 hours
Second year
Block 1: Computational Intelligence and Computer Systems
Computational Intelligence (CI) is a significant branch of Artificial Intelligence (AI), which uses soft computing and nature-inspired techniques to respond to computationally-difficult problems with accuracy and robustness. Students will cover two of the “pillars” of CI in-depth, neural networks and evolutionary systems, and supplement this with content from the fields of natural computation and natural language processing.
The neural networks content will first give students strong foundations in the subject, to then succeed in the more complex area of deep learning. A knowledge of evolutionary systems will give students tools to describe the solutions to computationally-complex problems and use evolutionary techniques to solve them.
The module will provide an overview of popular natural computation techniques to compliment these two pillars of CI, including ant-colony optimisation, swarm intelligence, and social network graphs. Natural language processing will look at the building blocks of language and semantic understanding, and how to apply CI and natural computation techniques to this field. Finally, the module is grounded in ethical data handling to ensure AI professionals who are able to use data competently and safely.
This block module runs over seven weeks of teaching time with the following delivery pattern:
Workshop: 42 hours
Seminar: 4 hours
Practical: 20 hours
Self-directed study: 76 hours
Assessment: 60 hours
Block 2: Intelligent Robotics
Intelligent robots are becoming commonplace, and the next generation of Artificial Intelligence (AI) professionals will need a good grounding in how robots operate from both physical and programmatic perspectives. This module provides students with a strong foundation in the physicality of robots, covering sensors, computer vision, actuators, stationary robots and robots that must navigate their environment.
Students will learn how to mathematically describe robots’ movement through 2D and 3D space, as well as apply that maths to make their robots build maps and locate themselves in their environment. The module then covers planning and goal-orientated behaviour, so that students can create robots that are able to follow plans and prioritise task-loads in order to complete larger tasks. This is supplemented by an introduction to reinforcement learning, to give students an understanding of how such robots may learn in their environments to improve their behaviours.
Workshops will be used to introduce and demonstrate key practical and theoretical concepts. Practical programming skills will be gained in laboratory sessions. Some sessions may be used for consolidation, revision, and to discuss solutions to practical problems.
Workshop: 42 hours
Practical: 20 hours
Seminar: 4 hours
Self-directed study: 76 hours
Consolidation: 68 hours
Reading: 30 hours
Assessment: 60 hours
Block 3: Applied Artificial Intelligence
The module focuses on introducing the practical applications of AI by giving a tour through AI techniques and algorithms with examples.
Content Outline:
- AI Modelling Techniques
- Knowledge Structures
- Expert and Knowledge-based Systems with examples from Health Applications.
- Autonomous Systems with examples from Industry 4.0 Applications.
- Cognitive Systems with examples from Conversational AI/Bots.
- Swarm Intelligence with examples from Smart Cities and Sustainable Development Applications.
- Advanced AI programming techniques/approaches.
- Human-Centered AI: Responsible AI and Well-being Metrics (this would be the ethical component and build up on the work I have done as part of the working group for the IEEE Standards on Well-Being Metrics for A/IS.)
- Open-source and proprietary tools
The module will cover extensive examples of Applied AI and relate the covered topics to other modules within the programme providing a practical context from industry and day-to-day use of AI.
Lecture: 7 hours
Practical: 48 hours
Self-directed study: 25 hours
Assessment: 220 hours
Block 3: Agile Team Development Project
This module is an opportunity for students to engage in a constrained work-place simulation based on agile software development. Students working in teams of 3 to 5 will initially identify a system of sufficient size to be distributed equally among all members. Each team member might take individual ownership of the development of 2-3 classes from initial inception to completion providing CRUD functionality.
The methods of delivery during this block will include workshops, seminars to introduce and discuss ethical issues, and practical programming skills will be gained in regular laboratory sessions. Some workshops and practical laboratory sessions may be used for consolidation and to discuss solutions to practical and ethical problems.
Workshop: 42 hours
Practical: 20 hours
Seminar: 4 hours
Self-directed study: 76 hours
Consolidation: 78 hours
Reading: 20 hours
Assessment: 60 hours
Third year
Block 1: Agent-Based Modelling and Parallel Computing
The module will provide a comprehensive introduction to Parallel Programming with application in Agent-based modelling and multi-agent systems programming. The module will cover the following topics:
- Concepts and phenomena in complex systems
- Hardware Trends encouraging parallelism
- Need for explicit parallel programming
- Parallel Programming models
- Strategies and mechanisms for parallel programming
- Existing agent-based modelling software platforms
- Multi-threading with CUDA
- CUDA in Action
- Practical Agent-Based modelling
- Applications of agent-based modelling and multi-agents systems
Lecture: 7 hours
Practical: 48 hours
Self-directed study: 25 hours
Assessment: 220 hours
Block 2: Big Data and Machine Learning
The module will focus on machine learning (ML) and its application to Big Data in a “taster-like” fashion. That is, ML will be applied to solve analytics problems using appropriate tools e.g., Apache Spark that avail ML libraries. As this is done ML algorithms will be introduced and then applied. The focus is therefore not so much on the technical details of the algorithms - rather, the ability to implement them and use them within analytics. The module covers supervised and unsupervised learning techniques with a specific application to data mining.
Lectures will be used to discuss concepts, theories, and applications including machine learning algorithms and data analytics tools. Practical sessions will be used to undertake practical aspects of the module to solve selected data analytics problems from a wide range of areas.
Lecture/Workshop: 24 hours
Seminar: 7 hours
Practical: 35 hours
Self-directed study: 70 hours
Consolidation: 64 hours
Reading: 40 hours
Assessment: 60 hours
Block 3 and 4: Development Project
This project provides students with the opportunity to demonstrate practical and analytical skills present in their programme of study; to work innovatively and creatively; to synthesise information, ideas, and practices to provide a quality solution, together with an evaluation of that solution.
The project is primarily self-directed with guidance and support from an assigned supervisor.
Lecture: 4 hours
Supervisor meetings: 5 hours
Self-directed study: 231 hours
Assessment: 60 hours
Block 3 and 4: Fuzzy Logic and Inference Systems
Fuzzy logic is a mathematical model for handling uncertainty, it is able to provide a means in order to successfully inference from abstract and subjective notions. Fuzzy logic adopts the perspective that the world and humanistic understanding are inherently vague and not precise. Concepts like that of; hot; cold; near; far; and other forms of expressive language where precise values are not given, are extremely difficult to model when universal understanding of such concepts are non-existent.
What is beautiful to some, may not be beautiful to others; concepts can have different meanings to different people. Fuzzy logic and fuzzy theory provide the tools in order to fuzzify abstract notions so that they can be modelled and inferenced in a humanist manner, such that they can be understood by a larger population.
The module will provide a comprehensive introduction to fuzzy logic in addition to the following:
- Set theory and the notion of a fuzzy set
- Basic operations on fuzzy sets; intersection; union; complement
- Fuzzy inference systems; Mamdani, TSK, zero-order, first-order
- Type-2 fuzzy logic; interval type-2 fuzzy logic; generalised type-2 fuzzy logic
- Fuzzy logic applications
- The use of MATLAB for creating fuzzy inference systems
- Ethical considerations when considering cognitive subjective modelling
- Forwards chaining inference; backwards chaining inference
- Knowledge acquisition
- Knowledge representation
Lecture: 13 hours
Practical: 52 hours
Self-directed study: 19 hours
Assessment: 216 hours