Undergraduate study

Undergraduate 

Software Engineering (in partnership with KMITL) BSc/MSci

Data Fundamentals (H) COMPSCI4073

  • Academic Session: 2026-27
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 4 (SCQF level 10)
  • Typically Offered: Semester 1
  • Available to Visiting Students: Yes
  • Collaborative Online International Learning: No
  • Curriculum For Life: No

Short Description

This course will cover computational approaches to working with numerical data on a large scale. Computation on arrays of continuous variables underpins machine learning, information retrieval, data analytics, computer vision and signal processing. This course will cover vectorised operations on numerical arrays, fundamental stochastic and probabilistic methods and scientific visualisation.

Timetable

Two one-hour lectures and one one-hour tutorial per week.

Excluded Courses

None

Co-requisites

None

Assessment

Examination 80% and Practical Skills Assessment 15%, in-class quizzes 5%.

 

Practical: Lab work, submitting code for a series of 4 laboratory exercises. Each will be worth 3.75% of the total marks for this course.

Quizzes: multiple choice questions administered during lectures.

Main Assessment In: April/May

Course Aims

This course will give students skills in manipulating continuous data, specifying problems in a forms that can be solved numerically, dealing with unreliable and uncertain information, and communicating these results. DF(H) will introduce operations on vectors and matrices, specifying and solving problems via numerical optimisation, time series modelling, scientific visualisation and basic probabilistic computation. Students will learn how to bridge the continuous and discrete worlds; for example solving graph flow problems via matrix operations, or how to do robust A/B testing of websites The focus will be firmly on applying and solving these problems from a computer science perspective and not on theoretical background or formal proofs. The course also aims to develop students' understanding of sustainability and decarbonisation as related to the topic.

Intended Learning Outcomes of Course

By the end of this course students will be able to:

1. formulate problems in tensor form and fluently manipulate tensors;

2. efficiently run vectorized code; 

3. apply matrix decomposition to practical problems;

4. represent problems as objective functions and apply optimisation to solve them;

5. formulate and understand problems with stochastic elements;

6. understand the principles of Bayesian inference and apply it to simple problems;

7. create effective, clear, and precise visualisations of scientific data;

8. understand the effects of sampling and noise on time series;

9. process, filter, summarise and plot time series and array data.

10. recognise risks and ethical issues in data analysis and numerical computations and reason about their environmental impact.

Minimum Requirement for Award of Credits

No exceptions