Видеокурсы: различия между версиями

Материал из Олимпиадное программирование в УлГТУ
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показаны 3 промежуточные версии этого же участника)
Строка 50: Строка 50:
* {{GoodBadge}} [http://ulearn.me/Course/complexity Оценка сложности алгоритмов] (Ulearn; 2018) {{Comment|Короткий (~1 час) текстовый курс, содержащий задачи на определение Θ-оценок предложенного кода. Также содержит краткие теоретические разделы.}}
* {{GoodBadge}} [http://ulearn.me/Course/complexity Оценка сложности алгоритмов] (Ulearn; 2018) {{Comment|Короткий (~1 час) текстовый курс, содержащий задачи на определение Θ-оценок предложенного кода. Также содержит краткие теоретические разделы.}}


== Курсы Школы анализа данных Яндекса ==
== Курсы Яндекса и ШАД ==


* [http://www.youtube.com/playlist?list=PLJOzdkh8T5koEPv-R5W0ovmL_T2BjB1HX Алгоритмы и структуры данных поиска] (YouTube; М. Бабенко; 2012)
* [http://www.youtube.com/playlist?list=PLJOzdkh8T5koEPv-R5W0ovmL_T2BjB1HX Алгоритмы и структуры данных поиска] (YouTube; М. Бабенко; 2012)
* [https://www.youtube.com/playlist?list=PL6Wui14DvQPySdPv5NUqV3i8sDbHkCKC5 Тренировки по алгоритмам] (YouTube; М. Густокашин; 2021)


== Курсы Mail.Ru Group ==
== Курсы Mail.Ru Group ==
Строка 71: Строка 72:
* [http://www.youtube.com/playlist?list=PLIEv2lyiPlJQuuDEnAPfa4iybE7GU62h4 Олимпиадное программирование с нуля на Java]  (YouTube; Ф. Меньшиков; 2016–)
* [http://www.youtube.com/playlist?list=PLIEv2lyiPlJQuuDEnAPfa4iybE7GU62h4 Олимпиадное программирование с нуля на Java]  (YouTube; Ф. Меньшиков; 2016–)
* [http://www.youtube.com/playlist?list=PLES6U-jjEXseQ6UBxScgMsJfHPaq72w3Y 3.5 задачи в неделю]  (YouTube; Ф. Меньшиков; 2016–)
* [http://www.youtube.com/playlist?list=PLES6U-jjEXseQ6UBxScgMsJfHPaq72w3Y 3.5 задачи в неделю]  (YouTube; Ф. Меньшиков; 2016–)
== Курсы CodeChef ==
* [http://www.youtube.com/playlist?list=PLi0ZM-RCX5nsTc2Z6woHr5qoF6n3b-thO CodeChef's Indian Programming Camp 2016] (YouTube; коллектив авторов; 2016)
== Курсы O'Reilly Media ==
* [http://shop.oreilly.com/product/0636920039884.do Learning Data Structures and Algorithms] (O'Reilly Media; R. Stephens; 2015)
* [http://shop.oreilly.com/product/110000667.do Working with Algorithms in Python] (O'Reilly Media; G. T. Heineman; 2014) {{Comment|Курс на английском языке от соавтора книги &laquo;Algorithms in a Nutshell&raquo;. Полная версия видео может быть найдена в Интернете. Слайды + живые примеры программ на Python, наглядно демонстрируется время работы.<br>Кратко рассматриваются: двоичный поиск, двоичные деревья поиска, O-оценка, сортировка слиянием, быстрое возведение в степень, brute-force, kd-деревья, представление графов, DFS, Флойд, ДП (числа Фибоначчи и редакционное расстояние), куча и сортировка кучей, Дейкстра, Прим.}}


== Курсы университетов США ==
== Курсы университетов США ==
Строка 96: Строка 88:


Stanford:
Stanford:
* [http://www.coursera.org/specializations/algorithms Courcera Algorithms Specialization]:
* [http://www.coursera.org/specializations/algorithms Coursera Algorithms Specialization]:
:* [http://www.coursera.org/learn/algorithms-divide-conquer Divide and Conquer, Sorting and Searching, and Randomized Algorithms] (Coursera; T. Roughgarden; 2012)
:* [http://www.coursera.org/learn/algorithms-divide-conquer Divide and Conquer, Sorting and Searching, and Randomized Algorithms] (Coursera; T. Roughgarden; 2012)
:* [http://www.coursera.org/learn/algorithms-graphs-data-structures Graph Search, Shortest Paths, and Data Structures] (Coursera; T. Roughgarden; 2012)
:* [http://www.coursera.org/learn/algorithms-graphs-data-structures Graph Search, Shortest Paths, and Data Structures] (Coursera; T. Roughgarden; 2012)
Строка 110: Строка 102:
:* [http://www.coursera.org/learn/advanced-algorithms-and-complexity Advanced Algorithms and Complexity] (Coursera; D. Kane, A. Kulikov, M. Levin, N. Rhodes; 2016)
:* [http://www.coursera.org/learn/advanced-algorithms-and-complexity Advanced Algorithms and Complexity] (Coursera; D. Kane, A. Kulikov, M. Levin, N. Rhodes; 2016)
:* [http://www.coursera.org/learn/assembling-genomes Genome Assembly Programming Challenge] (Coursera; A. Kulikov, M. Levin, P. Pevzner, N. Rhodes; 2016)
:* [http://www.coursera.org/learn/assembling-genomes Genome Assembly Programming Challenge] (Coursera; A. Kulikov, M. Levin, P. Pevzner, N. Rhodes; 2016)
* {{GoodBadge}} [http://stepik.org/579 Data Structures] (Stepic; N. Moshiri, L. Izhikevich; 2016) {{Comment|Темы: асимптотические обозначения, классы сложности, основы C++, псевдослучайные числа, битовые операции, командная строка Unix, git; массивы, связные списки, списки с пропусками, циклические массивы, АТД (дек, очередь, стек), итераторы; деревья, кучи, двоичные деревья поиска, декартовы деревья, АВЛ-деревья, красно-чёрные деревья, B-деревья, B+-деревья; графы, представление графов, BFS, DFS, алгоритм Дейкстры, MST, DSU; хеширование, хеш-таблицы, коллизии и их разрешение (открытая адресация, метод цепочек, cuckoo hashing), hash maps; множества и словари (на списках, массивах, деревьях, хеш-таблицах, борах, троичных деревьях поиска); кодирование, энтропия, сжатие Хаффмана, побитовый ввод-вывод; резюме по структурам данных.<br>Курс является текстовым, но содержит колоссальное количество хорошо структурированной информации о структурах данных. Имеются тесты и задачи на программирование, оба вида заданий очень просты.}}
* {{GoodBadge}} [http://stepik.org/579 Data Structures] (Stepik; N. Moshiri, L. Izhikevich; 2016) {{Comment|Темы: асимптотические обозначения, классы сложности, основы C++, псевдослучайные числа, битовые операции, командная строка Unix, git; массивы, связные списки, списки с пропусками, циклические массивы, АТД (дек, очередь, стек), итераторы; деревья, кучи, двоичные деревья поиска, декартовы деревья, АВЛ-деревья, красно-чёрные деревья, B-деревья, B+-деревья; графы, представление графов, BFS, DFS, алгоритм Дейкстры, MST, DSU; хеширование, хеш-таблицы, коллизии и их разрешение (открытая адресация, метод цепочек, cuckoo hashing), hash maps; множества и словари (на списках, массивах, деревьях, хеш-таблицах, борах, троичных деревьях поиска); кодирование, энтропия, сжатие Хаффмана, побитовый ввод-вывод; резюме по структурам данных.<br>Курс является текстовым, но содержит колоссальное количество хорошо структурированной информации о структурах данных. Имеются тесты и задачи на программирование, оба вида заданий очень просты.}}


Stony Brook University:
Stony Brook University:
* [http://www.youtube.com/playlist?list=PL07B3F10B48592010 Programming Challenges HKUST] (YouTube; S. Skiena; 2009)
* [http://www.youtube.com/playlist?list=PL07B3F10B48592010 Programming Challenges HKUST] (YouTube; S. Skiena; 2009)
* [http://www.youtube.com/playlist?list=PLOtl7M3yp-DX32N0fVIyvn7ipWKNGmwpp Analysis of Algorithms] (YouTube; S. Skiena; 2016)
* [http://www.youtube.com/playlist?list=PLOtl7M3yp-DX32N0fVIyvn7ipWKNGmwpp Analysis of Algorithms] (YouTube; S. Skiena; 2016)
== Прочие зарубежные курсы ==
* [http://www.youtube.com/playlist?list=PLi0ZM-RCX5nsTc2Z6woHr5qoF6n3b-thO CodeChef's Indian Programming Camp 2016] (YouTube; коллектив авторов; 2016)
* [http://shop.oreilly.com/product/0636920039884.do Learning Data Structures and Algorithms] (O'Reilly Media; R. Stephens; 2015)
* [http://shop.oreilly.com/product/110000667.do Working with Algorithms in Python] (O'Reilly Media; G. T. Heineman; 2014) {{Comment|Курс на английском языке от соавтора книги &laquo;Algorithms in a Nutshell&raquo;. Полная версия видео может быть найдена в Интернете. Слайды + живые примеры программ на Python, наглядно демонстрируется время работы.<br>Кратко рассматриваются: двоичный поиск, двоичные деревья поиска, O-оценка, сортировка слиянием, быстрое возведение в степень, brute-force, kd-деревья, представление графов, DFS, Флойд, ДП (числа Фибоначчи и редакционное расстояние), куча и сортировка кучей, Дейкстра, Прим.}}


== Курсы по языкам программирования ==
== Курсы по языкам программирования ==


C++:
C++:
* {{GoodBadge}} [http://stepik.org/course/363 Введение в программирование (C++)] (Stepic; Яндекс/ВШЭ; М. Густокашин; 2015) {{Comment|Курс для начинающих, содержащий короткие лекции и большое количество задач.<br>Темы: целые числа, условный оператор, цикл while, действительные числа, цикл for и массивы, двумерные массивы, функции и рекурсия, строки и символы, словари и множества, стандартные алгоритмы STL.}}
* {{GoodBadge}} [http://stepik.org/course/363 Введение в программирование (C++)] (Stepik; Яндекс/ВШЭ; М. Густокашин; 2015) {{Comment|Курс для начинающих, содержащий короткие лекции и большое количество задач.<br>Темы: целые числа, условный оператор, цикл while, действительные числа, цикл for и массивы, двумерные массивы, функции и рекурсия, строки и символы, словари и множества, стандартные алгоритмы STL.}}
* [http://www.coursera.org/specializations/c-plus-plus-modern-development Специализация Coursera «Искусство разработки на современном C++»]:
* [http://www.coursera.org/specializations/c-plus-plus-modern-development Специализация Coursera «Искусство разработки на современном C++»]:
:* [http://www.coursera.org/learn/c-plus-plus-white Основы разработки на C++: белый пояс] (Coursera; Яндекс/МФТИ; И. Лежанкин, Е. Парамонов, А. Полднев, И. Шишков; 2017) {{Comment|Курс платный, но видео и некоторые задания бесплатны. Любопытная идея — сразу давать сложные вещи, позволяющие решать практические задачи, а внутреннее устройство разбирать после или не разбирать совсем.<br>Темы: ввод-вывод, простые типы (int, double) и коллекции (vector, set, string), работа с Eclipse, операции, принципы тестирования, if, while, range-based for; функции, передача параметров, vector, map, set; алгоритмы (min, max, sort), лямбда-функции, области видимости, структуры, классы, методы, конструкторы, деструкторы; работа с файлами, перегрузка операторов; исключения.}}
:* [http://www.coursera.org/learn/c-plus-plus-white Основы разработки на C++: белый пояс] (Coursera; Яндекс/МФТИ; И. Лежанкин, Е. Парамонов, А. Полднев, И. Шишков; 2017) {{Comment|Курс платный, но видео и некоторые задания бесплатны. Любопытная идея — сразу давать сложные вещи, позволяющие решать практические задачи, а внутреннее устройство разбирать после или не разбирать совсем.<br>Темы: ввод-вывод, простые типы (int, double) и коллекции (vector, set, string), работа с Eclipse, операции, принципы тестирования, if, while, range-based for; функции, передача параметров, vector, map, set; алгоритмы (min, max, sort), лямбда-функции, области видимости, структуры, классы, методы, конструкторы, деструкторы; работа с файлами, перегрузка операторов; исключения.}}
Строка 126: Строка 124:
:* [http://www.coursera.org/learn/c-plus-plus-brown Основы разработки на C++: коричневый пояс] (Coursera; Яндекс/МФТИ; А. Зобнин, М. Матросов, А. Полднев, Н. Субоч, И. Шишков; 2018) {{Comment|Темы: unordered_set/map, сравнение с set/map, пользовательские типы в set и unordered_set, выбор хеш-функции, extract, merge;  пространства имён, using, this, присваивание себе; преимущества const, IILE, mutable, утечки памяти, unique_ptr; shared_ptr, устройство unique_ptr и shared_ptr, weak_ptr, deleter, жизненный цикл объекта, RAII; рефакторинг функций, способы передачи параметров, span, ranges, способы возврата значений, optional, variant, рефакторинг конструкторов.}}
:* [http://www.coursera.org/learn/c-plus-plus-brown Основы разработки на C++: коричневый пояс] (Coursera; Яндекс/МФТИ; А. Зобнин, М. Матросов, А. Полднев, Н. Субоч, И. Шишков; 2018) {{Comment|Темы: unordered_set/map, сравнение с set/map, пользовательские типы в set и unordered_set, выбор хеш-функции, extract, merge;  пространства имён, using, this, присваивание себе; преимущества const, IILE, mutable, утечки памяти, unique_ptr; shared_ptr, устройство unique_ptr и shared_ptr, weak_ptr, deleter, жизненный цикл объекта, RAII; рефакторинг функций, способы передачи параметров, span, ranges, способы возврата значений, optional, variant, рефакторинг конструкторов.}}
:* [http://www.coursera.org/learn/c-plus-plus-black Основы разработки на C++: чёрный пояс] (Coursera; Яндекс/МФТИ; А. Зобнин, М. Матросов, А. Полднев, Н. Субоч, И. Шишков; 2019) {{Comment|Темы: отладочные #define, санитайзер, undefined behavior; бинарная сериализация, protobuf; выравнивание, порядок байтов, #pragma pack, битовые поля, vptr, таблица виртуальных методов; placement new, operator new, std::uninitialized_*, реализация std::vector, variadic templates, std::forward; ANTLR. '''Очень тяжёлые''' задачи (интерпретатор Mython, транспортный справочник в 15 частях, электронная таблица).}}
:* [http://www.coursera.org/learn/c-plus-plus-black Основы разработки на C++: чёрный пояс] (Coursera; Яндекс/МФТИ; А. Зобнин, М. Матросов, А. Полднев, Н. Субоч, И. Шишков; 2019) {{Comment|Темы: отладочные #define, санитайзер, undefined behavior; бинарная сериализация, protobuf; выравнивание, порядок байтов, #pragma pack, битовые поля, vptr, таблица виртуальных методов; placement new, operator new, std::uninitialized_*, реализация std::vector, variadic templates, std::forward; ANTLR. '''Очень тяжёлые''' задачи (интерпретатор Mython, транспортный справочник в 15 частях, электронная таблица).}}
* [http://stepik.org/course/7 Программирование на языке C++] (Stepic; CSC; А. Смаль; 2015)
* [http://stepik.org/course/7 Программирование на языке C++] (Stepik; CSC; А. Смаль; 2015)
* [http://stepik.org/course/3206 Программирование на языке C++ (продолжение)] (Stepic; CSC; А. Смаль; 2017)
* [http://stepik.org/course/3206 Программирование на языке C++ (продолжение)] (Stepik; CSC; А. Смаль; 2017)


Python
Python
* [http://www.coursera.org/learn/python-osnovy-programmirovaniya Основы программирования на Python] (Coursera; Яндекс/ВШЭ; М. Густокашин; 2017) {{Comment|Своеобразный аналог курса по C++ того же автора.}}
* [http://www.coursera.org/learn/python-osnovy-programmirovaniya Основы программирования на Python] (Coursera; Яндекс/ВШЭ; М. Густокашин; 2017) {{Comment|Своеобразный аналог курса по C++ того же автора.}}

Текущая версия от 17:08, 24 августа 2021

Лекции Летней компьютерной школы

Лекции Зимней школы

Курсы ИТМО и СПбГУ

Курсы КФУ

Курсы МФТИ

Курсы Самарского университета

  • Математика для олимпиад по программированию (Stepik; Н. Бондаренко; 2018)
  • Спортивное программирование (Coursera; Н. Бондаренко; 2019)

Курсы УрФУ и СКБ Контур

Курсы Яндекса и ШАД

Курсы Mail.Ru Group

  • Алгоритмы и структуры данных (Stepik; С. Мацкевич; 2015)

Курсы Computer Science Center

  • Алгоритмы и структуры данных 1 (Lektorium; А. Куликов, М. Дворкин; 2011)
  • Алгоритмы и структуры данных 2 (Lektorium; А. Куликов, М. Дворкин; 2012)
  • Дополнительные главы алгоритмов (Lektorium; А. Станкевич; 2013)
  • Алгоритмы и структуры данных (Stepik/YouTube; А. Куликов; 2014)
  • Алгоритмы: теория и практика. Методы (Stepik; А. Куликов; 2015)
  • Алгоритмы: теория и практика. Структуры данных (Stepik; А. Куликов; 2016)

Вебинары Ф. В. Меньшикова (разбор задач acmp.ru)

Курсы университетов США

MIT:

Princeton:

Stanford:

UC San Diego:

  • Algorithmic Toolbox (Coursera; D. Kane, A. Kulikov, M. Levin, P. Pevzner, N. Rhodes; 2016)
  • Data Structures (Coursera; D. Kane, A. Kulikov, M. Levin, N. Rhodes; 2016)
  • Algorithms on Graphs (Coursera; D. Kane, A. Kulikov, M. Levin, N. Rhodes; 2016)
  • Algorithms on Strings (Coursera; A. Kulikov, M. Levin, P. Pevzner, N. Rhodes; 2016)
  • Advanced Algorithms and Complexity (Coursera; D. Kane, A. Kulikov, M. Levin, N. Rhodes; 2016)
  • Genome Assembly Programming Challenge (Coursera; A. Kulikov, M. Levin, P. Pevzner, N. Rhodes; 2016)
  • Data Structures (Stepik; N. Moshiri, L. Izhikevich; 2016)

Stony Brook University:

Прочие зарубежные курсы

  • CodeChef's Indian Programming Camp 2016 (YouTube; коллектив авторов; 2016)
  • Learning Data Structures and Algorithms (O'Reilly Media; R. Stephens; 2015)
  • Working with Algorithms in Python (O'Reilly Media; G. T. Heineman; 2014)

Курсы по языкам программирования

C++:

  • Основы разработки на C++: белый пояс (Coursera; Яндекс/МФТИ; И. Лежанкин, Е. Парамонов, А. Полднев, И. Шишков; 2017)
  • Основы разработки на C++: жёлтый пояс (Coursera; Яндекс/МФТИ; И. Лежанкин, Е. Парамонов, А. Полднев, И. Шишков; 2017)
  • Основы разработки на C++: красный пояс (Coursera; Яндекс/МФТИ; А. Полднев, И. Шишков; 2018)
  • Основы разработки на C++: коричневый пояс (Coursera; Яндекс/МФТИ; А. Зобнин, М. Матросов, А. Полднев, Н. Субоч, И. Шишков; 2018)
  • Основы разработки на C++: чёрный пояс (Coursera; Яндекс/МФТИ; А. Зобнин, М. Матросов, А. Полднев, Н. Субоч, И. Шишков; 2019)

Python