Programming (SBI129)

10 credits

Aim of this module

Bioinformatics and physical science in medicine are fast-moving areas. It is often the case that specific tools and resources that would be useful in a clinical or laboratory setting are not available commercially. Therefore the ability to be able to develop a safe and effective code for use within the trainee’s organisation is an important part of the skill set of an effective information scientist. This module will provide trainees with a sound introduction to programming and safe and effective software development practice. This module will provide the trainee with the opportunity to use safe and effective software development/coding to provide solutions to issues arising within a clinical environment.

  1. Design and code a small programme in Java or an alternative object-oriented programming language for bioinformatic application and proceed to test and debug the program in accordance with good programming practice. (For example for transforming large data sets, which meets simple requirements expressed in plain language).
  2. Develop documentation and testing protocols for the program according to local practice.
  3. Evaluate the program against non-functional requirements such as maintainability, efficiency and readability, finalise the software, and update and complete the documentation.
Number Work-based learning outcome Title Knowledge
1 1

Perform requirements capture within a genetic analysis team to capture functional and non-functional requirements.

2 1

Establish a development environment and undertake program development.

3 1,2

Test, debug and evaluate the program, and perform user acceptance procedures.

4 2

Maintain and upgrade software solutions, ensuring compliance with quality assurance procedures, including version control.

5 3

Evaluate the program against non-functional requirements.

6 3

Finalise the programme documentation and file in accordance with local quality assurance processes.

You must complete
2 Case-based discussion(s)
2 of the following DOPS / OCEs
Assessment Title Type
Write a program to create a reverse complement from a DNA sequence, and explain the development environment, the data source, the libraries used and the algorithm employed. DOPS
Create a script to parse a large text file and output a small specified subset of data. DOPS
Write a set of unit tests to evaluate whether the output of a script or set if functions is correct, including edge cases DOPS
Construct a script using OO methods to parse data. DOPS
Participate in an MDT meeting where clinical software requirements are discussed and agreed OCE

Important information

The academic parts of this module will be detailed and communicated to you by your university. Please contact them if you have questions regarding this module and its assessments. The module titles in your MSc may not be exactly identical to the work-based modules shown in the e-portfolio. Your modules will be aligned, however, to ensure that your academic and work-based learning are complimentary.

Learning Outcomes

  1. Express a clear understanding of the basic principles of an object-oriented programming language, e.g. Java.
  2. Discuss the need for a development process.
  3. Discuss the role of testing programs and good documentation.

Indicative Content

  • Sequential execution and programming
  • Types, variable and expressions
  • Execution flow control
  • Separate methods
  • Separate classes
  • Object-oriented design
  • Introduction to graphical user interfaces
  • Arrays
  • Files and exceptions
  • Programming testing
  • An introduction to modern development and documentation tools