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: Data Analysis and Machine Learning 4 (ELEE10031)

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
SummaryData-driven solutions using machine learning are becoming increasingly prevalent in society. It is essential that the modern engineer has the tools to analyse and interpret data, and be able to apply machine learning methods where appropriate. They should also have an appreciation of the ethical issues that can arise when making decisions based on these methods.

This course aims to provide engineering students with the skills to process and examine different forms of data in Python, and an understanding of how machine learning methods can use this data to solve classification and regression problems. They will learn how to implement these methods in Python using Scikit-learn and PyTorch. The students will also gain an awareness of: when it is appropriate to use a particular method (if any); best practices; the ethical issues that can occur when sourcing data and deploying machine learning 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 technical content of the course is split into three parts:

Data analysis (Weeks 1-3): data modalities, representing data, summarising and visualising data, standardisation, principal component analysis, dimensionality reduction, K-means clustering

Linear models (Weeks 5-7): linear regression, ridge regression, lasso regression, perceptrons, logistic regression, support vector machines, kernels

Non-parametric and non-linear models (Weeks 8-10): k-nearest neighbours, decision trees, random forests, multilayer perceptrons, backpropagation, convolutional neural networks

Week 4 is both an introduction to machine learning, and a look at ethical issues that can arise in its application. Students will learn about generalisation, regularisation, model selection, model evaluation, and optimisation throughout the course.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Students MUST have passed: Programming Skills for Engineers 2 (SCEE08014) OR Engineering Software 2 (ELEE08017) OR Numerical Methods and Computing 2 (CIVE08017) OR Computational Methods for Chemical Engineers 2 (CHEE08011) OR Informatics 2 - Introduction to Algorithms and Data Structures (INFR08026) AND Sensor Networks and Data Analysis 2 (ELEE08021)
Prohibited Combinations Students MUST NOT also be taking Introductory Applied Machine Learning (INFR10069) OR Machine Learning (INFR10086) OR Machine Learning and Pattern Recognition (INFR11130)
Other requirements Students who have taken Introductory Applied Machine Learning (INFR10069) in a previous year are not permitted to take this course.
Information for Visiting Students
High Demand Course? Yes
Course Delivery Information
Academic year 2022/23, Available to all students (SV1) Quota:  62
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) Mini-tests (50%) - There are 3 mini-tests worth 16.67% each. These open-book tests are taken in-person. Each will consist of (i) short answer questions on theory; (ii) some programming exercises.

Coursework 1 (25%) - The student will record a short presentation performing a case study on a real-world application of machine learning.

Coursework 2 (25%) - The student will perform exploratory data analysis and machine learning on a given dataset and will produce a report on their findings.
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 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
Course organiserDr Elliot Crowley
Course secretaryMrs Megan Inch-Kellingray
Tel: (0131 6)51 7079
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information