Algorithms and Data Structures

Go to class
Write Review

Algorithms and Data Structures provided by edX is a comprehensive online course, which lasts for 36 weeks long, 8-10 hours a week. Algorithms and Data Structures is taught by Pavel Pevzner, Daniel Kane, Alexander S. Kulikov, Michael Levin, Neil Rhodes and Phillip Compeau. Upon completion of the course, you can receive an e-certificate from edX. The course is taught in Englishand is $1,200.00. Visit the course page at edX for detailed price information.

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.

Syllabus
  • Courses under this program:
    Course 1: Algorithmic Design and Techniques
    Learn how to design algorithms, solve computational problems and implement solutions efficiently.

    Course 2: Data Structures Fundamentals

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



    Course 3: Graph Algorithms
    Learn how to use algorithms to explore graphs, compute shortest distance, min spanning tree, and connected components.

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

    Course 5: String Processing and Pattern Matching Algorithms
    Learn about pattern matching and string processing algorithms and how they apply to interesting applications.

    Course 6: Dynamic Programming: Applications In Machine Learning and Genomics
    Learn how dynamic programming and Hidden Markov Models can be used to compare genetic strings and uncover evolution.

    Course 7: Graph Algorithms in Genome Sequencing
    Learn how graphs are used to assemble millions of pieces of DNA into a contiguous genome and use these genomes to construct a Tree of Life.

    Course 8: Algorithms and Data Structures Capstone
    Synthesize your knowledge of algorithms and biology to build your own software for solving a biological challenge.