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

Algorithms with Numbers (Coursera)

This course represents an introduction to algorithms with numbers, including linear algebra problems and arbitrary precision arithmetic, that appear virtually everywhere, from cryptography to audio processing. You will learn how to: implement the basic number theory algorithms like Euclidean algorithm that are basic building blocks for modern cryptography; work [...]
0
No votes yet

Computational Geometry (Coursera)

This course represents an introduction to computational geometry – a branch of algorithm theory that aims at solving problems about geometric objects. Its application areas include computer graphics, computer-aided design and geographic information systems, robotics, and many others. You will learn to apply to this end various algorithmic approaches, [...]
10
Average: 10 ( 3 votes )

Competitive Programmer's Core Skills (Coursera)

During the course, you’ll learn everything needed to participate in real competitions — that’s the main goal. Along the way you’ll also gain useful skills for which competitive programmers are so highly valued by employers: ability to write efficient, reliable, and compact code, manage your time well when it’s [...]
0
No votes yet

Number Theory and Cryptography (Coursera)

We all learn numbers from the childhood. Some of us like to count, others hate it, but any person uses numbers everyday to buy things, pay for services, estimated time and necessary resources. People have been wondering about numbers’ properties for thousands of years. And for thousands of years [...]
4
Average: 4 ( 3 votes )

Advanced Algorithms and Complexity (Coursera)

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 [...]
7
Average: 7 ( 4 votes )

Algorithms on Graphs (Coursera)

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 [...]
8
Average: 8 ( 3 votes )

Data Structures (Coursera)

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 [...]
6
Average: 6 ( 4 votes )

Algorithmic Toolbox (Coursera)

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 [...]
7
Average: 7 ( 3 votes )

Algorithms on Strings (Coursera)

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. [...]
8
Average: 8 ( 3 votes )