Search result for Courses taught by Alexander S. Kulikov
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
NP-Complete Problems
by Daniel Kane , Alexander S. Kulikov- 0.0
3 Weeks
Learn about NP-complete problems, known as hard problems that can’t be solved efficiently, and practice solving them using algorithmic techniques. Step into the area of more complex problems and learn advanced algorithms to help solve them. You will practice solving large instances of some of these problems despite their hardness using very efficient specialized software and algorithmic techniques including:...
$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...
Delivery Problem
by Alexander S. Kulikov- 4.7
Approx. 14 hours to complete
We’ll implement (in Python) together efficient programs for a problem needed by delivery companies all over the world millions times per day — the travelling salesman problem. The goal in this problem is to visit all the given places as quickly as possible. How to find an optimal solution to this problem quickly?...
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?...