- Academic Registry
Course & Unit Catalogues

CM50267: Software technologies for data science

[Page last updated: 23 October 2023]

Academic Year: 2023/24
Owning Department/School: Department of Computer Science
Credits: 12 [equivalent to 24 CATS credits]
Notional Study Hours: 240
Level: Masters UG & PG (FHEQ level 7)
Semester 1
Assessment Summary: CW 100%
Assessment Detail:
  • System design assignment (CW 100%)
Supplementary Assessment:
Like-for-like reassessment (where allowed by programme regulations)
Learning Outcomes: After completion of the unit, students should be able to:
1. critically evaluate the features of various programming languages and software packages for data science,
2. explain, relate and accommodate factors affecting complexity, performance, numerics, scalability and deliverability of solutions,
3. implement low-level data science functionality using a relevant programming language (e.g. Python),
4. apply a range of complex analytic methodologies, notably machine learning techniques, using relevant software libraries,
5. assess the applicability and relevance of key "Big Data" software technologies in varied scenarios.

Aims: To teach numeric programming in a relevant language (for example, Python), how to undertake lower-level data science using that language (and its associated libraries), and how to scale up and apply higher-level software to "Big Data".

Skills: Intellectual skills:
* Algorithmic thinking for data modelling (T,F,A) Practical skills:
* Programming in a relevant language (e.g. Python) and use of associated numeric/scientific libraries (T,F,A)
* Evaluation of scalable software for data applications (T,F,A) Transferable skills:
* Numerical programming (T,F,A)

Content: The first segment will introduce a relevant programming language for data science (e.g. Python): general computing, use of essential libraries for data science (e.g. Numpy, Scipy, Matplotlib, Scikit-learn in the context of Python) and numerical and performance factors underlying.
The second part will cover the use of data structures, database systems, and software technologies for scalability, from the viewpoint of both storage and computation.

Course availability:

CM50267 is Compulsory on the following courses:

Department of Computer Science


  • This unit catalogue is applicable for the 2023/24 academic year only. Students continuing their studies into 2024/25 and beyond should not assume that this unit will be available in future years in the format displayed here for 2023/24.
  • Courses and units are subject to change in accordance with normal University procedures.
  • Availability of units will be subject to constraints such as staff availability, minimum and maximum group sizes, and timetabling factors as well as a student's ability to meet any pre-requisite rules.
  • Find out more about these and other important University terms and conditions here.