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
Requirements of Entry
Acceptance into one of the MSc programmes listed in section 10 below.
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.