# Alexander S. Kulikov

Alexander S. Kulikov is a research fellow at St. Petersburg Department of Steklov Mathematical Institute of the Russian Academy of Sciences and a visiting professor at University of California, San Diego. His scientific interests include algorithms for NP-hard problems and circuit complexity. In St. Petersburg, he runs Computer Science Club and Computer Science Center.

Sort options

## Genome Assembly Programming Challenge (Coursera)

Jun 5th 2023
Course Auditing
Categories
Effort
Languages
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 [...]

## Combinatorics and Probability (Coursera)

Jun 5th 2023
Course Auditing
Categories
Effort
Languages
Counting is one of the basic mathematically related tasks we encounter on a day to day basis. The main question here is the following. If we need to count something, can we do anything better than just counting all objects one by one? Do we need to create a [...]

## Introduction to Graph Theory (Coursera)

Jun 5th 2023
Course Auditing
Categories
Effort
Languages
We invite you to a fascinating journey into Graph Theory — an area which connects the elegance of painting and the rigor of mathematics; is simple, but not unsophisticated. Graph Theory gives us, both an easy way to pictorially represent many major mathematical results, and insights into the [...]

## What is a Proof? (Coursera)

Jun 5th 2023
Course Auditing
Categories
Effort
Languages
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 [...]

## Advanced Algorithms and Complexity (Coursera)

Jun 5th 2023
Course Auditing
Categories
Effort
Languages
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 [...]

## Algorithms on Strings (Coursera)

Jun 5th 2023
Course Auditing
Categories
Effort
Languages
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. [...]

## Algorithms on Graphs (Coursera)

Jun 5th 2023
Course Auditing
Categories
Effort
Languages
If you have ever used a navigation service to find optimal route and estimate time to destination, you've used algorithms on graphs. Graphs arise in various real-world situations as there are road networks, computer networks and, most recently, social networks! If you're looking for the fastest time to get [...]

## Data Structures (Coursera)

Jun 5th 2023
Course Auditing
Categories
Effort
Languages
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 [...]

## Algorithmic Toolbox (Coursera)

Jun 5th 2023
Course Auditing
Categories
Effort
Languages
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. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem [...]

## Delivery Problem (Coursera)

May 29th 2023
Course Auditing
Categories
Effort
Languages
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 [...]