Bioinformatics Algorithms (Part 1)

Pavel Pevzner and Phillip E. C. Compeau, University of California, San Diego

This course was the first in a two-part series covering some of the algorithms underlying bioinformatics. It has now been split into three smaller courses.

The sequencing of the human genome fueled a computational revolution in biology. As a result, modern biology produces as many new algorithms as any other fundamental realm of science.  Accordingly, the newly formed links between computer science and biology affect the way we teach applied algorithms to computer scientists.

This course has now been split into three smaller pieces:

  • Finding Hidden Messages in DNA: This course begins a series of classes illustrating the power of computing in modern biology. Please join us on the frontier of bioinformatics to look for hidden messages in DNA without ever needing to put on a lab coat. After warming up our algorithmic muscles, we will learn how randomized algorithms can be used to solve problems in bioinformatics.
  • Assembling Genomes and Sequencing Antibiotics: Biologists still cannot read the nucleotides of an entire genome or the amino acids of an antibiotic as you would read a book from beginning to end. However, they can read short pieces of DNA and weigh small antibiotic fragments. In this course, we will see how graph theory and brute force algorithms can be used to reconstruct genomes and antibiotics.
  • Comparing Genes, Proteins, and Genomes: After sequencing genomes, we would like to compare them. We will see that dynamic programming is a powerful algorithmic tool when we compare two genes or two proteins. When we "zoom out" to compare entire genomes, we will employ combinatorial algorithms.

Each course parallels two chapters from a textbook covering a single biological question and slowly builds the algorithmic knowledge required to address this challenge.  Along the way, coding challenges and exercises (many of which ask you to apply your skills to real genetic data) will be directly integrated into the text at the exact moment they are needed.


The course was based on six "chapters" covering the following central questions, with the algorithmic ideas that we will use to solve them in parentheses:
  • Where Does DNA Replication Begin? (Algorithmic Warm-up)
  • How Do We Sequence Antibiotics? (Brute Force Algorithms)
  • Which DNA Patterns Act As Cellular Clocks? (Greedy and Randomized Algorithms)
  • How Do We Assemble Genomes? (Graph Algorithms)
  • How Do We Compare Biological Sequences? (Dynamic Programming Algorithms)
  • Are There Fragile Regions in the Human Genome? (Combinatorial Algorithms)
Bioinformatics Algorithms (Part 2) is based around the following questions: 
  • Which Animal Gave Us SARS? (Evolutionary Trees)
  • How Do We Locate Disease-Causing Mutations? (Combinatorial Pattern Matching)
  • How Did Yeast Become Such a Good Wine Brewer? (Clustering Algorithms)
  • Why Do We Still Not Have an HIV Vaccine? (Hldden Markov Models)
  • Was T-Rex Just a Big Chicken? (Computational Proteomics)
  • What Genetic Characteristics Do Human Populations Share? (Principal Components Analysis)

Recommended Background

You should know the basics of programming in the language of your choice. We have the following suggestions for resources that will help you learn programming.
There are many other online resources for learning programming, and we encourage you to seek them out yourself!

Suggested Readings

 Bioinformatics Algorithms: An Active-Learning Approach, by Compeau & Pevzner.

Course Format

The class offered two ways of learning the material.  In addition to a collection of lecture videos, the primary content for the course was the textbook Bioinformatics Algorithms: An Active-Learning Approach, by Phillip Compeau & Pavel Pevzner.


Q: Why was this course split into three courses?

Based on survey feedback, completion data, and studies of other courses, we realized that having shorter courses gives our students more flexibility around their busy schedules. Even though the courses have been split, the overall content remains the same, so we feel confident that we're maintaining learning standards of our material.

Q: What if I earned a voucher for retaking this course? Can I use it in the new courses?

Vouchers from the older course will be valid for the newer courses. If you took the original course and earned a voucher, you will be issued a voucher for this course as well as for "Assembling Genomes and Sequencing Antibiotics" and "Comparing Genes, Proteins, and Genomes"  (three vouchers total).

Q: Does this mean that the overall cost for earning Verified Certificates is greater now?

Yes. Since there are more courses now, the overall cost for Verified Certificates is greater than before. Coursera offers a Financial Aid program for learners who would face a serious hardship paying for our courses. Plus, if you just want to join and check out our course content, it's still free and available to everyone.

  • 20 October 2014, 10 weeks
  • 4 November 2013, 14 weeks
Course properties:
  • Free:
  • Paid:
  • Certificate:
  • MOOC:
  • Video:
  • Audio:
  • Email-course:
  • Language: English Gb


No reviews yet. Want to be the first?

Register to leave a review

Included in selections:
Darwin_logo2 Bioinformatics
Bioinformatics and mathematical methods in biology
More on this topic:
Hst-161f07 Molecular Biology and Genetics in Modern Medicine
This course provides a foundation for understanding the relationship between...
6-047f08 Computational Biology: Genomes, Networks, Evolution
This course focuses on the algorithmic and machine learning foundations of computational...
Experimental_methods_logo Experimental Methods in Systems Biology
Learn about the technologies underlying experimentation used in systems biology...
Ph525x_course_verified262x136 PH525x: Data Analysis for Genomics
Data Analysis for Genomics will teach students how to harness the wealth of...
Small-icon.hover Experimental Genome Science
Each of our cells contains nearly identical copies of our genome, which provides...
More from 'Computer Science':
2aa9e070-fc03-49b4-9240-b5df5d79cb15-0838bc13b7cd.small Information Security - Authentication and Access Control
Learn more fundamentals of information security, including Introduction to Cryptography...
19bbc9bb-5e0d-4205-ad7c-752a7bd87eac-b9d1304bbc7d.small The Software Architect Code: Building the Digital World
An introductory course aimed at helping you to discover and develop your software...
A0af5b37-e5fb-442f-9b95-910e57674085-a80d8eef9cf6.small Introduction to Java Programming: Writing Good Code
Learn to program in an easy and interactive way and enter the fascinating world...
D3856133-b0c2-49c4-bda9-b00155e0f5de-81a78321f065.small Unreal Engine Interactive 3D: Sequencer-Cinematography, Interfaces, Visual Effects, Pipelines, and Production
Learn techniques in cinematography, Interface design, visual effects, collaboration...
4633ab16-80c5-48c4-a656-564b89bf4349-cc99a1b889e3.small Developing Cloud Applications with Node.js and React
Learn how to develop and deploy web applications with JavaScript frameworks...
More from 'Coursera':
Success-from-the-start-2 First Year Teaching (Secondary Grades) - Success from the Start
Success with your students starts on Day 1. Learn from NTC's 25 years developing...
New-york-city-78181 Understanding 9/11: Why Did al Qai’da Attack America?
This course will explore the forces that led to the 9/11 attacks and the policies...
Small-icon.hover Aboriginal Worldviews and Education
This course will explore indigenous ways of knowing and how this knowledge can...
Ac-logo Analytic Combinatorics
Analytic Combinatorics teaches a calculus that enables precise quantitative...
Talk_bubble_fin2 Accountable Talk®: Conversation that Works
Designed for teachers and learners in every setting - in school and out, in...

© 2013-2019