Dynamic Programming: Applications In Machine Learning and Genomics

Provided by The University of California, San Diego (UCSanDiegoX)
$150 USD

See prerequisites

Learn how dynamic programming and Hidden Markov Models can be used to compare genetic strings and uncover evolution.

Course Format:Instructor-Led
Start Date:Mar 18, 2019

What you will learn

  • Dynamic programming and how it applies to basic string comparison algorithms
  • Sequence alignment, including how to generalize dynamic programming algorithms to handle different cases
  • Hidden markov models
  • How to find the most likely sequence of events given a collection of outcomes and limited information
  • Machine learning in sequence alignment


If you look at two genes that serve the same purpose in two different species, how can you rigorously compare these genes in order to see how they have evolved away from each other?

In the first part of the course, part of the Algorithms and Data Structures MicroMasters program, we will see how the dynamic programming paradigm can be used to solve a variety of different questions related to pairwise and multiple string comparison in order to discover evolutionary histories.

In the second part of the course, we will see how a powerful machine learning approach, using a Hidden Markov Model, can dig deeper and find relationships between less obviously related sequences, such as areas of the rapidly mutating HIV genome.

Before you start

Basic knowledge of:

  • at least one programming language: loops, arrays, stacks, recursion.
  • mathematics: proof by induction, proof by contradiction.
  • Instructor-Led: course contains assignments and exams that have specific due dates, and you complete the course within a defined time period.
  • Course ends: Mar 18, 2019

Learner Testimonials

“This is an extraordinary course. It requires commitment and a fair amount of time, but this is what implies the approach of guiding students step-by-step to implement themselves the algorithms. In my opinion, this is the best way to fully understand how algorithms work.”
-- Previous Student

Who can take this course?

Unfortunately, learners from one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. EdX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Of all edX learners:
73% are employed
Of all edX learners:
45% have children
Based on internal survey results
407,178 people are learning on edX today