Search result for Courses taught by Michael Levin
Get Course Alerts by Email
Data Structures Fundamentals
by Daniel Kane , Alexander S. Kulikov , Michael Levin , Neil Rhodes- 0.0
6 Weeks
Learn about data structures that are used in computational thinking – both basic and advanced. A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. You will learn how these data structures are implemented in different programming languages and will practice implementing them in our programming assignments....
$99
Algorithmic Design and Techniques
by Pavel Pevzner , Daniel Kane , Alexander S. Kulikov , Michael Levin- 0.0
6 Weeks
Learn how to design algorithms, solve computational problems and implement solutions efficiently. In this course, part of the Algorithms and Data Structures MicroMasters program, you will learn basic algorithmic techniques and ideas for computational problems, which arise in practical applications such as sorting and searching, divide and conquer, greedy algorithms and dynamic programming....
$99
Graph Algorithms
by Daniel Kane , Alexander S. Kulikov , Michael Levin- 0.0
6 Weeks
Learn how to use algorithms to explore graphs, compute shortest distance, min spanning tree, and connected components. If you have ever used a navigation service to find the optimal route and estimate time to destination, you've used algorithms on graphs. We will also talk about shortest paths algorithms. Graph exploration and decomposition into connected components...
$150
String Processing and Pattern Matching Algorithms
by Pavel Pevzner , Michael Levin- 0.0
4 Weeks
Learn about pattern matching and string processing algorithms and how they apply to interesting applications. The world and internet are full of textual information. We search for information using textual queries and read websites, books and e-mails. These are all strings from a computer science point of view. suffix trees; suffix arrays;...
$150
Advanced Algorithms and Complexity
by Alexander S. Kulikov , Michael Levin , Daniel M Kane , Neil Rhodes- 4.6
Approx. 27 hours to complete
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 then proceed to linear programming with applications in optimizing budget allocation, portfolio optimization, finding the cheapest diet satisfying all requirements and many others....
Genome Assembly Programming Challenge
by Alexander S. Kulikov , Michael Levin , Pavel Pevzner , Neil Rhodes- 4.5
Approx. 18 hours to complete
In Spring 2011, thousands of people in Germany were hospitalized with a deadly disease that started as food poisoning with bloody diarrhea and often led to kidney failure. It was the beginning of the deadliest outbreak in recent history, caused by a mysterious bacterial strain that we will refer to as E....
Algorithms on Strings
by Alexander S. Kulikov , Michael Levin , Pavel Pevzner , Neil Rhodes- 4.5
Approx. 18 hours to complete
World and internet is full of textual information. We search for information using textual queries, we read websites, books, e-mails. All those are strings from the point of view of computer science. To make sense of all that information and make search efficient, search engines use many string algorithms. Suffix Trees...
Algorithmic Toolbox
by Alexander S. Kulikov , Michael Levin , Neil Rhodes , Pavel Pevzner , Daniel M Kane- 4.6
Approx. 39 hours to complete
The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second). Programming Challenges Welcome!...
Mathematical Thinking in Computer Science
by Alexander S. Kulikov , Michael Levin , Владимир Подольский- 4.4
Approx. 40 hours to complete
Mathematical thinking is crucial in all areas of computer science: algorithms, bioinformatics, computer graphics, data science, machine learning, etc. In this course, we will learn the most important tools used in discrete mathematics: induction, recursion, logic, invariants, examples, optimality. We will use these tools to answer typical programming questions like: How can we be certain a solution exists?...
Data Structures
by Alexander S. Kulikov , Michael Levin , Daniel M Kane , Neil Rhodes- 4.6
Approx. 25 hours to complete
A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming languages and will practice implementing them in our programming assignments....