Student Pages
Postgraduate course

Genome-scale algorithms

  • ECTS credits10
  • Teaching semesterSpring
  • Course codeBINF301
  • Number of semesters1
  • LanguageEnglish
  • Resources

Main content

Level of Study


Teaching semester


Objectives and Content

The course provides an introduction to the technologies, methods, and algorithms used in genomics. High-thoughput sequencing technologies have revolutionized the field of genomics, allowing the reconstruction of genomes, epigenomes, and transcriptomes across entire populations and at the level of individual cells. These ¿omics¿ technologies provide unique insights into the core program of life but analyzing the resulting data poses significant bioinformatics challenges.

The course is divided into two parts. The first part gives an overview of modern long and short-read sequencing technologies and their applications, including capturing global biodiversity, meta-genomics, single-cell sequencing, epi-genetics, and genomic medicine.

The second part of the course focuses on state-of-the-art algorithms and data structures for processing and analyzing high-throughput sequencing data, including the use of machine learning methods for integrating and obtaining biological insights from large-scale omics data. These techniques include de Bruijn graphs and genome assemblers, the Burrows-Wheeler transform, suffix arrays for indexing the genome and detecting repeats, and methods for clustering and network reconstruction from time series, perturbational and population-based omics data. An introduction to the complexity of the presented algorithms and their comparison will be given.

Learning Outcomes

On completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence:


The student can

  • explain different sequencing technologies, their potential and limitations, and their applications
  • choose and design approaches to process, analyze, and interpret genome, epigenome, and transcriptome sequencing data,
  • choose and design approaches to collect, integrate, analyze, and interpret large datasets of high-throughput sequencing experiments, including single-cell data and multi-omics data from the same samples,
  • choose, integrate, and apply appropriate tools from diverse bioinformatics and machine learning libraries.


The student is able to:

  • implement algorithms for the processing and analysis of high-throughput sequencing data, e.g. de-novo assembly
  • implement algorithms for the integration and analysis of large datasets with samples from multiple high-throughput sequencing experiments, including clustering and network reconstruction from time series, perturbational and population-based omics data,
  • apply bioinformatics tools on the Linux command-line,
  • efficiently query sequence databases,
  • implement their own scripts and programs using existing bioinformatics and machine learning libraries,
  • interpret the results of bioinformatics and machine learning pipelines using functional annotation, pathway, and interaction databases,
  • argue for the choice of specific algorithms and detect causes of failure

General competence:

The student is able to

  • work on a high-throughput sequencing data analysis task on their own and in a small group,
  • communicate their analysis and its biological interpretation to an interdisciplinary audience,
  • select and present relevant new topics in the field of genomics from the published literature.

Required Previous Knowledge

INF100, BINF100

Recommended Previous Knowledge

Be able to implement basic algorithms in a programming language of their own choice (preferentially Python, Java, R, or Perl). A basic understanding of algorithms and efficiency, as well as statistics, is required. Good background within algorithms is recommended, at least corresponding to INF102. In addition, a good background in bioinformatics is recommended, corresponding to BINF200, and BINF201.

Access to the Course

Access to the course requires admission to a programme of study at The Faculty of Mathematics and Natural Sciences.

Teaching and learning methods

The course is given as lectures and mandatory exercises

Lectures, 4 hours per week

Exercises, 2 hours per week

Compulsory Assignments and Attendance

Compulsory assignments are valid for 1 subsequent semester

Forms of Assessment

The forms of assessment are:

  • Mandatory exercises, 50 % of total grade.
  • Written examination (3 hours), 50% of total grade.

All compulsory assignments must be approved before examination.

Examination Support Material

Non-programmable calculator, according to the faculty regulations

Grading Scale

The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.

Assessment Semester

Examination both spring semester and autumn semester. In semesters without teaching the examination will be arranged at the beginning of the semester.

Reading List

The reading list will be available within June 1st for the autumn semester and December 1st for the spring semester.

Course Evaluation

The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department.

Programme Committee

The Programme Committee is responsible for the content, structure and quality of the study programme and courses.

Course Coordinator

Course coordinator and administrative contact person can be found on Mitt UiB, or contact studieveileder@ii.uib.no

Course Administrator

The Faculty of Mathematics and Natural Sciences represented by the Department of Informatics is the course administrator for the course and study programme.

Contact Information

Student adviser:


T: 55 58 42 00

Exam information

  • For written exams, please note that the start time may change from 09:00 to 15:00 or vice versa until 14 days prior to the exam.

  • Type of assessment: Written examination

    05.06.2023, 15:00
    3 hours
    Withdrawal deadline
    Examination result announcement
    Examination system
    Digital exam