Finding Hidden Messages in DNA (Bioinformatics I)

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.

About The Course

A genome may look like an incomprehensible string of the letters A, C, G, and T. Yet hidden in the three billion nucleotides of your genome is a secret language. This course offers an introduction to how we can start to understand this language by using algorithms to find hidden messages in DNA.

What do these hidden messages say?  In the first chapter of the course, hidden DNA messages indicate where a bacterium starts replicating its genome, a problem with applications in bioengineering and beyond. In the second chapter, hidden DNA messages tell us how organisms know whether it is day or night as well as how the bacterium causing tuberculosis is able to hide from antibiotics. We will see how randomized algorithms, which toss coins and roll dice, can be used to find these messages.

Each of the two central topics in the course 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.

Frequently Asked Questions

Q: Will I get a statement of accomplishment after completing this class?

Yes. Students who successfully complete the class will receive a statement of accomplishment signed by the instructor.

Q: Can I receive a verified certificate for this course?

Yes. Students who would like a verified certificate can sign up for the course's Signature Track option.

Q: I remember this course used to be part of the larger "Bioinformatics Algorithms (Part 1) course. Why was it 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 the old course? Can I use it in this course?

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 in the course 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.

Recommended Background

You should know the basics of programming in the language of your choice (there is no required language for this course). We have the following suggestions for resources that will help you learn programming.
  • The language tracks on Codecademy, particularly the Python track.
  • An Introduction to Interactive Programming with Python, the acclaimed Coursera course.
  • Introductory problems on Rosalind, a resource for learning bioinformatics created by the course instructors.
There are many other online resources for learning programming, and we encourage you to seek them out yourself!