Module information
Module details
- Title
- Programming
- Type
- Specialist
- Module code
- SBI129
- Credits
- 10
- Requirement
- Compulsory
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.
Work-based content
Competencies
# | Learning outcome | Competency | Action |
---|---|---|---|
# 1 | Learning outcome 1 |
Competency
Perform requirements capture within a genetic analysis team to capture functional and non-functional requirements. |
Action View |
# 2 | Learning outcome 1 |
Competency
Establish a development environment and undertake program development. |
Action View |
# 3 | Learning outcome 1,2 |
Competency
Test, debug and evaluate the program, and perform user acceptance procedures. |
Action View |
# 4 | Learning outcome 2 |
Competency
Maintain and upgrade software solutions, ensuring compliance with quality assurance procedures, including version control. |
Action View |
# 5 | Learning outcome 3 |
Competency
Evaluate the program against non-functional requirements. |
Action View |
# 6 | Learning outcome 3 |
Competency
Finalise the programme documentation and file in accordance with local quality assurance processes. |
Action View |
Assessments
You must complete:
- 2 case-based discussion(s)
- 2 of the following DOPS/ OCEs:
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 |
Learning outcomes
- 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).
- Develop documentation and testing protocols for the program according to local practice.
- Evaluate the program against non-functional requirements such as maintainability, efficiency and readability, finalise the software, and update and complete the documentation.
Academic content (MSc in Clinical Science)
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
- Express a clear understanding of the basic principles of an object-oriented programming language, e.g. Java.
- Discuss the need for a development process.
- 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
Clinical experiences
Important information
Clinical experiential learning is the range of activities trainees may undertake in order to gain the experience and evidence to demonstrate their achievement of module competencies and assessments. The list is not definitive or mandatory, but training officers should ensure, as best training practice, that trainees gain as many of these clinical experiences as possible. They should be included in training plans, and once undertaken they should support the completion of module assessments and competencies within the e-portfolio.
Activities
- To experience and evaluate all stages of a full software development life cycle, including:
- participate in meetings where clinical software requirements are discussed and agreed;
- development of user specifications;
- development of prototypes and evaluation of software;
- system acceptance;
- documentation, maintenance and further development;
- laboratory quality management and quality assurance processes.
- Observe the work of a genetics service and evaluate the positive contribution of a bioinformatician, identifying the strengths and areas where the contribution could be strengthened to enhance service delivery and patient care.