Практикум (3 курс, осенний семестр 2016 года) — различия между версиями

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск
м (Первое домашнее задание. Изоморфизм графов)
м (Общая информация)
Строка 1: Строка 1:
 
== Общая информация ==
 
== Общая информация ==
Занятия проходят по понедельникам с 14:35 до 16:10 в аудитории 609. Занятия ведут [[Шуплецов Михаил Сергеевич]] и [[Данилов Борис Радиславович]].
+
* Занятия проходят по понедельникам с 14:35 до 16:10 в аудитории 609.
 +
* Занятия ведут [[Шуплецов Михаил Сергеевич]] и [[Данилов Борис Радиславович]].
 +
* [[Media:Prac_318_Autumn_2016_rules.pdf|Правила выставления оценки в семестре]].
  
 
== Программа семинаров ==
 
== Программа семинаров ==

Версия 18:54, 18 сентября 2016

Общая информация

Программа семинаров

Семинар 1. Вводный семинар. 5 сентября. Объявление общего плана занятий в семестре. Критерии выставления оценки в конце семестра. Анкетирование студентов. Проведение вводной контрольной для оценки знаний студентов.

Инструменты разработки программного обеспечения

Семинар 2. Стандарты оформления кода. 12 сентября. Критерии качества программ. Стандарты оформления кода (Code style guides). Презентация.

Семинар 3. Системы контроля версий. 19 сентября. Централизованные и распределенные системы контроля версий. Разработка с использованием систем контроля версий. Система контроля версий Git. Основные возможности Git. Работа с системой контроля версий Git. Навигация по истории проекта (commit history). Работа с ветвями(branching): создание, управление и слияние. Работа с удаленным сервером. Системы управления проектом. Обзор возможностей системы GitLab. Презентация.

Семинар 4. Автоматическая сборка проекта. 26 сентября. Автоматическая сборка проекта. Утилита GNU Make. Презентация.

Семинар 5. Автоматическая сборка проекта (продолжение). 3 октября. TBA

Семинар 6. Тестирование программ. 10 октября. Введение в тестирование. Распространенные ошибки. Основные принципы и подходы к тестированию программ. Среды тестирования программ на примере CppUnit.

Семинар 7. Автоматическая документация кода. 24 октября. Автоматическая документация кода. Создание автоматической документации при помощи Doxygen. Презентация.

Структуры данных и элементы STL

Семинар 8. Реализация очередей с приоритетами. 24 октября. Бинарное дерево поиска. Поиск по ключу, поиск максимума и минимума, предшествующий и последующий элементы. Вставка и удаление. Пирамида (binary heap). Свойство пирамиды. Поддержка свойства пирамиды. Создание пирамиды. Пирамидальная сортировка. Очередь с приоритетами.

Семинар 9. Хэш-таблицы. 31 октября. TBA

Семинар 10. Системы непересекающихся множеств. 7 ноября. Система непересекающихся множеств. Представление непересекающихся множеств с помощью списков. Лес непересекающихся множеств. Корневая, весовая и ранговая эвристики. Влияние эвристик на время работы. Анализ объединения по рангу со сжатием пути. Презентация.

Семинар 11. Первая контрольная. 14 ноября. Контрольная по первым двум разделам курса.

Приемы объектно ориентированного программирования

Семинар 12. Паттерны проектирования – классификация паттернов. Порождающие паттерны. 21 ноября. TBA

Семинар 13. Структурные паттерны. 28 ноября. TBA

Семинар 14. Паттерны поведения. 5 декабря. TBA

Семинар 15. Контрольная. 12 декабря. Контрольная по третьему разделу курса.

Домашние задания

Первое домашнее задание. Изоморфизм графов

Второе домашнее задание

TBA

Третье домашнее задание.

TBA