Developing Robust Bioinformatics Software BIOL5472

  • Academic Session: 2025-26
  • School: MVLS College Services
  • Credits: 10
  • Level: Level 5 (SCQF level 11)
  • Typically Offered: Semester 2
  • Available to Visiting Students: No
  • Collaborative Online International Learning: No
  • Curriculum For Life: No

Short Description

Building interactive applications for exploring and viewing data requires advanced software development skills. This course focuses on writing readable, maintainable, and reusable software collaboratively for exploration and visualisation of bioinformatics data. Through this work, you will learn standard practices employed in the software industry for writing robust and maintainable code. This course would suit students wishing to improve their software development skills to create larger and more complex applications, whether in academia or industry.

Timetable

This course comprises a mix of lectures and lab across 5 weeks in Semester 2.

Requirements of Entry

None

Excluded Courses

None

Co-requisites

None

Assessment

1. Set exercise, collaborating in small groups, to build a piece of software that is hosted in a GitHub repository, with clear evidence of inclusion of relevant unit tests, and use of good design principles. Individual student contributions will be determined using measures recorded by GitHub, such as proportion and frequency of commits, use of feature branches, and code review activity on Pull Requests (70%) [ILO 1,2,3,4]

2. Written two-page report, submitted individually, justifying their role within the group project. Students should outline how they effectively collaborated by describing the features that they themselves were responsible for, as well as how they were able to support their fellow group members (30%) [ILO 1,3]

Course Aims

To foster industry standard techniques for ensuring that software is robust and scientifically rigorous and to equip students with crucial skills for confident contribution to collaborative software projects, including open-source projects. Skills will be reinforced through collaborative practical activities. This course provides a fundamental steppingstone from foundational programming and is recommended for any student wishing to work with production-scale software, whether in academia or industry.

To build on the foundations of programming concepts the students will already be familiar with to ensure they are fully equipped to develop robust software. In the era of big data and AI, software tools are a necessary part of contemporary Bioinformatics research. By taking this course, students will learn crucial skills to ensure they can build their own reusable and well-documented tools, or contribute to open source projects. In turn, this will help reinforce a collaborative and rigorous research culture.

Intended Learning Outcomes of Course

By the end of this course students will be able to:

1. Demonstrate industry-standard code design practices in new and refactored code

2. Integrate static analysis and testing tools into a piece of software

3. Apply advanced version control concepts to a collaborative software project

4. Develop a robust, packaged application for exploring and visualising Bioinformatics data

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.