866

Please select the start dates for your courses below.

1
Algorithmic Design and Techniques

Scheduled Start

2
Data Structures Fundamentals

Scheduled Start

3
Graph Algorithms

Scheduled Start

4
NP-Complete Problems

Scheduled Start

5
String Processing and Pattern Matching Algorithms

Scheduled Start

6
Dynamic Programming: Applications In Machine Learning and Genomics

Scheduled Start

7
Graph Algorithms in Genome Sequencing

Scheduled Start

8
Algorithms and Data Structures Capstone

Scheduled Start

Program Overview

This MicroMasters program is a mix of theory and practice: you will learn algorithmic techniques for solving various computational problems through implementing over one hundred algorithmic coding problems in a programming language of your choice.

No other online course in Algorithms even comes close to offering you a wealth of programming challenges that you may face at your next job interview. To prepare you, we have invested thousands of hours designing challenges as an alternative to multiple choice questions that you usually find in MOOCs. We believe in learning through application, especially when it comes to learning algorithms.

For each algorithm you develop and implement, we have designed multiple tests to check its correctness and running time — you will have to debug your programs without even knowing what these tests are! It may sound difficult, but we believe it is the only way to truly understand how the algorithms work and to master the art of programming.

What you will learn

  • Understand essential algorithmic techniques and apply them to solve algorithmic problems
  • Implement programs that work in less than one second even on massive datasets
  • Test and debug your code even without knowing the input on which it fails
  • Formulate real life computational problems as rigorous algorithmic problems
  • Prove correctness of an algorithm and analyze its running time

Program Class List

1
Algorithmic Design and Techniques

Course Details
Learn how to design algorithms, solve computational problems and implement solutions efficiently.

2
Data Structures Fundamentals

Course Details
Learn how to design algorithms, solve comLearn about data structures that are used in computational thinking – both basic and advanced.putational problems and implement solutions efficiently.

3
Graph Algorithms

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

4
NP-Complete Problems

Course Details
Learn about NP-complete problems, known as hard problems that can’t be solved efficiently, and practice solving them using algorithmic techniques.

5
String Processing and Pattern Matching Algorithms

Course Details
Learn about pattern matching and string processing algorithms and how they apply to interesting applications.

6
Dynamic Programming: Applications In Machine Learning and Genomics

Course Details
Learn about data structures that are used in computational thinking – both basic and advanced.

7
Graph Algorithms in Genome Sequencing

Course Details
Learn how to use algorithms to explore graphs, compute shortest distance, min spanning tree, and connected components.

8
Algorithms and Data Structures Capstone

Course Details
Synthesize your knowledge of algorithms and biology to build your own software for solving a biological challenge.

Meet your instructors

Pavel Pevzner

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

Daniel Kane

Assistant Professor,
Computer Science and Engineering & Dept. of Mathematics
UC San Diego

Alexander S. Kulikov

Visiting Professor
UC San Diego

Michael Levin

Chief Data Scientist
Yandex.Market

Neil Rhodes

Lecturer
UC San Diego

Phillip Compeau

Assistant Teaching Professor
Carnegie Mellon University
866

Duration

9 months

Experience Level

Intermediate

Learning Partner

San Diego

Program Type

MicroMasters®