TDT4287 - Algorithms for Bioinformatics


Examination arrangement

Examination arrangement: School exam
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
School exam 100/100 4 hours D

Course content

The course deals with algorithms with applications in bioinformatics, with a particular focus on algorithms and data structures for search, comparisons, and motif discovery in strings. The course uses biological examples to motivate algorithms and solutions, but the course's focus is on the algorithmic problems and solutions.

Learning outcome

Knowledge: - Knows how dynamic programming (DP) can be used to solve string comparison problems such as "longest common subsequence", "edit distance", "local alignment", and "global alignment". - Knows how the DP solution for aligning two strings can be extended to aligning multiple strings. - Knows how k-mer indexes can be used for exact and approximate string search. - Knows what a keyword tree is, and how this index structure is built and used for string search. - Knows what a suffix tree is, how Ukkonen's algorithm can build this index structure in linear time, and how suffix trees can be used to solve different string search and comparison problems. - Knows how to find string motifs by using exact (branch-and-bound) and heuristic (simulated annealing) methods. - Knows how sequence assembly is connected to the shortest super-string problem and why the Euler-cycle problem is a special version of sequence assembly. - Knows what hidden Markov-models (HMM) are, how these can be used to model and identify properties of strings, and how the Viterbi, forward, and backward HMM algorithms work. - Knows what a RNA secondary structure is, how this relates to palindromes, and how DP can be used to find optimal and suboptimal RNA secondary structures. Skills: - Implement known algorithms and data structures and use these on real data. - Recognize variants of known problems and adapt known algorithms to solve these variant problems. Competence: - Choose between alternative solutions and use the solution that is most appropriate to solve a set of problems involving real data. - Give oral and written presentations of own solutions and results.

Learning methods and activities

Lectures, optional exercises, and a mandatory project. If few students take the course, the lectures may be replaced with study groups.

Compulsory assignments

  • Exercises

Further on evaluation

Exams are only given in English. Students are free to choose Norwegian or English for written assessments. If there is a re-sit examination, the examination form may change from written to oral.

Course materials

Jones & Pevzner: An introduction to bioinformatics algorithms (MIT Press, 2004). Articles and handouts. (This may change.)


Version: 1
Credits:  7.5 SP
Study level: Second degree level


Term no.: 1
Teaching semester:  AUTUMN 2023

Language of instruction: English

Location: Trondheim

Subject area(s)
  • Algorithm Construction
  • Bioinformatics
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Computer Science


Examination arrangement: School exam

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Autumn ORD School exam 100/100 D 2023-11-28 15:00 INSPERA
Room Building Number of candidates
SL520 Sluppenvegen 14 1
SL310 lilla sone Sluppenvegen 14 20
Summer UTS School exam 100/100 D INSPERA
Room Building Number of candidates
  • * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU