Drug Design Exemplar

Dick Brown, St. Olaf College
Author Profile


An important problem in the biological sciences is that of drug design. The goal is to find small molecules, called ligands, that are good candidates for use as drugs. The real-world problem is fairly complex. Here we simplify it somewhat to present the essence of the problem being solved. We call this problem description and it solutions an exemplar of the original real-world computation. In two documents we provide the following:

  • An introduction to the problem and one form of sequential programmed solution.
  • Multiple parallel programming solutions using different languages and computing hardware and software.
  • Discussion of performance issues to be aware of in the parallel solutions.
  • A description of the parallel programming design patterns used in the solutions.

Learning Goals

  • Students will appreciate how parallel program solutions can be used on real-world applications.
  • Students will be able to compare running versions of sequential and parallel solutions.
  • Students will explore parallel design patterns used in somewhat complex example code.

Context for Use

These examples would likely be used with students who have some coding experience and feel comfortable with the use of data structures such as vectors and queues.

Description and Teaching Materials

The web-based version of this module, called Drug Design in Parallel, contains:

  1. A Drug Design Exemplar description, where the problem domain is described, and
  2. An initial sequential solution is described, and
  3. Several different parallel solutions that are compared.

If you want to edit the module yourself, we provide the following versions:

latex tarball of this module, including a pdf file.

MS Word docx version of this module.


Future plans include more suggested homework problems. The module material itself contains guided activities for the students with questions.

Comment? Start the discussion about Drug Design Exemplar