spring 2021
BIO-8027 Scientific Programming with Python in the life sciences - 10 ECTS

Application deadline

PhD students at UiT apply for a seat by registering for classes in StudentWeb before 15 December.
The registration starts 15 November.
Other applicants apply for admission through SøknadsWeb before 1. December.
Application code 9301. For applicants who are granted a seat, a study right will be created, and these applicants  apply for a seat by registering for classes in StudentWeb before 15 December.

The study right gives the applicant admission to register to other open PhD courses or apply for a seat to PhD courses where entry is limited.

Type of course

PhD course mainly aimed at PhD candidates and researchers in the life sciences. The course is also available as a singular course.
Minimum 3 and maximum 20 participants.

Admission requirements

Who can apply as a singular course student:

  •  PhD student enrolled at another institution than UiT. PhD students must upload a document from their university stating that there are registered PhD students. This group of applicants does not have to prove English proficiency and are exempt from semester fee.
  • Holders of a master´s degree of five years or 3+2 years (or equivalent) may be admitted. These applicants must upload a Master´s Diploma with Diploma Supplement / English translation of the diploma. Applicants from listed countries must document proficiency in English. To find out if this applies to you, see the following list: Proficiency in English must be documented - list of countries. For more information on accepted English proficiency tests and scores, as well as exemptions from the English proficiency tests, please see the following document:  Proficiency in english - PhD level studies

The course will be arranged with a maximum of 20, and minimum of 3 students.
If more than 20 applicants, priority will be given as follows:
1. Participants admitted to the PhD programme at UiT
2. Participants in the Associate Professor programme (Førstelektorprogrammet)
3. PhD candidates from other universities
4. People with a minimum of a Masters degree (or equivalent), who have not been admitted to a PhD programme.


Course content

The first week introduces the participants to basic computation in Python. It includes all the basics necessary to get started writing working Python code. Programming concepts and techniques in Python are introduced with plentiful exercises gleaned, as far as possible, from the scientific praxis. After the first week the participants will have a good understanding of general computation in Python. They will have also completed some simpler projects. The second week then further introduces students to the most common aspects and tasks of scientific coding. Participants learn to use many of Python’s scientific packages in realistic settings. Exercises again will mostly be taken from the life sciences. Lastly, students shortly learn about the most important good coding practices. These include needs for documentation and maintainability, as well as techniques for quality assurance.
The more detailed sections of the course are:
  • Introduction to computing and Python
  • The command line, Interactive shell, Scripts
  • Basics, variables, string handling
  • Functions & control flow
  • Object-Oriented Programming
  • File in- and output
  • Error handling
  • Libraries and foreign code
  • Commonly used packages
  • Jupyter Notebooks
    • Data handling with Pandas and SciPy
    • Plotting with Matplotlib and Seaborn
    • Sequence analysis with Biopython
    • Text search with Regular Expressions
    • Generally useful packages
  • Using Blast with own code
  • Best practices: effective and efficient coding
  • Maintainable coding, testing, and debugging
  • Resources for Python programmers 

Objectives of the course

Knowledge

  • Understand the core principles of the Python programming language
  • Apply common scientific packages in Python
  • Understand common strategies to solve problems
  • Apply strategies to familiarize themselves with new techniques and tools •Understand criteria for good documentation
  • Understand the need for maintenance of code
  • Understand factors that make code efficient, maintainable, and clean
  • Know how to find resources for further study and skill development

Skills:

  • Dissect larger data sets
  • Isolate and solve complex problems
  • Identify core challenges of data analysis tasks
  • Build and manage larger data analysis projects
  • Develop programming-based problem solving skills •Reflect on own thinking and engineering
  • Understand and extend existing code
  • Build simple data analysis pipelines
  • Explain created code
  • Demonstrate an understanding of testing

Competences:

  • Rephrase scientific problems as computational problems
  • Automate everyday tasks
  • Plan computational work
  • Define coding problems of appropriate difficulty
  • Build logical and systematic thinking

Language of instruction and examination

English

Teaching methods

The course consist of 2 weeks active participation and ~ 3 week full-time (120 hours) working on the project. Course includes ca. 40 hours of lectures and ca. 40 hours computer practical and 20 hours of course preparation.

Assessment

Homework project where the participants will be required to create a short bioinformatics pipeline to analyze a larger data set and document the pipeline accordingly. Primary evaluation criteria are functionality and reproducibility of the pipeline as well as code documentation. Coding practices in light of readability, maintainability and scientific quality are also considered.
Grading for the homework exam is pass/fail. Participants have 4 weeks to complete homework project.

Work requirement:

  • Actively participate in at least 80% of the sessions.
  • Completion of data analyses problems

Re-sit exam:

There will be a re-sit examination for students that did not pass the previous ordinary examination.


  • About the course
  • Campus: Tromsø |
  • ECTS: 10
  • Course code: BIO-8027