DM840: Algorithms in Cheminformatics

Study Board of Science

Teaching language: Danish or English depending on the teacher, but English if international students are enrolled
EKA: N340003112, N340003102
Assessment: Second examiner: None, Second examiner: External
Grading: Pass/Fail, 7-point grading scale
Offered in: Odense
Offered in: Autumn, Spring
Level: Master's level course approved as PhD course

STADS ID (UVA): N340003101
ECTS value: 10

Date of Approval: 01-11-2022

Duration: 1 semester

Version: Approved - active

Entry requirements


Academic preconditions

Students taking the course are expected to:

  • be able design and implement programs, using standard algorithmic approaches and data structures
  • be able to judge the complexity of algorithms, with regard to runtime as well as with regard to space usage.

Course introduction

The purpose of this course is to enable the student to solve a wide range of non-trivial discrete computational problems within computer science by applying advanced algorithmic ideas, graph theoretical approaches, knowledge from related fields of discrete mathematics, and complexity theory to problems motivated from or arising in chemistry. The course gives an academic basis for writing a Master's thesis, that aims to apply core Computer Science approaches to relevant questions in Chemistry, Biology, Physics, or Mathematics.

In relation to the competence profile of the degree it is the explicit focus of the course to:

  • Provide knowledge on a range of specialized models and methods developed in computer science based on the highest international research standards, including topics from the subject's research front
  • Give knowledge of computer science models and methods for use in other professional areas
  • Describe, analyse, and solve advanced computer scientific problems using the models they learned.
  • Shed light on stated hypotheses with a qualified theoretical basis and be critical of both own and others research results and scientific models.
  • Develop new variants of the learned methods, where the concrete problem requires it.
  • Disseminate research-based knowledge and discuss professional and scientific problems with both colleagues and non-specialists.
  • Plan and execute scientific projects of high standard, including managing work situations that are complex, unpredictable, and require novel solutions.
  • Take responsibility of own professional development and specialisation have learned.
  • Be able to launch and implement scientific and interdisciplinary cooperation and take professional responsibility

Expected learning outcome

The learning objective of the course is that the student demonstrates the ability to:
  • apply and explain methods, models, and algorithmic ideas covered in the course,
  • formulate the above in precise language and notation,
  • implement algorithms and data structures from the course,
  • describe the implementation and experimental work done in clear and precise language, and in a structured fashion.


The following main topics are contained in the course:
  • Representation of Molecular Structures
  • Graph Isomorphism and Graph Canonicalization
  • Combinatorial Structures
  • Pólya's Counting Theory
  • Artificial Chemistries
  • Metabolic Networks and Metabolic Pathways
  • Flux Balance Analysis
  • Organization Theory
  • Petrinets
  • Graph Transformation
  • Analytic Combinatorics
  • Concurrency Theory for Cheminformatics
  • Applications of Algorithmic Cheminformatics in Industry


See itslearning for syllabus lists and additional literature references.

Examination regulations

Prerequisites for participating in the exam a)


Autumn and Spring


Mandatory assignments




Second examiner: None




Full name and SDU username


Normally, the same as teaching language

Examination aids

To be announced during the course

ECTS value


Additional information

The prerequisite examination is a prerequisite for participation in exam element a)

Exam element a)


January and June


Type Prerequisite name Prerequisite course
Examination part Prerequisites for participating in the exam a) N340003101, DM840: Algorithms in Cheminformatics


Oral exam




Second examiner: External


7-point grading scale


Student Identification Card


Normally, the same as teaching language

Examination aids

To be announced during the course

ECTS value


Indicative number of lessons

70 hours per semester

Teaching Method

At the faculty of science, teaching is organized after the three-phase model ie. intro, training and study phase.

  • Intro phase (lectures) - 42 hours
  • Training phase: xx hours, including xx hours tutorials and xx hours laboratory
In the intro phase, concepts, theories and models are introduced and put into perspective. In the training phase, students train their skills through exercises and dig deeper into the subject matter.
In the study phase, students gain academic, personal and social experiences that consolidate and further develop their scientific proficiency. Focus is on immersion, understanding, and development of collaborative skills.

Activitys during the study phase:
  • Using the acquired knowledge in projects.
  • Discussing the scientific articles/book chapters

Teacher responsible

Name E-mail Department
Daniel Merkle Algoritmer


Show full time table (start E23)
Show full time table (start F24)

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Educational Law & Registration


Offered in


Recommended course of study

Profile Education Semester Offer period

Transition rules

Transitional arrangements describe how a course replaces another course when changes are made to the course of study. 
If a transitional arrangement has been made for a course, it will be stated in the list. 
See transitional arrangements for all courses at the Faculty of Science.