Основы и методология программирования 2016/2017 пилотный поток/161-2 — различия между версиями
Melnichuk (обсуждение | вклад) (→Семинар 12.10.2016) |
Melnichuk (обсуждение | вклад) (→Результаты) |
||
(не показано 5 промежуточных версии этого же участника) | |||
Строка 229: | Строка 229: | ||
[https://official.contest.yandex.ru/contest/2936/standings/ Контрольная работа №3] | [https://official.contest.yandex.ru/contest/2936/standings/ Контрольная работа №3] | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! ФИО !! Оценка | ||
+ | |- | ||
+ | | Алейкин Сергей Дмитриевич || 7 | ||
+ | |- | ||
+ | | Бобровский Артемий Андреевич || 6 | ||
+ | |- | ||
+ | | Грицаев Матвей Григорьевич || 2 | ||
+ | |- | ||
+ | | Дрынкин Роберт Робертович || 6 | ||
+ | |- | ||
+ | | Ершов Олег Владиславович || 4 | ||
+ | |- | ||
+ | | Кочергин Владислав Константинович || 7 | ||
+ | |- | ||
+ | | Лавренов Николай Артемович || 7 | ||
+ | |- | ||
+ | | Лавритов Дмитрий Ильич || 6 | ||
+ | |- | ||
+ | | Семенов Михаил Александрович || 7 | ||
+ | |- | ||
+ | | Синицын Богдан Игоревич || 6 | ||
+ | |- | ||
+ | | Усов Федор Андреевич || 6 | ||
+ | |- | ||
+ | | Якунчева Ирина Юрьевна || 0 | ||
+ | |- | ||
+ | |} | ||
Разбор контрольной и реализация вектора. | Разбор контрольной и реализация вектора. | ||
Код, написанный на семинаре: https://yadi.sk/d/wldfvEMfwgyh9 | Код, написанный на семинаре: https://yadi.sk/d/wldfvEMfwgyh9 | ||
+ | |||
+ | В субботу 15ого октября на второй паре в аудитории 503 будет переписывание контрольной. | ||
+ | Допуск на переписывание выдает семинарист. Без допуска приходить нельзя. | ||
+ | Если вы хотите переписать контрольную, свяжитесь со мной и согласуйте это. | ||
+ | |||
+ | |||
+ | ===Семинар 17.10.2016=== | ||
+ | |||
+ | Умные указатели, unique_ptr, shared_ptr, простая реализация shared_ptr. Юнит-тесты в коде. GTest: https://github.com/google/googletest | ||
+ | |||
+ | Код, написанный на семинаре: http://pastebin.com/bv7MzKJv | ||
+ | |||
+ | ===Результаты=== | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Студент !! КР1 !! КР2 !! КР3 !! ДЗ !! Ауд. !! Накопл. !! Накопл. округл. | ||
+ | |- | ||
+ | | Алейкин Сергей Дмитриевич || 10|| 8|| 7 || 10 || 10|| 9,17 || 9 | ||
+ | |- | ||
+ | | Бобровский Артемий Андреевич || 6 || 6 || 6 || 3 || 8 ||5,50 || 6 | ||
+ | |- | ||
+ | | Грицаев Матвей Григорьевич || 4 || 6 || 6 || 4 || 10 || 5,87 || 6 | ||
+ | |- | ||
+ | | Дрынкин Роберт Робертович || 6 || 8 || 6 || 0 || 8 || 4,93 || 5 | ||
+ | |- | ||
+ | | Ершов Олег Владиславович || 6 || 6 || 6 || 8 || 8 || 7,00 || 7 | ||
+ | |- | ||
+ | | Кочергин Владислав Константинович || 8 || 8 || 7 || 10 || 10 || 8,83 || 9 | ||
+ | |- | ||
+ | | Лавренов Николай Артемович || 10 || 6 || 7 || 9 || 10 || 8,53 || 9 | ||
+ | |- | ||
+ | | Лавритов Дмитрий Ильич || 6 || 6 || 6 || 4 || 8 || 5,80 || 6 | ||
+ | |- | ||
+ | | Семенов Михаил Александрович || 8 || 8 || 7 || 7 || 6 || 7,13 || 7 | ||
+ | |- | ||
+ | | Синицын Богдан Игоревич || 0 || 0 || 6 || 10|| 8 || 5,60 || 6 | ||
+ | |- | ||
+ | | Усов Федор Андреевич || 6 || 4 || 6 || 6 || 8 || 6,07 || 6 | ||
+ | |- | ||
+ | | Халиков Даниил Альбертович || 0 || 0 || 0 || 0 || 4 || 0,80 || 1 | ||
+ | |- | ||
+ | | Якунчева Ирина Юрьевна || 8 || 0 || 0 || 0 || 4 || 2,13 || 2 | ||
+ | |} |
Текущая версия на 19:52, 21 октября 2016
Содержание
- 1 Контакты семинариста
- 2 Контакты ассистента
- 3 Семинар 05.09.2016
- 4 Семинар 07.09.2016
- 5 Семинар 12.09.2015
- 6 Семинар 14.09.2015
- 7 Семинар 19.09.2016
- 8 Семинар 21.09.2016
- 9 Семинар 26.09.2016
- 10 Семинар 28.09.2015
- 11 Семинар 03.10.2016
- 12 Семинар 05.10.2016
- 13 Консультация 06.10.2016
- 14 Домашняя работа
- 15 Семинар 10.10.2016
- 16 Семинар 12.10.2016
- 17 Семинар 17.10.2016
- 18 Результаты
Контакты семинариста
Почта finisterra@yandex.ru
VK vk.com/finisterra
Телефон +7(915)004-91-33
Telegram lastearth
Контакты ассистента
Почта tiunovas@mail.ru
VK https://vk.com/id144882148
Telegram astiunov
Контест с дополнительными задачами: https://official.contest.yandex.ru/contest/2868/enter/.
Семинар 05.09.2016
HelloWorld на C++. Знакомство с linux. Основные команды, которые следует освоить:
- ls
- cd
- vim
- g++
Также стоит посмотреть на команды
- man
- cat
- less
- grep
и попрактиковаться в перенаправлениях потоков.
Семинар 07.09.2016
Решение задач.
- числа Фибоначчи
- ASCII-таблица
- Треуголник Паскаля
- Быстрое возведение в степень
- Непарное число
Типичные ошибки и замечания по style guide'у:
- именование переменных
- инициализация переменных при создании
Полезные ссылки
Семинар 12.09.2015
Решение задач.
- Утилита head (ввод-вывод)
- gcd (работа с функциями)
- Частоты символов (ввод-вывод и вектор)
- Транспонирование матрицы (вектора векторов)
К среде надо подготовиться к контрольной по вводу-выводу, базовым конструкциям языка, циклам и функциям. Также советую познакомится с интерфейсом Яндекс.Контеста на примере тренировочного набора задач.
Семинар 14.09.2015
Домашнее задание: разбиться на пары и прислать мне на почту ревью кода напарника по всем отправленным на КР задачам. Принимается вплоть до полуночи воскресенья, то есть до конца недели.
ФИО | Оценка | Прислал ревью |
---|---|---|
Алейкин Сергей Дмитриевич | 10 | + |
Бобровский Артемий Андреевич | 6 | + |
Васильев Олег Юрьевич | 10 | |
Грицаев Матвей Григорьевич | 4 | + |
Дрынкин Роберт Робертович | 6 | |
Ершов Олег Владиславович | 6 | + |
Кочергин Владислав Константинович | 8 | + |
Лавренов Николай Артемович | 10 | + |
Лавритов Дмитрий Ильич | 6 | + |
Семенов Михаил Александрович | 4 | + |
Усов Федор Андреевич | 6 | + |
Якунчева Ирина Юрьевна | 8 | + |
Семинар 19.09.2016
Ассоциацивные массивы. Языковая статистическая модель. N-граммы.
Дома попробуйте обучить модели по словам, а не по буквам. Также можно поэкспериментировать со смешением распределений по разным N.
Семинар 21.09.2016
Написание структур. Специализация std::less, std::equal_to, std::hash для своих структур. Шаблонные параметры std::map, std:set, std::unordered_map, std::unordered_set.
Задачи
- поиск наиболее популярного квадрата на клетчатой плоскости по набору точек
- обработка запросов "содержится ли точка хотя в одном отрезке из фиксированного набора"
- проверка наличия вертикальной оси симметрии у набора точек
Семинар 26.09.2016
Написание шаблонных функций. Специализация шаблонных функций. Шаблонные параметры по умолчанию. Написание алгоритмов, аналогичных <algorithm>.
Задачи
- transform
- partition на ForwardIterator'ах
- merge
- lower_bound
В среду 28 сентября на первой паре, как всегда, будет контрольная по пройденным материалам.
Семинар 28.09.2015
Результаты контрольной:
ФИО | Оценка | Прислал ревью |
---|---|---|
Алейкин Сергей Дмитриевич | 8 | |
Бобровский Артемий Андреевич | 6 | |
Васильев Олег Юрьевич | 0 | |
Грицаев Матвей Григорьевич | 6 | |
Дрынкин Роберт Робертович | 8 | |
Ершов Олег Владиславович | 6 | |
Кочергин Владислав Константинович | 8 | |
Лавренов Николай Артемович | 6 | |
Лавритов Дмитрий Ильич | 6 | |
Семенов Михаил Александрович | 8 | |
Усов Федор Андреевич | 4 |
Домашнее задание: как в прошлый раз, разбиться на пары и прислать мне на почту ревью кода напарника по всем отправленным на КР задачам.
Принимается вплоть до полуночи воскресенья, то есть до конца недели.
Семинар 03.10.2016
Класс для работы с рациональными числами (не шаблон и шаблон). Конструкторы, список инициализации, const, перегрузка операторов, friend.
Семинар 05.10.2016
Дополнительные применения шаблонов, классы типов, sfinae.
Консультация 06.10.2016
Некоторые нововведения C++11. std::initializer_list, constexpr. Семантика перемещения: rvalue ссылки, move, forward.
Домашняя работа
Распределение по вариантам:
ФИО | A | B | C |
---|---|---|---|
Алейкин Сергей Дмитриевич | 2 | 2 | 2 |
Бобровский Артемий Андреевич | 1 | 1 | 1 |
Васильев Олег Юрьевич | 2 | 1 | 2 |
Грицаев Матвей Григорьевич | 1 | 2 | 2 |
Дрынкин Роберт Робертович | 2 | 1 | 1 |
Ершов Олег Владиславович | 1 | 2 | 2 |
Кочергин Владислав Константинович | 1 | 2 | 2 |
Лавренов Николай Артемович | 1 | 2 | 1 |
Лавритов Дмитрий Ильич | 2 | 2 | 2 |
Семенов Михаил Александрович | 1 | 1 | 2 |
Усов Федор Андреевич | 2 | 2 | 1 |
Семинар 10.10.2016
Наследование. Базовый вариант наследования. Наследование от шаблонного класса. Реализация Singleton, DFSVisitor. Задачи:
- ZeroInit
- SerializableSet
Дома попробуйте реализовать иерархию классов для игры кошки-мышки. Должен быть базовый класс TGameObject, от него унаследованы TCat и TMouse. Объекты будут лежать в std::vector<TGameObject *>. Для отправки по сети они будут сериализовываться в строку и десериализовываться оттуда. Надо реализовать удобный механизм сериализации/десереализации для отправки объектов по сети. То есть по вектору объектов должно быть легко и удобно построить строку, содержащую их полное описание, а потом из строки собрать их обратно.
Hint: советую сделать в базовом классе три чисто виртуальных метода GetClassID, Serialize и Deserialize, а в детях их реализовать и продумать механизм их использования.
В среду на первой паре, как водится, будет контрольная по пройденному материалу.
Семинар 12.10.2016
ФИО | Оценка |
---|---|
Алейкин Сергей Дмитриевич | 7 |
Бобровский Артемий Андреевич | 6 |
Грицаев Матвей Григорьевич | 2 |
Дрынкин Роберт Робертович | 6 |
Ершов Олег Владиславович | 4 |
Кочергин Владислав Константинович | 7 |
Лавренов Николай Артемович | 7 |
Лавритов Дмитрий Ильич | 6 |
Семенов Михаил Александрович | 7 |
Синицын Богдан Игоревич | 6 |
Усов Федор Андреевич | 6 |
Якунчева Ирина Юрьевна | 0 |
Разбор контрольной и реализация вектора. Код, написанный на семинаре: https://yadi.sk/d/wldfvEMfwgyh9
В субботу 15ого октября на второй паре в аудитории 503 будет переписывание контрольной. Допуск на переписывание выдает семинарист. Без допуска приходить нельзя. Если вы хотите переписать контрольную, свяжитесь со мной и согласуйте это.
Семинар 17.10.2016
Умные указатели, unique_ptr, shared_ptr, простая реализация shared_ptr. Юнит-тесты в коде. GTest: https://github.com/google/googletest
Код, написанный на семинаре: http://pastebin.com/bv7MzKJv
Результаты
Студент | КР1 | КР2 | КР3 | ДЗ | Ауд. | Накопл. | Накопл. округл. |
---|---|---|---|---|---|---|---|
Алейкин Сергей Дмитриевич | 10 | 8 | 7 | 10 | 10 | 9,17 | 9 |
Бобровский Артемий Андреевич | 6 | 6 | 6 | 3 | 8 | 5,50 | 6 |
Грицаев Матвей Григорьевич | 4 | 6 | 6 | 4 | 10 | 5,87 | 6 |
Дрынкин Роберт Робертович | 6 | 8 | 6 | 0 | 8 | 4,93 | 5 |
Ершов Олег Владиславович | 6 | 6 | 6 | 8 | 8 | 7,00 | 7 |
Кочергин Владислав Константинович | 8 | 8 | 7 | 10 | 10 | 8,83 | 9 |
Лавренов Николай Артемович | 10 | 6 | 7 | 9 | 10 | 8,53 | 9 |
Лавритов Дмитрий Ильич | 6 | 6 | 6 | 4 | 8 | 5,80 | 6 |
Семенов Михаил Александрович | 8 | 8 | 7 | 7 | 6 | 7,13 | 7 |
Синицын Богдан Игоревич | 0 | 0 | 6 | 10 | 8 | 5,60 | 6 |
Усов Федор Андреевич | 6 | 4 | 6 | 6 | 8 | 6,07 | 6 |
Халиков Даниил Альбертович | 0 | 0 | 0 | 0 | 4 | 0,80 | 1 |
Якунчева Ирина Юрьевна | 8 | 0 | 0 | 0 | 4 | 2,13 | 2 |