MSc Health Data Science / Course details

Year of entry: 2024

Course unit details:
Modern Information Engineering

Course unit fact file
Unit code IIDS61311
Credit rating 15
Unit level FHEQ level 7 – master's degree or fourth year of an integrated master's degree
Teaching period(s) Semester 1
Available as a free choice unit? No


This module aims to provide an opportunity for trainees who seek to understand and make appropriate use of modern programming skills and data management technologies.  The module assumes no prior knowledge, skill or experience in this area when introducing concepts.  It will provide hands-on experience in software design, implementation and data retrieval.  Trainees are taught best pratice for creating useful and effective software solutions to real-world health problems, as well as discussing modern data management technologies.  During the module trainees will be asked to work in teams to implement a digital dashborad that makes use of NHS prescribing data for decision making.


The unit aims to introduce students to a hands-on experience of modern information engineering skills including basic programming skills (Python); automation of tasks, how track work for efficiently; and how to store and manage data effectively as well as access it using SQL and the use of version control (GiT).  This is carried out by applying Agile software engineering principles and practices to work on a real software project in small groups.  

Teaching and learning methods

This unit will delivered in a blended format: e-Learning preparation material will impart basic and core knowledge whilst the face-to-face lectures and open discussions will introduce concrete examples and encourage attendees to draw upon their own reading and experience.  Group, problem based learning will show a deeper understanding of the area and encourage collaborative working.  Example case-studies will be drawn from University of Manchester (HeRC) and University College London research-driven projects and current NHS projects.  The F2F teaching will be delivered as 1 x three day block of workshops covering a key section

Knowledge and understanding

LO1: Use core programming concepts to design and implement software

LO2: Critical understanding of  data management technologies (including their strengths and limitations) for use in real-world settings

LO3: Apply and critically appraise the software design process to a range of case-study projects

LO4:   Understand be able to select APIs to allow systems to communicate with each other

LO5: database systems/data management and modern software processes contribute to patient care pathways and the provision of high quality safe and effective patient care

LO6:  Develop plans of how to apply software quality assurance processes to a range of case-studies

LO7: Demonstrate the importance of  key role of version control systems in quality assurance

Intellectual skills

LO8: Plan a process for a clinical information system

LO9: Critically appraise a software design process

Practical skills

LO10: Develop a system for a clinical team

LO11: Construct a range of SQL commands to extract data from management systems

LO12: Complete project documentation ensuring compliance with security, governance and ethics issues with web-based systems

LO13: Design a relational database to solve a real-world scenario

LO14: Write programs in the Python programming language to manipulate data

Transferable skills and personal qualities

LO15: Work collaboratively within a team

LO16: Communicate effectively both in written and verbal format to both non-technical and technical audiences:

LO17: Work through the problem-solving cycle

Assessment methods


Sprint 3 presentation (simulated sprint review) 60% (group mark)

Blog post 40% (individual mark)

Feedback methods

Formative assessment and feedback to students is a key feature of the on-line learning materials for this unit. 

Regular presentation of results to tutor and staff to elicit feedback and develop ideas/work.

Recommended reading

John D. Blischak, Emily R. Davenport, and Greg Wilson: "A Quick Introduction to Version Control with Git and GitHub" PLoS Computational Biology, 2016

Dawson, M (2010) Python Programming (3rd ed) For the Absolute Beginner. Boston: Course Technology PTR - This beginners textbook  serves as a good reference text for using the Python programming language.

Software Carpentry (2019)

This is a free online resource for learning Python with examples of code and exercises to practice.

Atlassian (2019) The Agile Coach

This website provides an introduction to the principles of project management and software development using the Agile methodology.

Williams, L (2012) What Agile Teams Think of Agile Principles. Communications of the ACM 55(4):pp71-78

This paper discusses the evolution of Agile methodology and what the people and industrial users using it think about it.


Study hours

Scheduled activity hours
eAssessment 40
Lectures 7
Practical classes & workshops 15
Independent study hours
Independent study 88

Teaching staff

Staff member Role
Alan Davies Unit coordinator

Return to course details