Алгоритмы и структуры данных. Подгруппы 102-1, 102-2, 107-2
Содержание
Общая информация
Семинары ведет Умнов Алексей
Часы консультаций:
- Понедельник: 15:45 - 16:30
- Среда: 18:15 - 19:00
Решения задач с семинаров
Код для задач по программированию можно присылать на адрес alexeyum@gmail.com.
Тему письма оформляйте по такому шаблону (иначе письмо может потеряться):
"АиСД - <Номер семинара>.<номер задачи> - <Подгруппа> <Фамилия> <Имя>".
Пример: "АиСД - 2.1 - 123-1 Умнов Алексей".
Не забывайте писать тесты к задачам (как обсуждалось на семинарах) и указывать версию компилятора/интерпретатора.
Стиль кода
Код должен соответствовать стайлгайду, принятому на курсе Основы_и_методологии_программирования.
Также есть дополнительные правила:
- Запрещено использовать глобальные переменные.
Домашние задания
Правила ревью
Алгоритм сдачи задачи такой:
1. Сдайте задачу в контест.
2. Отправьте исходный код (в точности тот, что был в контесте) на ревью с помощью rb.cs.hse.ru.
В заголовке ревью напишите "Дз<номер>.<буква/номер задачи> <подгруппа> <Фамилия Имя>". Ревьювером укажите "alexeyum".
Не забудьте нажать "Publish", чтобы отправить запрос на ревью.
3. Дождитесь ответа на ревью. Если ответа нет в течение 5 дней, то пишите об этом на alexeyum@gmail.com.
4. Если вы получили "Ship It", значит задача сдана. Если нет, то необходимо сделать все указанные в ревью исправления.
5. Сдайте исправленный код в контест, а потом загрузите его на ревью. Перейдите к шагу 3.
Задание 1
Помимо сдачи задания в контест (см. главную страницу), необходимо также пройти ревью по всем задачам.
Решение можно писать на C++ или на Python. Код должен соответствовать стайлгайду, принятому на курсе Основы_и_методологии_программирования.
За каждую задачу в задании можно получить до 10/6 баллов. Для этого нужно сдать решение в контест и пройти полное ревью. Если ревью пройдено частично, то за задачу будет начислен неполный балл.
Итоговая сумма будет округляться вверх.
Занятия
Семинар 0 (12.01). Ханойские башни.
На семинаре разбиралась задача о Ханойских башнях, ее рекурсивное решение, подсчитывалось время работы и доказывалась оптимальность. Также предлагалось запрограммировать этот алгоритм на любом языке.