Специализация Data Structures and Algorithms

Начинается Oct 23

Специализация Data Structures and Algorithms

Master Algorithmic Programming Techniques. Learn algorithms through programming and advance your software engineering or data science career

Об этой специализации

This specialization is a mix of theory and practice: you will learn algorithmic techniques for solving various computational problems and will implement about 100 algorithmic coding problems in a programming language of your choice. No other online course in Algorithms even comes close to offering you a wealth of programming challenges that you may face at your next job interview. To prepare you, we invested over 3000 hours into designing our challenges as an alternative to multiple choice questions that you usually find in MOOCs. Sorry, we do not believe in multiple choice questions when it comes to learning algorithms...or anything else in computer science! For each algorithm you develop and implement, we designed multiple tests to check its correctness and running time — you will have to debug your programs without even knowing what these tests are! It may sound difficult, but we believe it is the only way to truly understand how the algorithms work and to master the art of programming. The specialization contains two real-world projects: Big Networks and Genome Assembly. You will analyze both road networks and social networks and will learn how to compute the shortest route between New York and San Francisco (1000 times faster than the standard shortest path algorithms!) Afterwards, you will learn how to assemble genomes from millions of short fragments of DNA and how assembly algorithms fuel recent developments in personalized medicine.


Партнеры курса:

6 courses

Следуйте предложенному порядку или выберите свой.


Поможет на практике применить полученные навыки.


Отметьте новые навыки в резюме и на LinkedIn.

Intermediate Specialization.
Some related experience required.
  1. 1-Й КУРС

    Algorithmic Toolbox

    5 weeks of study, 4-8 hours/week
    English, Spanish

    О курсе

    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:
  2. 2-Й КУРС

    Data Structures

    4 weeks of study, 5-10 hours/week

    О курсе

    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
  3. 3-Й КУРС

    Algorithms on Graphs

    5 weeks of study, 3-4 hours/week

    О курсе

    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,
  4. 4-Й КУРС

    Algorithms on Strings

    4 weeks of study, 4-8 hours/week

    О курсе

    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
  5. 5-Й КУРС

    Advanced Algorithms and Complexity

    4 weeks of study, 4-8 hours/week

    О курсе

    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 t
  6. 6-Й КУРС

    Genome Assembly Programming Challenge


    О курсе

    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 myst


  • University of California San Diego

    UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Faculty at the Computer Science and Engineering Department at UCSD are among the leaders in the field of algorithms, bioinformatics, cryptography, machine learning, and many other areas of computer science.

    UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory.

  • National Research University Higher School of Economics

    Faculty of Computer Science (http://cs.hse.ru/en/) trains developers and researchers. The programme has been created based on the experience of leading American and European universities, such as Stanford University (U.S.) and EPFL (Switzerland). Also taken into consideration when creating the faculty was the School of Data Analysis, which is one of the strongest postgraduate schools in the field of computer science in Russia. In the faculty, learning is based on practice and projects.

    National Research University - Higher School of Economics (HSE) is one of the top research universities in Russia. Established in 1992 to promote new research and teaching in economics and related disciplines, it now offers programs at all levels of university education across an extraordinary range of fields of study including business, sociology, cultural studies, philosophy, political science, international relations, law, Asian studies, media and communications, IT, mathematics, engineering, and more. Learn more on www.hse.ru

  • Daniel M Kane

    Daniel M Kane

    Assistant Professor
  • Pavel  Pevzner

    Pavel Pevzner

  • Michael Levin

    Michael Levin

  • Neil Rhodes

    Neil Rhodes

    Adjunct Faculty
  • Alexander S. Kulikov

    Alexander S. Kulikov

    Visiting Professor