Bioinformatics MSc/PgDip/PgCert
Programming and Databases for Biologists BIOL4292
- Academic Session: 2026-27
- School: School of Infection and Immunity
- Credits: 20
- Level: Level 4 (SCQF level 10)
- Typically Offered: Semester 1
- Available to Visiting Students: Yes
- Collaborative Online International Learning: No
- Curriculum For Life: No
Short Description
Computer Programming is a vital foundational skill for bioinformaticians and for any biologist needing to run analyses in anything but a trivial manner. Alongside this, being able to store and retrieve data from databases is crucial for efficient utilisation of the huge amounts of biological knowledge already in existence. This course seeks to introduce the fundamental elements of modern computer programming and relational databases, with a particular emphasis on the data and applications usually found in biological contexts. Languages used to foster the development of these skills will include both Python and SQL.
Timetable
This course will take place throughout Semester 1. On average, students will attend 2-3 hours of lectures and 4 hours of practical programming sessions, subject to week-to-week variation and with reduced hours towards the end of the semester to promote engagement with assessments.
Excluded Courses
None.
Assessment
All assessment is by coursework:
Set Exercise 1 (CW1, 30%)
A practical exercise that requires students to write code in Python to address a specification. ILOs 1, 2 and 6. This assessment will typically be submitted mid-term and act as feed-forward for set exercise 2.
Set Exercise 2 (CW2, 40%)
A practical exercise that requires students to create a Python interface to a relational database system. ILOs 1, 2, 5, 6.
Report (CW3, 30%)
A report accompanying CW2. Students will be asked to describe how they built a relational model of a dataset supplied to them and how they implemented this as a relational database. ILOs 3, 4
Course Aims
This course aims to foster an understanding of computing and programming in general, both conceptually and in terms of implementation on computer hardware. Students will develop an understanding of database systems and how to model biological data, and of how to write computer programs to manipulate these data. Students will learn these concepts during lectures and have the opportunity to put these approaches into practice during extensive computer lab practicals.
Intended Learning Outcomes of Course
By the end of this course students will be able to:
1. Construct and discursively analyse computer programs that read, manipulate and output bioinformatic data
2. Design and implement reusable software to operate on bioinformatic data
3. Discuss and appraise the concepts underlying databases and data modelling
4. Design and implement a relational database to model bioinformatic data
5. Construct queries to store and read data from relational database management systems
6. Write programs in the programming languages Python and SQL