06.09.2021 | 10 недель | Открытое образование |
О курсе
Курс посвящен изучению базовых алгоритмов и структур данных, знание которых необходимо для эффективного решения разнообразных задач программирования. Рассматриваются различные алгоритмы сортировки, линейные структуры данных, такие как очереди и списки, алгоритмы и структуры данных для эффективного поиска и хранения информации - сбалансированные деревья поиска и хеши, а также алгоритмы поиска подстрок.
Цель курса - получение базовых знаний об основных алгоритмах и структурах данных, используемых для хранения и поиска информации.В курсе используется система автоматического тестирования программ, обеспечивающая объективную оценку корректности выполнения заданий по программированию.
После прохождения курса обучающиеся приобретут навыки анализа и реализации базовых алгоритмов программирования и структур данных, а также проектирования и разработки средств реализации прикладных информационных технологий.
Прохождение курса «Алгоритмы программирования и структуры данных» позволит существенно повысить продуктивность и конкурентоспособность слушателей при разработке программного обеспечения.
Результат
- Умение анализировать и реализовывать базовые алгоритмы программирования и структуры данных
- Навыки проектирования и разработки средств реализации прикладных информационных технологий
- Навыки разработки алгоритмов для проведения экспериментальных исследований в области информатики
Формируемые компетенции
- 09.03.02 Информационные системы и технологии
- Способность к проектированию базовых и прикладных информационных технологий (ПК-11)
- Способность разрабатывать средства реализации информационных технологий (алгоритмические) (ПК-12)
- Готовность участвовать в постановке и проведении экспериментальных исследований (ПК-23)
О преподавателях






Входные требования
Для успешного освоения курса необходимы знание основ дискретной математики, умение писать программы среднего размера на объектно-ориентированном языке программирования.
Для прохождения курса требуется любой общедоступный компилятор одного из следующих языков программирования:
- Java: версия 8 (ссылка для скачивания на сайте Oracle)
- C, C++: MinGW версии 5.1 (для Windows, для Linux можно использовать GCC аналогичной версии), а также Microsoft Visual Studio C++ 2013 (скачать Visual Studio Express можно здесь).
- C#: Microsoft Visual Studio C# 2013 (скачать Visual Studio Express можно здесь).
- Python: версия 3.5 (ссылка для скачивания на сайте python.org)
- Scala: версия 2.11 (ссылка для скачивания на сайте scala-lang.org)
- Kotlin: версия 1.0 (ссылки на инструкции по установке компилятора, плагинов в IntelliJ IDEA и в Eclipse).
Содержание курса
В курсе рассматриваются следующие темы:
- Оценка времени работы алгоритмов
- Алгоритмы сортировки, основанные на сравнении (сортировка слиянием, быстрая сортировка, нижняя оценка на время работы алгоритмов сортировки)
- Алгоритмы сортировки с линейным временем выполнения (сортировка подсчетом, цифровая сортировка, карманная сортировка)
- Элементарные структуры данных (стек, очередь, связанные списки)
- Алгоритмы, основанные на двоичной куче (сортировка кучей, очередь с приоритетами)
- Введение в алгоритмы поиска (двоичный поиск в отсортированном массиве, двоичное дерево поиска)
- Сбалансированные деревья поиска (обзор сбалансированных деревьев, АВЛ-дерево, Splay-дерево)
- Хеширование (хеш-таблицы с закрытой и открытой адресацией)
- Введение в поиск подстрок (простейший алгоритм поиска подстрок, алгоритм Рабина-Карпа)
- Поиск подстрок (алгоритм Кнута-Морриса-Пратта, Z-функция, алгоритм Бойера-Мура)
Каждая тема предполагает изучение в течение одной недели. На каждой неделе выдаются задания по программированию, предполагающие самостоятельную реализацию изучаемых в курсе алгоритмов и структур данных.
Профессии, специальности и направления подготовки | 09.00.00 Информатика и вычислительная техника
|
Область деятельности | Инженерное дело, технологии и технические науки
|
Дата окончания записи | 28.08.2022 |
Трудоёмкость в з.е. | 4.0 |
Количество лекций | 10 |
Дата ближайшего старта | 06.09.2021 |
Дата окончания | 28.08.2022 |
ID курса | 8303c095687344f38078e3c15ec630b2 |
К-во обучающихся на версии курса | 27815 |
Язык | Русский |
Длительность | 10 недель |
Сертификат | Есть |
Версия | 8 |