Algorithms, Biology, and Programming for Beginners

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).

Details

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.

Course Syllabus

The course will be based around the following biological questions, with the algorithmic ideas that we will use to solve them in parentheses:

How Do We Compare Biological Sequences? (Dynamic Programming Algorithms)

Are There Fragile Regions in the Human Genome? (Combinatorial Algorithms)

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)

Some of these topics will require you to complete coding challenges in order to implement bioinformatics algorithms, followed by a comprehension quiz at the end of the topic. Other topics will carry lighter workloads and consist primarily of lecture videos and short quizzes.

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.

Suggested Readings

Course Format

The class will offer two ways of learning the material. In addition to a collection of lecture videos, the primary content for the course is the textbook Bioinformatics Algorithms: An Active-Learning Approach, by Phillip Compeau & Pavel Pevzner. (Purchasing a copy of this textbook is optional.)