THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2025/2026

Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Engineering : Electronics

Undergraduate Course: Machine Learning and Data Analysis 4 (ELEE10033)

Course Outline
SchoolSchool of Engineering CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 10 (Year 4 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryMachine Learning (ML) is the study of algorithms that are able to learn from existing data, in order to make predictions on new data. ML is becoming a key part of modern engineering; it is essential that engineers know how to train and evaluate ML algorithms, understand how they work, and are able to analyse data and identify whether it is suitable for use with ML.

This course aims to provide engineering students with the skills to process and examine different forms of data and an understanding of how ML algorithms can use this data to solve problems. They will learn how to implement these algorithms in Python using Sklearn and PyTorch. The students will also gain an awareness of: when it is appropriate to use a particular algorithm (if any); best practices; the issues that can occur when sourcing data and deploying ML in the real world.
Course description This course takes a hands-on approach to performing data analysis and using machine learning. It combines traditional teaching with lab sessions using interactive Jupyter notebooks where students will develop and run Python code to analyse data and try out machine learning methods for themselves. Each week's teaching will consist of a lecture to introduce material and a follow-up lab session to put it into practice.

The provisional topics for this year are:

1. Introduction, summarising and visualising data
2. Linear models for regression
3. Linear models for classification
4. Model selection and evaluation
5. Decision trees and ensembles
6. Gaussian processes
7. Dimensionality reduction and clustering
8. Deep Neural Networks
9. Vision models
10. Language models
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Students MUST have passed: ( Programming Skills for Engineers 2 (SCEE08014) OR Informatics 2 - Introduction to Algorithms and Data Structures (INFR08026)) AND Sensor Networks and Data Analysis 2 (ELEE08021)
Co-requisites
Prohibited Combinations Students MUST NOT also be taking Machine Learning (INFR10086) OR Applied Machine Learning (INFR11211) OR Machine Learning and Pattern Recognition (INFR11130)
Other requirements Students taking this course MUST be proficient in using Python. This course assumes background knowledge of linear algebra, multivariable calculus, and probability.
Information for Visiting Students
Pre-requisitesPlease see the "Other Requirements" box
High Demand Course? Yes
Course Delivery Information
Academic year 2025/26, Available to all students (SV1) Quota:  None
Course Start Semester 2
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 10, Supervised Practical/Workshop/Studio Hours 30, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 58 )
Assessment (Further Info) Written Exam 0 %, Coursework 100 %, Practical Exam 0 %
Additional Information (Assessment) Coursework 100%

Coursework is based on class tests (provisionally, one in Week 6 and one in Week 11, printed notes permitted).
Feedback Not entered
No Exam Information
Learning Outcomes
On completion of this course, the student will be able to:
  1. read in and analyse different types of data;
  2. visualise and summarise datasets in Python;
  3. apply machine learning algorithms to new data in Python;
  4. describe best practices for training and evaluating machine learning models, and be aware of common pitfalls;
  5. appreciate the ethical issues that can arise when deploying machine learning algorithms in society.
Reading List
Optional but very helpful:
- Raschka, Liu, and Mirjalili. Machine Learning with PyTorch and Scikit-Learn. Packt Publishing, 2022.
- Murphy. Probabilistic Machine Learning: An Introduction. MIT Press, 2022. (free online)
Additional Information
Graduate Attributes and Skills Not entered
KeywordsMachine Learning,Data Analysis,Python
Contacts
Course organiserDr Elliot Crowley
Tel:
Email: elliot.j.crowley@ed.ac.uk
Course secretaryMs Viola Brunori
Tel: (0131 6)50 5687
Email: vbrunori@ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Prospectuses
Important Information