Skip to main content

Unit information: Scientific Programming in 2021/22

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Scientific Programming
Unit code BIOLM0032
Credit points 20
Level of study M/7
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Matt Williams
Open unit status Not open




School/department School of Biological Sciences
Faculty Faculty of Life Sciences

Description including Unit Aims

This unit will introduce students to the theoretical and practical aspects of programming applied to scientific data. These include UNIX command line, the basics of scientific programming (e.g., bash, Python), connection to remote computers, work with High-Performance computers and how to write code in a professional way. The students will have opportunity to plan, develop and implement their own bioinformatic scripts as well as interact with remote clusters.

The aim of this unit will be to:

  1. Provide students with a detailed understanding of the concepts behind designing and writing their own programming scripts.
  2. Provide students with a detailed understanding of the approaches to connect and interact with remote computers, especially High-Performance computer clusters.

Intended Learning Outcomes

A: Knowledge and Understanding of:

  1. The basics of the Python programming language
  2. The concepts of interacting with remote systems and using high-performance computing systems
  3. The use of the Linux command line
  4. Data exploration and visualisation
  5. Best practices for developing software in a research context

B: Intellectual Skills/Attributes:

Able to:

  1. evaluate the best tools and approaches available for solving problems in Python
  2. analyse software and API documentation and apply it to software they create
  3. design computer algorithms and critically assess their suitability in different scenarios
  4. evaluate the best use of infrastructures (e.g. use of local computers vs remote) to solve different computational tasks
  5. create software which is sustainable and shareable

C: Other Skills /Attributes (Practical/Professional/Transferable):

Able to:

  1. Work with the command line proficiently
  2. communicate the structure and purpose of software they create
  3. demonstrate competence in programming using Python
  4. use a range of computational equipment (from desktop personal computers to high-performance clusters) to analyse data

Teaching Information

The unit will be delivered through a mixture of short lectures followed by individual exercises with computers. Blackboard will be used to engage students with the unit content.

Assessment Information

A summative computer assessment will consist of a final computer task integrating all the learning objectives.


If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. BIOLM0032).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the Faculty workload statement relating to this unit for more information.

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. If you have self-certificated your absence from an assessment, you will normally be required to complete it the next time it runs (this is usually in the next assessment period).
The Board of Examiners will take into account any extenuating circumstances and operates within the Regulations and Code of Practice for Taught Programmes.