Advanced Algorithms and Complexity

You've learned the basic algorithms now and are ready to step into the area of more complex problems and algorithms to solve them. Advanced algorithms build upon basic ones and use new ideas. We will start with networks flows which are used in more typical applications such as optimal matchings, finding disjoint paths and flight scheduling as well as more surprising ones like image segmentation in computer vision. We then proceed to linear programming with applications in optimizing budget allocation, portfolio optimization, finding the cheapest diet satisfying all requirements and many others. Next we discuss inherently hard problems for which no exact good solutions are known (and not likely to be found) and how to solve them in practice. We finish with a soft introduction to streaming algorithms that are heavily used in Big Data processing. Such algorithms are usually designed to be able to process huge datasets without being able even to store a dataset.

Career Relevance by Data Role

The techniques and tools covered in Advanced Algorithms and Complexity are most similar to the requirements found in Data Scientist job advertisements.

Similarity Scores (Out of 100)

Fast Facts
Algorithms Data Science Data Analysis Data Sets Data Modeling Image Analysis Programming Natural Language Processing Optimization Statistical Analysis Variables Segmentation Analysis

Similar Opportunities
Signals, Systems, and Learning

EdX - Rice University

Algorithms and Data Structures Capstone

EdX - University of California, San Diego

Algorithmic Design and Techniques

EdX - University of California, San Diego

NP-Complete Problems

EdX - University of California, San Diego

Algorithmic Toolbox

Coursera - National Research University Higher School of Economics

Algorithms, Part II

Coursera - Princeton University

Data Structures and Algorithms (I)

Coursera - Tsinghua University