Stanford-Algorithm-Assignment
Stanford online algorithm courses on Coursera
Course 1 Divide and Conquer, Sorting and Searching, and Randomized Algorithms
Course 2 Graph Search, Shortest Paths, and Data Structures
Course 3 Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming
Course 4 Shortest Paths Revisited, NP-Complete Problems and What To Do About Them
Coursera Link