• Event
  • Scientific training

Introduction to Python for Biologists 2020

This introductory level course will be delivered virtually, and is intended for people with a biological background but with no previous programming experience. The course introduces basic programming concepts with plenty of time to practice writing code and work on your own data.

Start date:

08 June 2020

End date:

19 June 2020


09h00 - 12h30


Online (via Zoom)

Registration deadline:

31 May 2020



About the event.

About the event

Python is a dynamic, readable language that is a popular platform for all types of bioinformatics work, from simple one-off scripts to large, complex software projects. This workshop is aimed at complete beginners and assumes no prior programming experience. It gives an overview of the language with an emphasis on practical problem-solving, using examples and exercises drawn from various aspects of bioinformatics work. The workshop is structured so that the parts of the language most useful for bioinformatics are introduced as early as possible, and that students can start writing plausibly-useful programs after the first few sessions.

After completing the workshop, students should be in a position to:

(1) apply the skills they have learned to tackling problems in their own research, and;

(2) continue their Python education in a self-directed way.

This event will now be delivered virtually due to COVID-19, and the fee and schedule have been updated accordingly. See further details on the structure below, and for any further questions contact training@earlham.ac.uk

  • The programme will be delivered over ten days, from Monday 8 June - Friday 19 June, weekdays only.
  • On each day there will be 3.5 hours of live input (via zoom) from the trainer (9:00-12:30 GMT, including breaks).
  • Morning sessions will comprise:
    • Lectures (any lectures/input will be recorded and made available to participants as soon as possible that day).
    • Practical exercises, with the trainer on hand to assist and offer 1-1 support.
  • A slack channel will be open during the afternoon for adhoc questions for the trainer.
  • Participants are welcome to continue to work on materials during the afternoons, but this is non-compulsory.
  • There will be an optional ‘drop in’ session each day between 15:30-16:00 GMT (via zoom), which participants may join if they wish to ask further questions or discuss.
  • There will be no teaching/input during this half hour session.
  • See the ‘further information’ tab to check what is required from participants.

"Extremely useful and approachable way to learn a new language. I definitely love the way how Martin teaches and the logics to show the computing language."

~ Introduction to Python course attendee, July 2018

"Really excellent. I learned so much and have never loved coding so much."

~ Introduction to Python course attendee, April 2017

Please see here for a detailed syllabus of the course.

Course prerequisites/target audience:

This workshop is aimed at researchers and technical workers with a background in biology, but no previous programming experience.

Students should have enough biological/bioinformatics background to appreciate the examples and exercise problems (i.e. they should know what a protein accession number, BLAST report, and FASTA sequence is). The syllabus has been planned with complete beginners to programming in mind, so no particular computer skills (beyond the ability to use a text editor) are necessary.

During the workshop students will use their own laptops. Instructions for any software to be installed will be sent out prior to the course.

Looking for more advanced training? See our Advanced Python for Biologists 2020 course.

If you are unsure about the suitability of this course for your needs, questions can be directed to Martin Jones.

About the trainer:

Martin started his programming career by learning Perl during the course of his PhD in evolutionary biology, and started teaching other people to program soon after. Since then he has taught introductory programming to hundreds of biologists, from undergraduates to PIs, and has maintained a philosophy that programming courses must be friendly, approachable, and practical.

In his academic career, Martin mixed research and teaching at the University of Edinburgh, culminating in a two year stint as Lecturer in Bioinformatics. He now runs programming courses for biological researchers as a full time freelancer.


Please see here for a detailed syllabus of the course. See the ‘About the event’ tab for full details on how this will be delivered virtually.

Looking for more advanced training? See our Advanced Python for Biologists 2020 course.


Day 1 - 08 June 2020



09:00 - 12:30

Day 1 - Introduction & Manipulating text

Day 2 - 09 June 2020



09:00 - 12:30

Day 2 - Working with Files

Day 3 - 10 June 2020



12:30 - 12:30

Day 3 - Lists and loops

Day 4 - 11 June 2020



09:00 - 12:30

Day 4 - Conditions

Day 5 - 12 June 2020



09:00 - 12:30

Day 5 - Writing functions

Day 6 - 15 June 2020



09:00 - 12:30

Day 6 - Regular expressions

Day 7 - 16 June 2020



09:00 - 12:30

Day 7 - Dictionaries

Day 8 - 17 June 2020



09:00 - 12:30

Day 8 - Working with the file system

Day 9 - 18 June 2020



09:00 - 12:30

Day 9 - Programming workshop based on progress of the course and delegates’ interests

Day 10 - 19 June 2020



09:00 - 12:30

Day 10 - Programming workshop based on progress of the course and delegates’ interests

Further information.

Requirements from participants


To follow along with the live programming examples you'll need to be able to have two windows open - one for the zoom video, and one for your own code. The best way to do this is to either have a single large monitor, or two small ones. If you're using a laptop, an external monitor is a good idea. Working on just a single laptop screen is possible, but it will involve a lot of switching between windows. Remember that your zoom window will need to be big enough for you to see code, so a small window that works fine for chatting will probably not be big enough.


Obviously you'll need an internet connection to take part in all the sessions. Because most of the screen sharing will be code, your internet connection doesn't have to be fast - but it does have to be reliable. If you possibly can, use an ethernet cable to connect to your router rather than wifi - this will reduce latency and work better for streaming video.

If you do have wifi problems, we won't be able to stop and troubleshoot in class, so make sure that everything is set up in advance. We will arrange a pre-course drop in to check everybody's video.

We'll do our best to record and host the videos after each session so that if you do miss something you can catch up.


To run the Python code and follow the interactive notebooks, you'll need to download and install Anaconda from this link: https://www.anaconda.com/products/individual

Make sure you get the right installer for your operating system (Windows, Mac or Linux) and make sure you get the Python 3.7 version. Please install this even if you already have a version of Python on your system, as we will need to be all running the same environment for the course to go smoothly. 

The Anaconda package takes a while to download and install, so please do this well in advance of the course and get in touch if you have problems - don't leave it until the last minute. We won't have time during the class to stop and troubleshoot problems with your installation, but we can help you get it set up in advance.

You will need to have an account for Zoom and Slack. We recommend that you download the clients for these rather than using the browser version.


Terms and conditions

Please carefully review our standard online event booking terms and conditions prior to registering for this event. Completing an online registration and associated payment process will mean that you are bound by these terms and conditions. Any supplemental terms or changes to these conditions on a per event basis will be included on this page. If you have any queries regarding our events or in relation to your booking, please contact us at training@earlham.ac.uk