There’s a reasonably extensive MicroMasters course on Algorithms and Data Structures. How would you rate it? Comparable to finishing Skiena? CLRS? Concrete Mathematics?
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
Courses
Algorithmic Design and Techniques
Learn how to design algorithms, solve computational problems and implement solutions efficiently.
Data Structures Fundamentals
Learn about data structures that are used in computational thinking – both basic and advanced.
Graph Algorithms
Learn how to use algorithms to explore graphs, compute shortest distance, min spanning tree, and connected components.
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.
String Processing and Pattern Matching Algorithms
Learn about pattern matching and string processing algorithms and how they apply to interesting applications.
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.
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.
Algorithms and Data Structures Capstone
Synthesize your knowledge of algorithms and biology to build your own software for solving a biological challenge.
https://www.edx.org/micromasters/ucsandiegox-algorithms-and-...
What You'll 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
Courses Algorithmic Design and Techniques Learn how to design algorithms, solve computational problems and implement solutions efficiently.
Data Structures Fundamentals Learn about data structures that are used in computational thinking – both basic and advanced.
Graph Algorithms Learn how to use algorithms to explore graphs, compute shortest distance, min spanning tree, and connected components.
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.
String Processing and Pattern Matching Algorithms Learn about pattern matching and string processing algorithms and how they apply to interesting applications.
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.
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.
Algorithms and Data Structures Capstone Synthesize your knowledge of algorithms and biology to build your own software for solving a biological challenge.