Module code: EEEM066

Module Overview

Module purpose: This course offers an introduction to machine learning for those interested in the science and technology of Artificial Intelligence (AI). It provides background and the theory for building fundamental artificial systems that can process a variety of data and analyse their semantic information of interest. This is implemented by various fundamental learning algorithms that will be discussed and demonstrated in an easy-to-approach manner.

Module provider

Computer Science and Electronic Eng

Module Leader

ZHU Xiatian (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: 87

Lecture Hours: 30

Tutorial Hours: 3

Laboratory Hours: 10

Guided Learning: 10

Captured Content: 10

Module Availability

Semester 1

Prerequisites / Co-requisites


Module content

Indicative content includes the following:

  • Introduction to Machine Learning

  • Linear Algebra 

  • Regression Methods and Logistic Regression

  • Support Vector Machines

  • Tree based Machine Learning Models

  • Clustering and Dimensionality Reduction

  • Neural Networks

  • Evaluation Techniques

  • Large Scale Machine Learning

  • Machine Learning System Design

Assessment pattern

Assessment type Unit of assessment Weighting
Coursework Coursework 25
Examination Online Examination ONLINE (OPEN BOOK) EXAM WITHIN 4HR WINDOW 75

Alternative Assessment


Assessment Strategy

The assessment strategy for this module is designed to provide students with the opportunity to demonstrate the following. Problem Classes, assignments, examination: Knowledge of machine learning concepts including why machine learning is necessary and for what kinds of circumstances. Knowledge of the fundamental machine learning paradigms and representative learning algorithms including their application scope and the underlying assumptions. Skills of identifying the suitable machine learning paradigms for a given problem from a specific domain. Knowledge of designing machine learning systems including how to achieve optimum performance and how to deal with large-scale data. Skills of applying machine learning methods, mathematical and computer-based models, and using computer software (Python) to solve target problems. Programming skills and understanding of software tools, development environments, libraries and reusable components (such as Python workflows). Laboratory based assessment: Practical knowledge and skills on how to implement basic machine learning systems based on an understanding of relevant knowledge delivered in lectures. Skills of identifying and analyse problems, and developing software solutions to remove problems. Assessed by laboratory exercises.

Thus, the summative assessment for this module consists of the following:

Coursework 25%, Examination 75%. The examination consists of a written examination. There are several questions each from different areas of the course. Some questions each may consist of a few sub-questions for testing knowledge, analytical, and design skills. The coursework assessments consist of using the Python programming language to perform a carefully designed experiment, with a report summarising the outcomes. The purpose of the coursework is for students to practically apply the theoretical knowledge gained from the lectures to real-world applications.

Formative assessment and feedback

For the module, students will receive formative assessment/feedback in the following ways. · During lectures, by question and answer sessions · During supervised computer laboratory sessions

Module aims

  • The aim of this module is to offer a fundamental course on the principles of modern machine learning which underpin a variety of disciplines like Machine Vision, Natural Language Processing, Remote Sensing, Surveillance, Medical Imaging, Multimedia etc. In particular the course focuses on basic learning paradigms and representative learning algorithms that have been widely exploited and explored in the past decades across various domains as above.
  • 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 machine learning principles and the theory behind those KC M1, M2
002 Be able to choose an appropriate machine learning method for a given target problem to be solved, and predict the outcome of the applied solution KCT M3, M4
003 Be able to formulate problems from a specific domain in a mathematical way and solve them to achieve optimality in performance KCT M6, M13
004 Be able to analyse some non-trivial problems in real-world applications, understand the concepts behind them and come up with possible algorithmic solutions. CP M3, M16, M17

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to achieve the following aims:

  • To introduce the basic ideas of machine learning to set up a solid understanding for the fundamental learning algorithms

  • To introduce the necessary mathematical knowledge for machine learning such as linear algebra

  • To learn to analyse the problem from a mathematical perspective and identify the best machine learning paradigm that can be used to build possible solutions

  • To learn basic programming skills and understanding of software tools, development environments, libraries and reusable components such as Python libraries

  • To learn skills of applying machine learning methods, and of using computer software (Python) to solve representative problems

  • Skills involve identifying and analysing the problems based on some domain knowledge, and developing software solutions to resolve the problems.

Learning and teaching methods include the following.

  • Lectures and presentation of new material to students with associated in class discussion 

  • Laboratory sessions in which students will have an opportunity to develop their programming skills and use of libraries to solve problems

  • A Python based coding assignment with an associated written report. 

  • Timetabled revision classes which demonstrate the principles of the theory in quantitative worked examples and prepare students for the written examination.

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: EEEM066

Other information

  • Digital capabilitiesBy 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
  • EmployabilityBy teaching students practical deep learning skills which is the most welcomed skill set in modern machine learning e.g. exploring a component that addresses specific industrial problems
  • Global and cultural capabilitiesBy studying ethics-related topics around computer vision; by teaching machine learning techniques around data bias and domain adaptation, which is cornerstone to deploying ML 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 2023/4 academic year.