Алгоритмы: теория и практика. Структуры данных

Александр Куликов Кандидат физико-математических наук. Научный сотрудник лаборатории математической логики ПОМИ РАН, координатор и преподаватель Computer Science центра и Computer Science клуба при ПОМИ РАН, преподаватель Академического университета. Научные интересы: алгоритмы для NP-трудных задач, схемная сложность. Домашняя страница: http://logic.pdmi.ras.ru/~kulikov/

Computer Science Center

В курсе будут рассмотрены структуры данных, наиболее часто использующиеся на практике: массивы, списки, очереди, стеки, динамические массивы, очереди с приоритетами, системы непересекающихся множеств, хеш-таблицы, сбалансированные деревья. Вы узнаете, как такие структуры данных реализованы в разных языках программирования, и, конечно же, потренируетесь самостоятельно их реализовывать, применять и расширять.
Основная цель курса — узнать, как устроены основные структуры данных (чтобы не пользоваться их готовыми реализациями как чёрным ящиком, а точно знать, чего от реализации ожидать), и научиться выбирать подходящую структуру данных при решении заданной вычислительной задачи.

Программа

1 Базовые структуры данных
1.1 Базовые структуры данных
1.2 Задачи
2 Очереди с приоритетом и системы непересекающихся множеств
2.1 Очереди с приоритетом
2.2 Системы непересекающихся множеств
2.3 Задачи
3 Хеш-таблицы
3.1 Хеш-таблицы
3.2 Задачи
4 Деревья поиска
4.1 АВЛ-деревья
4.2 Дополнительные операции
4.3 Сплей-деревья
4.4 Задачи

Ключевые слова

алгоритмы, структуры данных, программирование, хеш-таблицы


Характеристики курса

Направление в конкурсе
Естественные и технические науки
Вид образования
Внеформальное
Уровень формального образования
Профессиональное совершенствование
Рекомендуемый возраст для неформального обучения
19-25, 25-45, 45-65, 65+
Язык обучения
Русский
Дисциплина
Информационно-коммуникационные технологии (ИКТ)
Авторы курса
Александр Куликов Кандидат физико-математических наук. Научный сотрудник лаборатории математической логики ПОМИ РАН, координатор и преподаватель Computer Science центра и Computer Science клуба при ПОМИ РАН, преподаватель Академического университета. Научные интересы: алгоритмы для NP-трудных задач, схемная сложность. Домашняя страница: http://logic.pdmi.ras.ru/~kulikov/
Организация
Computer Science Center
Входные требования по уровню знаний
Знание одного из распространённых языков программирования (C++, Java, Python, Octave, Haskell) на базовом уровне: циклы, массивы, списки, очереди. Базовые знания математики: доказательство от противного, доказательство по индукции, логарифм, экспонента.
Входной тест
Формирование групп по уровню подготовленности
Присутствие преподавателей
Присутствие тьюторов
Присутствие фасилитаторов
Форма представления учебных материалов
тексты, мультимедиа, видеолекции, презентации, онлайн общение с преподавателем
Наличие обратной связи в материалах
Наличие совместного обучения
Наличие форумов, дискуссий
Наличие вебинаров, видеоконференций
Наличие неформального общения, meetup
Интеграция с LMS
Учебная аналитика
Наличие сертификации
Виды сертификации
Электронный сертификат
Название сертификата
Сертификат Stepik
Уровни сертификата
Обычный сертификат Сертификат с отличием
Наличие временных границ
Продолжительность
4 (недели)
Тип занятий (синхронность)
асинхронные
Количество модулей в курсе
4
Возможность формирования собственной траектории, индивидуализации на курсе
Операционные системы
Windows (начиная с версии 7), Linux, Ubuntu, Debian, MacOS, iOS, Android (начиная с версии 4.0)
Поддерживаемые браузеры
Минимальные версии поддерживаемых браузеров: IE / Edge 10 Firefox 38 Chrome 31 Safari 8 Opera 30 iOS Safari 9 Android Browser 4.4 Chrome for Android 44
Устройства для обучения
Компьютер, ноутбук, планшет, телефон
Поддержка лиц с ограниченными возможностями

Комментарии


lutra-lo@ya.ru | 21-09-2017
Замечательный курс для всех продолжающих учиться программировать. Я занимаюсь биоинформатикой и использую алгоритмы для анализа данных. Вчера оставила код на середине, не могла сообразить, как отсортировать результаты BLAST. Сегодня с утра поняла, что это аналог одной из пройденных на курсе задач, и все получилось))