This course is unavailable through clearing

This course is now full for our 2020 entry, but have a look at our clearing vacancies to see if a similar course has space.

Search all clearing vacancies

MEng Software Engineering

Year of entry: 2020

Coronavirus information for applicants and offer-holders

For the latest updates on how coronavirus will affect applicants and offer-holders, you can visit our FAQs.

Read our latest coronavirus information

Holding an offer for 2020 entry? Visit our dedicated offer-holders page.

Information for offer-holders

Course unit details:
Data Science

Unit code COMP13212
Credit rating 10
Unit level Level 1
Teaching period(s) Semester 2
Offered by Department of Computer Science
Available as a free choice unit? No


This course unit has two objectives. The first is to introduce the student to a range of fundamental, non-trivial algotithms, and to the techniques required to analyse their correctness and running-time.

The second is to present a conceptual framework for analysing the intrinsic complexity of computational problems, which abstracts away from details of particular algorithms.


To give students awareness of the elements of the “Data Science

Process” (many, but not all, of which will be studied in detail in this course).

To give students practice in using python tools for data processing and analysis, including numpy, scipy.stats, pandas, and Jupyter notebooks. 

To give students understanding and practice in exploration and visualization of data.

To give students understanding of uncertainty in data, including how to measure it, visualise it, and model it. 

To give students an introduction to statistical thinking and Bayesian reasoning.

To give students an introduction to ethical considerations in analysing data and drawing responsible conclusions.

To give a brief introduction to machine learning by use of naive Bayes classification and linear and logistic regression.

Learning outcomes

  • Demonstrate awareness of the “Data Science Process” by describing qualitatively how it would apply in a given situation. 
  • Demonstrate awareness of need for data cleaning descriptively and by doing elementary data cleaning and preparation in the laboratory.  
  • Demonstrate ability to measure and express uncertainty from a set of data and quantities derived from that data. 
  • Demonstrate ability to choose and build appropriate models of different datasets. 
  • Demonstrate ability to evaluate the quality of a model of a dataset. 
  • Demonstrate the ability compare different models of a dataset and models of different dataset in order to draw statistically sound conclusions about hypotheses or claims from the data. 
  • Demonstrate ability to use python tools to: read and write data sets to and from files, produce descriptive statistics and draw conclusions from these, produce graphical visualisation and draw conclusions, perform basic statistical tests including the difference between means, and perform a simple machine learning experiment by building an email spam filter using a naive Bayes classifier.


Teaching and learning methods

Lectures and coursework reported via Jupyter notebooks in Python.

Assessment methods

Method Weight
Written exam 80%
Practical skills assessment 20%

Recommended reading

To be determined


Study hours

Scheduled activity hours
Lectures 22
Practical classes & workshops 12
Independent study hours
Independent study 66

Teaching staff

Staff member Role
Jonathan Shapiro Unit coordinator

Return to course details