Home » Free Online Courses » Free Online Course on Dynamic Programming

Free Online Course on Dynamic Programming

The University of California, San Diego is offering free online course on Dynamic Programming: Applications In Machine Learning and Genomics. Applicants must have basic knowledge of at least one programming language: loops, arrays, stacks, recursion and mathematics: proof by induction, proof by contradiction.

In this four week course, applicants will learn how to dynamically transform and Hidden Markov Models can be used to compare genetic strings and uncover evolution.

User Review
0 (0 votes)

Course At A Glance 

Length: 4 weeks
Effort: 8-10 hours pw
Subject: IT
Institution: University of California, San Diego and edx
Languages: English
Price: Free
Certificate Available: Yes, Add a Verified Certificate for $150
Session: At your own pace

Providers’ Details

The University of California, San Diego (UC San Diego) is a student-centered, research-focused, service-oriented public institution that provides opportunity for all. This young university has made its mark regionally, nationally and internationally. Named in the top 15 research universities worldwide, UC San Diego fosters a culture of collaboration that sparks discoveries, advances society and drives economic impact.

About This Course

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

Why Take This Course?

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.

Learning Outcomes

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


Phillip Compeau
Assistant Teaching Professor
Carnegie Mellon University

Pavel Pevzner
Ronald R. Taylor Professor of Computer Science
The University of California, San Diego


Basic knowledge of:

  • At least one programming language: loops, arrays, stacks, recursion.
  • Mathematics: proof by induction, proof by contradiction.

How To Join This Course

  • Go to the course website link
  • Create an edX account to SignUp
  • Choose “Register Now” to get started.
  • EdX offers honor code certificates of achievement, verified certificates of achievement, and XSeries certificates of achievement. Currently, verified certificates are only available in some courses.
  • Once applicant sign up for a course and activate their account, click on the Log In button on the edx.org homepage and type in their email address and edX password. This will take them to the dashboard, with access to each of their active courses. (Before a course begins, it will be listed on their dashboard but will not yet have a “view course” option.)

Apply Now