Computer Systems Engineering MSc
Introduction to Data Science and Systems (M) COMPSCI5089
- Academic Session: 2026-27
- School: School of Computing Science
- Credits: 15
- Level: Level 5 (SCQF level 11)
- Typically Offered: Semester 1
- Available to Visiting Students: No
- Collaborative Online International Learning: No
- Curriculum For Life: No
Short Description
To give students a grounding in foundational elements of data science theory and systems, including Data transformations, Database Systems, and practical data processing pipelines.
Timetable
TBC
Excluded Courses
None
Co-requisites
Programming and Systems Development (H)
Assessment
Exam worth 60%
Weekly assessed in-lab exercises worth 40%
Main Assessment In: December
Course Aims
This module provides a solid foundation in data science theory and practice, focusing on:
Core Foundations:
■ Linear Algebra: Essential for data representation and transformation, useful in machine learning algorithms as well as in other domains.
■ Probability Theory: Understanding uncertainty, probabilistic models, and statistical reasoning.
■ Optimisation: Training methods for large-scale machine learning and deep learning/AI models, including gradient-based approaches and performance considerations.
■ Data Engineering & Lifecycle: Managing data from acquisition through storage, integration, and analysis.
Applied Components:
■ Data Transformation: Array manipulation, linear algebra routines, visualisation, and probabilistic concepts
■ Data Stores & Ecosystems: Principles of data store design and selection, and their role in data-intensive systems within real-world data science scenarios
■ Data Processing Pipelines: Practical workflows indicatively using Pandas, Numpy, Scikit-learn for cleaning, integrating, and analysing diverse data; including text representation, vectorisation, similarity measures, clustering, linking, and visualisation
Intended Learning Outcomes of Course
By the end of this course students will be able to:
1. formulate problems in tensor form, manipulate tensors and run vectorised code efficiently;
2. vectorise data, measure distances between items and apply matrix transformation and decomposition to practical problems;
3. formulate and understand problems with stochastic elements;
4. formulate problems as optimisation and select appropriate approaches to solve them;
5. understand and appreciate data lifecycle principles and data-intensive best practices for designing scalable, efficient solutions to large-scale data science challenges;
6. Select appropriate data storage strategies based on specific pre-processing requirements and the velocity of incoming data;
7. Apply governance and data provenance principles.