Search result for Courses taught by Alexander S. Kulikov
Get Course Alerts by Email
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?...
Competitive Programmer's Core Skills
by Alexander S. Kulikov , Alexander Logunov , Kirill Simonov , Aliaksei Tolstsikau- 4.6
Approx. 32 hours to complete
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 limited, apply basic algorithmic ideas to real problems, etc....
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....
Introduction to Graph Theory
by Alexander S. Kulikov- 4.5
Approx. 21 hours to complete
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 deep theories behind them....
Computational Geometry
by Alexander S. Kulikov , Aliaksei Tolstsikau , Kira Vyatkina- 3.9
Approx. 19 hours to complete
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. Point inclusion in a polygon 1. 1 Introduction 1. 2 Problem statement 1....
Number Theory and Cryptography
by Alexander S. Kulikov , Michael Levin , Владимир Подольский- 4.5
Approx. 19 hours to complete
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. Famous 20th century mathematician G. H. You will even pass a cryptographic quest!...
Combinatorics and Probability
by Alexander S. Kulikov , Владимир Подольский- 4.6
Approx. 21 hours to complete
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? All these questions are addressed by a mathematical field called Combinatorics....
Algorithms on Graphs
by Alexander S. Kulikov , Michael Levin , Daniel M Kane , Neil Rhodes- 4.7
Approx. 55 hours to complete
If you have ever used a navigation service to find optimal route and estimate time to destination, you've used algorithms on graphs. In this course, you will first learn what a graph is and what are some of the most important properties. You will use these algorithms if you choose to work on our Fast Shortest Routes industrial capstone project....
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...