Skip to content
Home » Education » Algorithms for Computational Biology

Algorithms for Computational Biology

Course Description

This course is designed for individuals with backgrounds in math, computer/data science, or bioinformatics. The course aims to cover the basics of algorithms and data structures, and will give students the opportunity to deepen their understanding of current trends in computational biology. Throughout the course, students will expand their knowledge of algorithms, build their biological vocabulary, and make connections with bioinformaticians and others.

The central problems of the course will be sequence alignment and pangenomics․ The course will cover topics such as dynamic programming, and graph algorithms, as well as concepts such as complexity, runtime and scaling, and approximate vs exact algorithms.

The students will have the opportunity to apply their knowledge to real-world sequencing data. Programming assignments will be required and will be submitted on Additionally, genetic algorithms and research tasks will be available as bonus topics for students who are interested in further exploration.


Pesho Ivanov, PhD Student, ETH Zurich

Pesho studied applied mathematics and informatics in Sofia and Moscow. He enjoys solving and discussing olympiad informatics problems. In the last 10 years, he is mostly interested in modeling and solving biological problems using combinatorial algorithms. Pesho used to work as a teacher and a programmer, and happened to do projects on single-cell RNA-seq on T-cell receptors, phylogenetic tree intersection, and assembly scaffolding. Currently finishing his PhD program in ETH Zurich with a thesis on Optimal sequence alignment using the A* shortest path algorithm.

Who is the Course For?

The course is for those who have both biology and informatics/math backgrounds and are interested in deepening their knowledge of algorithms for computational biology.


For the completion of the course, it is required to know how to code quicksort in any programming language. The course will be in English, so language knowledge is also a must.

Course Outline

Below is a summary of the topics covered in the course.

  • Algorithms: Brute force, Dynamic programming, Divide and Conquer, Greedy, Combinatorics, Graphs (Shortest paths, Spanning trees), Strings, Hashing
  • Concepts: Invariants, Complexity, Runtime and Scaling, Approximate vs Exact algorithms
  • Central problem: Sequence alignment, Pangenomics
  • Data: Sequencing data
  • Applications: Each algorithm will be applied to a basic biological problem
  • Programming: You will be asked to submit your solutions on
  • Bonus: Genetic algorithms, research tasks on request

Venue and Details

Location: ABI, Ezras Hasratyan 7, Institute of Molecular Biology, 3rd floor

Start date: February 2

Tue: 19:00—21:00
Thu: 19:00—21:00
Sat: 11:00—17:00

Duration: 2 weeks, February 2 – 17


In order to get enrolled in the course, you need to solve 3 basic problems (it can take you around 1h). Please use this link to enter the class and solve the tasks (you will be asked to register at In case of issues with the control tasks, write to [email protected]

Course Fee

Course fee – 10 000 AMD via Donation.
Bachelor students and ABI interns get 50% discount.
NOTE: Make sure to solve the problems and only then transfer the fee.

Please make sure to add comment and or description to your transfer by using this form:


Screenshot or save the transfer confirmation/receipt since it must be attached to the form of registration.
Fill out the registration form.

The registration deadline is February 1st, 2023, 12:00 PM Yerevan time.

Contacts: [email protected]

*You are invited to sign up at the ABI Student Chapter for more information and activities like this.