MSc Bioinformatics and Systems Biology

Year of entry: 2021

Coronavirus information for applicants and offer-holders

We understand that prospective students and offer-holders may have concerns about the ongoing coronavirus outbreak. The University is following the advice from Universities UK, Public Health England and the Foreign and Commonwealth Office.

Read our latest coronavirus information

Course unit details:
Programming Skills

Unit code BIOL60201
Credit rating 15
Unit level FHEQ level 7 – master's degree or fourth year of an integrated master's degree
Teaching period(s) Semester 1
Offered by School of Biological Sciences
Available as a free choice unit? No


This unit aims to introduce basic programming skills to the non-expert, including the unix environment, command line driven computing, and the Python and Java programming languages. Using an online environment, accessible directly from any browser, we will introduce the basics of Python, which is a powerful scripting language that is now ubiquitous throughout bioinformatics and scientific computing. You will test your developing skills on an assessed project that aims to develop a “pipeline” of simple Python programs to address a particular problem in genomics/proteomics. In the second half of the unit, you will be introduced to the Java programming language and more formal object-orientation. This will be assessed via a second project that you will complete individually. Labs are coupled to all the lectures where you will be able to test out your new skills, tackle exercises, and work on your project code where demonstrators and lecturers are able to help you design and debug your code.


This unit aims to:

  • develop relevant IT skills for bioinformatics, including the unix environment
  • introduce both Python and Java programming languages
  • develop skills in writing programs to solve biological data handling problems, both as individuals, and as a group

Learning outcomes

  • Students will become familiar with use of a range of programming skills useful for writing bioinformatics software and developing biological data analysis solutions in Python and Java.

  • They will gain experience of writing software for individual tasks, and working in small groups to link together programs to form an analysis pipeline.

  • Students will be aware of issues of usability and will know how to deliver data and tools.


Introduction to CoCalc as an online learning environment

Introduction to the unix environment and command line driven computing, including basic commands for files, folders and management, pipes and redirection.

Introduction to the Python programming language. This will cover language syntax essentials, variables, conditional and loops, file input and output, python functions and regular expressions, and modules. All will be illustrated with examples, mostly centred on biological data types.

Python program development and pipelines to solve a challenge in data analysis involving genomic and proteomic data. This will involve development of individual standalone programs, that can also be run as a pipeline for each group. Code, coupled with a short group report are assessed as Project 1.

Introduction to Eclipse and an IDE for development in the Java programming language. This will cover syntax essentials, variables, conditional and loops, classes and object-orientation, exception handling, file input and output, inheritance, data structures, graphical user interfaces.

The Java component  is assessed via a second assessed project, which is completed individually.

Labs are coupled to all the lectures where you will be able to test out your new skills, tackle exercises, and work on your project code where demonstrators and lecturers are able to help you design and debug your code

Teaching and learning methods

  • Lectures: 12 hours
  • Practicals: 22 hours
  • Project work: Two programming projects will be completed in a period of approximately 8 weeks during Semester 1, in the practical classes and in the students’ own time.

Employability skills

Group/team working
As part of one project, the students will work in groups to write a series of computer programmes, ensuring that the inputs/outputs of each programme talk to each other and that the final step produces results that address the overall question.
Problem solving
The first project will ask the students to solve a problem in genomics/proteomics by developing a ¿pipeline¿ of simple Python programmes.
Written communication
Students will complete two written projects. For one of the projects, students will be asked to provide a user guide for a computer programme.

Assessment methods

Two Project reports, software and demonstration of software resulting from the second project.

50% per project.

Project 1 is split 80:20 for individual vs. group work

Feedback methods

Detailed written feedback on projects and reports is provided for each student and group, as well as verbal feedback during labs on scripts and programs as they are written. Students are also provided with optional introductory exercises for Unix and Python and again, direct one-to-one feedback is available for any students attempting these.

Recommended reading

  • Learning Python, Second Edition, Lutz and Ascher. O’Reilly Media ISBN: 978-1-4493-5573-9 | ISBN 10: 1-4493-5573-0  - Reference


  • Python for Biologists: A complete programming course for beginners. Martin Jones. ISBN-10: 1492346136 - ISBN-13: 978-1492346135  - Reference – better for complete beginners.


  • Java Illuminated: An Active Learning Approach. Julie Anderson, Hervé Franceschi, Jones & Bartlett Learning, Third Edition, 2011. - Reference

Study hours

Independent study hours
Independent study 0

Teaching staff

Staff member Role
Simon Hubbard Unit coordinator

Return to course details