Module code: EEEM068

Module Overview

Machine/Deep learning has emerged from computer science and artificial intelligence. It draws on methods from a variety of related subjects including statistics, applied mathematics and more specialized fields, such as pattern recognition and neural network computation. This module offers the theory and related applications of advanced deep/machine learning topics and an overview their applications to other fields, such as natural language processing, medical imaging, health, audio, and fintech etc. The deep learning algorithms which will be studied are used widely in industry by AI start-ups to AI tech giants, like, Google, Meta, Microsoft, Amazon, Tesla etc. It provides a background and related theory of deep/machine learning to manipulate data from various domains like image, video, text, audio etc. This is done by various machine learning algorithms that are discussed, implemented, and demonstrated within the module.

Module provider

Computer Science and Electronic Eng

Module Leader

RANA Muhammad (CS & EE)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 7

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 72

Lecture Hours: 22

Tutorial Hours: 4

Laboratory Hours: 20

Guided Learning: 10

Captured Content: 22

Module Availability

Semester 2

Prerequisites / Co-requisites


Module content

Convolutional neural network (basic operations, separable convolution; skip connection)
Graph Convolutional neural network (GCNN)
Graph attention network
Zero-shot/few-shot learning
Domain generalisation/transfer
Self-supervised learning
Multimodal analysis

Computer vision
Fintech/fintech documents
Medical imagaing

Assessment pattern

Assessment type Unit of assessment Weighting

Alternative Assessment


Assessment Strategy

The assessment strategy for this module is designed to provide students with the opportunity to demonstrate the skills learned within the module. The aim of assessment is to evaluate different practical machine learning skills the students will learn during the module. Examples of concepts that will be tested include following.   

  1. Knowledge of various machine learning theories and more importantly their applications, understanding of the engineering methodologies for design and implementation of software algorithms. 

  1. Knowledge of state-of-the art solutions to different machine learning and data analysis problems, their limitations and requirements for better solutions. 

  1. Skills of identifying, classifying and describing the performance of software systems and components through the use of analytical methods and modeling techniques. 

  1. Programming skills and understanding of software tools, development environments, libraries and reusable components such as Python, numpy, scikit-learn, PyTorch etc libraries. These software tools will be used to perform data processing and analysis, implementation of different machine learning algorithms.


Due to purely applied nature of the module the summative assessment for this module consists of the following:

Course project report 60%. 

Demonstration/presentation with oral exam 40%.

Students will be able to select course project from a range of given projects. We will provide around 10 to 12 project examples. The students will have flexibility to demonstrate their understanding from a range of advance AI algorithms using a particular application area in the project of their choice. 

Throughout the course there will be two hour lab session per week with formative feedback/assessment. The formative assessments will consist of several questions asking to implement a snippet of code performing different tasks related to data processing and analysis, pattern recognition and classification. 

The purpose of the labs is for students to practically apply the theoretical knowledge gained from the lectures on a topic from each of the core themes of this module. The propose of course project is demonstrate a range of advance AI algorithms for a particular application area and summarise the findings. 

Students will receive formative assessment/feedback  during lectures by question and answer session, by means of lab problem sheets, during supervised lab sessions, and via feedback comments on assessed course project report and during demonstration of project with oral exam.

Module aims

  • The aim of this module is to offer an in depth understanding of modern deep neural networks and associated applications. These modern AI/deep learning algorithms are universal and can be applied to many application areas, like, computer vision, robotocs, natural language processing, security & surveillance, medical image analysis, multimodal analysis, content retrieval of large multimeida archives, fintech etc. The goal is to make students ready to tackle real world problems by applying advanced deep learning/AI algorithms.
  • The module also aims to provide opportunities for students to learn about the Surrey Pillars listed below.

Learning outcomes

Attributes Developed
001 Be able to demonstrate an understanding of different principles of machine learning and data analysis. K M1
002 Be able to choose an appropriate method to a problem of computer vision, medical imaging, natural language processing, fintech etc and predict the outcome of the applied method. KCPT M3, M4
003 Be able to come out with a theoretical solution for the computer vision, medical imaging, natural language processing, and fintech problems. KCT M3, M6
004 Be able to analyse novel pattern recognition and data analysis problems, establish statistical models for their solution. KCPT M2, M16, M17

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

Methods of learning and teaching include lectures, labs, with exam and coursework assessments.

They are designed to achieve the following aims.

- To introduce advance deep learning concepts and their applications to promote deep understanding of the advanced AI concepts, engineering methodologies for design and implementation of software algorithms. The topics include: convolutional neural network, seperable convolutions, graph CNNs, attention, transformers, MLP, graph attention network, domain transfer/generalisation, zero/few-shot learning, self-supervised learning, multimodal analysis. To introduces engineering principles for software design in advance machine/deep learning, which involves integration of software components related to verification and validation.

- Students learn to identify, classify and describe the performance of software systems and components through the use of analytical methods and modelling techniques. These allow them to employ performance trade-offs and the use of appropriate metrics, to predict and evaluate performance of advance machine/deep learning algorithms. Students learn skills of applying quantitative methods, mathematical and computer-based models, and use computer software (Python, Pytorch) to solve image-processing problems. Skills involve identifying and analyse problems in advance machine/deep learning, and develop software solutions to adress problems in different application areas of machine/deep learning, for example, healthcare, security and entertainment.

- Students learn programming skills and understanding of software tools, development environments, libraries and reusable components such as python, pytorch and other machine/deep learning libraries. They use these to perform classification, segmentation, localisation, regression and other advance machine/deep learning tasks such as self-supervised learning and multimodal analysis. We will finalise the aims after finalising the module contents so that things are in prespective

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list
Upon accessing the reading list, please search for the module using the module code: EEEM068

Other information

  • Digital capabilities

By introducing students to high performance computing servers needed to complete the coursework; by enriching their programming skills for the AI discipline via Python and the various deep learning libraries


  • Employability

By teaching students practical deep learning skills which is the most welcomed skillset in modern AI; by talking through practical computer vision applications, e.g., self-driving; by introducing a practical coursework component that addresses specific industrial problems


  • Global and cultural capabilities

By studying ethics-related topics around computer vision; by teaching computer vision techniques around data bias and domain adaptation, which is cornerstone to deploying computer vision solutions across multiple cultures and in global scale.


Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2024/5 academic year.