Algorithms, Biology, and Programming for Beginners

This course will cover algorithms for solving various biological problems along with a handful of programming challenges testing your ability to implement these algorithms. It offers a gentler-paced alternative to the instructors' two other courses, Bioinformatics Algorithms (Part 1 and Part 2).

About The Course

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.

Genome sequencing is just one of hundreds of biological problems that have become inextricable from the computational methods required to solve them. In this course, we will uncover some of the algorithmic ideas that are fundamental to an understanding of modern biology.  Computational concepts like dynamic programming and graph theory will help us explore algorithms applied to a wide range of biological topics, from finding regulatory motifs to determining whether the human genome has "fragile" regions.  Throughout the process, we will apply bioinformatics algorithms to real genetic data.

Each chapter in the course textbook covers a single biological question and slowly builds the algorithmic knowledge required to address this challenge.  Along the way, coding challenges and exercises will be integrated into the text at the exact moment they are needed.

Frequently Asked Questions

  • Can I get a Statement of Accomplishment after completing this class?

Yes. Students who successfully complete the class can receive a Statement of Accomplishment signed by the instructor.

  • Can I receive a Verified Certificate for this course?

Yes. Students who would like to earn a Verified Certificate can sign up for the course's Signature Track option.

Recommended Background

No background is required beyond an enthusiasm for biology and a willingness to immerse oneself in learning how to program. Students who have never programmed before should be able to approach this course, but we recommend that you first take a short programming tutorial that may last up to two weeks. We make the following suggestions for resources to 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!

If you are an advanced programmer, we recommend that you take the more advanced two-course series, Bioinformatics Algorithms (Part 1) and Bioinformatics Algorithms (Part 2).