├── README.md └── slides ├── ТП МФТИ 2022, лекция 1.pdf ├── ТП МФТИ 2022, лекция 10.pdf ├── ТП МФТИ 2022, лекция 11.pdf ├── ТП МФТИ 2022, лекция 12.pdf ├── ТП МФТИ 2022, лекция 2.pdf ├── ТП МФТИ 2022, лекция 3.pdf ├── ТП МФТИ 2022, лекция 4.pdf ├── ТП МФТИ 2022, лекция 5.pdf ├── ТП МФТИ 2022, лекция 6.pdf ├── ТП МФТИ 2022, лекция 7.pdf ├── ТП МФТИ 2022, лекция 8.pdf └── ТП МФТИ 2022, лекция 9.pdf /README.md: -------------------------------------------------------------------------------- 1 | ![year][0] ![status][1] ![progress][2] 2 | 3 | ## Summary 4 | 5 | **Технологии программирования** 6 | 7 | **МФТИ, ФПМИ, 2022 год** 8 | 9 | # Аннотация 10 | 11 | *Курс про все, что связано с созданием ПО, кроме непосредственно написания программного кода* 12 | 13 | Курс состоит из лекций и семинарских занятий. 14 | 15 | Лекционный материал включает краткий обзор важных с точки зрения процесса разработки понятий: методы отладки и этапы исправления дефектов ПО, критерии хорошей и неудачной архитектуры, этапы проектирования и разработки, методологии разработки. 16 | 17 | Цель курса — дать слушателям, которые параллельно изучают языки программирования, алгоритмы и т. п., информацию и дополнительные знания, какими инструментами можно пользоваться и на что обращать внимание при создании рыночного программного продукта. 18 | 19 | # План лекций 20 | 21 | ## :white_check_mark: [Лекция №0](https://github.com/demist/techprog_mipt_2022/blob/main/slides/ТП%20МФТИ%202022%2C%20лекция%201.pdf) 22 | 23 | [*запись лекции*](https://youtu.be/9WmPY_FDGsI) 24 | 25 | - План курса 26 | - Правила оценки 27 | - Информация о заданиях 28 | - Контрольные мероприятия 29 | 30 | ## :white_check_mark: [Лекция №1](https://github.com/demist/techprog_mipt_2022/blob/main/slides/ТП%20МФТИ%202022%2C%20лекция%201.pdf) 31 | 32 | [*запись лекции*](https://youtu.be/9WmPY_FDGsI) 33 | 34 | ### Принципы проектирования ПО, часть 1 35 | 36 | - Что такое архитектура ПО 37 | - Что такое "Проектирование ПО"? 38 | - По каким критериям можно оценить архитектуру? 39 | - Критерии хорошей архитектуры 40 | - Эффективность 41 | - Гибкость 42 | - Расширяемость 43 | - Масштабируемость, тестируемость, возможность повторного использования, сопровождаемость 44 | - Критерии неудачной архитектуры 45 | - Жесткость 46 | - Хрупкость 47 | - Неподвижность 48 | - Принцип *High Cohesion / Low Coupling* 49 | 50 | ## :white_check_mark: [Лекция №2](https://github.com/demist/techprog_mipt_2022/blob/main/slides/ТП%20МФТИ%202022%2C%20лекция%202.pdf) 51 | 52 | [*запись лекции*](https://youtu.be/DIjRE-WxVrQ) 53 | 54 | ### Принципы проектирования ПО, часть 2 55 | 56 | - Принципы SOLID 57 | - **S**ingle responsibility principle 58 | - **O**pen-closed principle 59 | - **L**iskov substitutional principle 60 | - **I**nterface segregation principle 61 | - **D**ependency inversion principle 62 | - Закон Деметры 63 | - *YAGNI* 64 | - *DRY / DIE* 65 | - *KISS* 66 | 67 | > [Лекция Роберта *Uncle Bob* Мартина про SOLID](https://www.youtube.com/watch?v=zHiWqnTWsn4) 68 | 69 | ## :white_check_mark: [Лекция №3](https://github.com/demist/techprog_mipt_2022/blob/main/slides/ТП%20МФТИ%202022%2C%20лекция%203.pdf) 70 | 71 | [*запись лекции*](https://youtu.be/H36N153odgY) 72 | 73 | ### Основные диаграммы UML 74 | 75 | - Что такое UML? 76 | - Базовое понятие о нотации UML 77 | - Диаграмма вариантов использования 78 | - Понятие о вариантах использования 79 | - Понятие об акторах 80 | - Нотация диаграммы вариантов использования 81 | - Диаграмма классов 82 | - Понятие о классах 83 | - Нотация диаграммы классов 84 | - Выделение сущностей 85 | - Карточки CRC 86 | - Метод Аббота 87 | - Диаграмма последовательности 88 | - Нотация диаграммы последовательности 89 | - Диаграмма состояний 90 | - Нотация диаграммы состояний 91 | - Диаграмма деятельности 92 | - Нотация диаграммы деятельности 93 | 94 | > [UML Cheat Sheet](https://www.guru99.com/uml-cheatsheet-reference-guide.html) 95 | 96 | ## :white_check_mark: [Лекция №4](https://github.com/demist/techprog_mipt_2022/blob/main/slides/ТП%20МФТИ%202022%2C%20лекция%204.pdf) 97 | 98 | [*запись лекции*](https://youtu.be/7ItLSXeeTkE) 99 | 100 | ### Этапы развития проекта 101 | 102 | - Основные этапы жизненного цикла проектирования, реализации и внедрения ПО 103 | - Формирование требований 104 | - Разработка концепции 105 | - Техническое задание 106 | - Эскизный проект 107 | - Понятие о MVP и примеры MVP 108 | - Технический проект 109 | - Рабочая документация 110 | - Поставка / ввод в действие 111 | - Сопровождение 112 | - Вывод из эксплуатации 113 | 114 | ## :white_check_mark: [Лекция №5](https://github.com/demist/techprog_mipt_2022/blob/main/slides/ТП%20МФТИ%202022%2C%20лекция%205.pdf) 115 | 116 | [*запись лекции*](https://t.me/c/1587908103/33) 117 | 118 | ### Методологии разработки ПО 119 | 120 | - Основные понятия 121 | - Факторы, оказывающие влияние на процесс разработки 122 | - Внешние факторы 123 | - Внутренние факторы 124 | - Каскадная модель 125 | - V-модель 126 | - Инкрементная модель 127 | - Итерационная модель 128 | - Спиральная модель 129 | - RAD-модель 130 | - Семейство гибких методологий 131 | - Agile-манифест 132 | - Scrum 133 | - Kanban 134 | 135 | > [Статья про методологии разработки](https://acodez.in/12-best-software-development-methodologies-pros-cons/) 136 | 137 | ## :white_check_mark: [Лекция №6](https://github.com/demist/techprog_mipt_2022/blob/main/slides/ТП%20МФТИ%202022%2C%20лекция%206.pdf) 138 | 139 | [*запись лекции*](https://t.me/c/1587908103/48) 140 | 141 | ### Отладка ПО, ч.1: работа с ошибками ПО 142 | 143 | - Основные этапы отладки ПО 144 | - Воспроизведение дефекта 145 | - Необходимая информация для воспроизведения 146 | - Анализ дефекта 147 | - Понятие root-cause 148 | - Условия возникновения 149 | - Область повреждения 150 | - Необходимые выводы 151 | - Дизайн исправления 152 | - Технический 153 | - Архитектурный 154 | - Технологический 155 | - Исправление дефекта 156 | - Валидация исправления 157 | - Интеграция исправления в код или целевую систему 158 | - Дополнительные валидации после интеграции 159 | 160 | ## :white_check_mark: Лекция 24.03 161 | 162 | ### Промежуточная контрольная работа + долги по Agile 163 | 164 | [*запись с долгами по Agile*](https://t.me/c/1587908103/58) 165 | 166 | - Сначала пишем контрольную, на нее у вас будет **45 минут** 167 | - Далее обсуждаем долги с прошлых лекций: 168 | - Семейство гибких методологий 169 | - Agile-манифест 170 | - Scrum 171 | - Kanban 172 | 173 | ### Подробности про контрольную 174 | 175 | #### Кто когда пишет? 176 | - Группы, у которых в расписании есть лекция по ТП и нет пересечений с другими предметами - пишут контрольную **24.03 в 17:05** 177 | - Кто пропустил - идете в деканат, деканат говорит уважительная у вас причина или нет 178 | - Если уважительная - напишете контрольную в специальный день в конце семестра; никаких санкций за это вам не грозит 179 | - Если болеете - лучше не писать КР 24.03, т.к. аргументация "я плохо написал, т.к. болел" - приниматься не будет. Лечитесь, напишете потом 180 | - Если неуважительная - это ваш выбор; написать эту контрольную вы уже не сможете 181 | - Команда преподавателей курса не разбирается, у кого какая причина - такие сообщения будем просто игнорировать и по умолчанию считать, что причина неуважительная (до получения соответствующей информации от деканата) 182 | - Решить вопросы с деканатом (про уважительную причину) нужно до **30 апреля включительно**, т.к. 1 мая мы сядем формировать списки тех, кто должен написать промежуточную КР в дополнительный день 183 | - Особо смышленные - кто решит написать с другими группами не в свой день - мы же знаем вашу группу, так что вы просто получите за контрольную "0", проверять мы вашу работу не будем, а за обман команды преподавателей - обнулим баллы за семестр и пойдете на устный зачет; 184 | - Группы, у которых в расписании лекции по ТП нет / есть пересечения с другими предметами - пишут контрольную **28.03 в 13:00** 185 | - Про уважительные / неуважительные причины - то же самое, что и написано выше, с тем лишь исключением, что у вас уважительная причина должна быть 28.03 186 | - Кто хочет написать 24.03 вместе со всеми - можете писать 24.03 187 | - **Важная ремарка**: варианты КР 24.03 и 28.03 будут разными, но сложность мы постараемся сделать одинаковой. Тем не менее, всегда найдутся люди, которые считают, что один из вариантов был легче. Никаких "нормировок" на тот вариант, который *будет считаться студентами легче* и т.п. не будет - предупреждаем заранее, так что не тратьте свое и наше время на подобные вопросы. Да, 100% одинаковыми по сложности варианты не получатся, т.к. это физически невозможно, так что кому-то *повезет*, но это не будет иметь определяющего значения (т.к. варианты +- все равно будут одинаковы) 188 | 189 | #### Правила игры 190 | - На контрольную отводится **45 минут** 191 | - Контрольная пройдет на базе Google Forms 192 | - Если у вас пропал интернет в процессе решения контрольной - **не перезагружайте страницу**, просто ждите, когда интернет появится; если страницу перезагрузите - ответы могут пропасть 193 | - Лучше перед заполнением формы зайти в свой google-аккаунт (например, в аккаунт МФТИ, он есть у всех) - тогда ответы будут кэшироваться локально (проверялось на практике, но лучше в целом не рисковать и не перезагружать страницу) 194 | - О технических проблемах сообщать **строго до конца контрольной**. После того, как время контрольной вышло - никакие жалобы на технические проблемы не принимаются 195 | - О технических проблемах пишем в общий чат курса в telegram. Туда и только туда, т.к. по опыту все задают одни и те же вопросы. 196 | - Перед отправкой вопроса просьба просмотреть предыдущие сообщения - вдруг на ваш вопрос уже ответили 197 | - Содержательные вопросы по материалам КР задаем **строго в личных сообщениях в telegram лектору @demist**, за вопросы в общем чате - 0 баллов за КР автоматом (причина: часто такие вопросы являются подсказкой для других студентов) 198 | - Перед отправкой вопроса еще раз перечитайте внимательно вопрос КР - может быть, вы неправильно его поняли 199 | - Студентов много, так что и вопросов может быть потенциально много. Отвечать будем всем, но, очевидно, что всем моментально ответить не получится (*лектор существует в единственном экземпляре*). **Не пингуйте** в стиле "?", "ответьте пожалуйста" и т.п. Ответим мы всем, но в порядке очереди (*в каком порядке вопросы поступали*). За пинг - **0 баллов за КР** 200 | - Пока на ваш вопрос не ответили - не теряйте время, отвечайте на другие вопросы 201 | - **Обратите внимание**: после ответа на все вопросы нужно нажать кнопку *ОТПРАВИТЬ*. Если вы эту кнопку не нажали - ответов мы не получили, а значит, вы получите за КР 0 баллов 202 | - Апелляции после контрольной в стиле "я забыл нажать кнопку отправить" - приниматься не будут 203 | - После отправки ответов google-формы показывают сообщение в стиле "ваш ответ отправлен" 204 | - Если вы указали свою почту - туда должна будет прийти копия ваших ответов 205 | - **ВНИМАНИЕ** копия ответов не всегда приходит моментально, иногда попадает в *Спам*, иногда вообще не приходит - таковы уж google-формы. Не нужно дергать команду преподавателей - мы тут вам ничем помочь не сможем. Хотите пожаловаться - жалуйтесь в службу поддержки Google 206 | - **ВАЖНО** Ситуаций, что google-формы сказали "Ответ записан" (неважно пришло письмо или нет) и ответ мы не получаем - за 2+ года ни разу не замечено. Так что сообщение "Ответ записан" первично, письмо с копией - вторично 207 | - **ВАЖНО** Иногда после нажатия *ОТПРАВИТЬ* google-формы просят пройти капчу - когда они это просят, непредсказуемо (*возможно, если вы занимались непотребствами*), поэтому, на всякий случай, закладывайте на отправку ответов минимум 30 секунд (если все-таки капчу вас попросят заполнить) 208 | - Вас ждут тестовые вопросы и вопросы с ответом в свободной форме 209 | - Не нужно спрашивать *а сколько вопросов?*, *а какая разбалловка?* и т.п. Разбалловку вы увидите непосредственно в форме, а остальные вопросы - следствие нервов, не более того. Лучше потратьте свое время на подготовку, а не на написание подобных вопросов 210 | - На вопросы с ответом в свободной форме - отвечать **строго своими словами**. Копирование ответа из слайдов лекции / интернета / соседа-товарища и т.п. == плагиат, **за плагиат - 0 баллов за КР** 211 | - Все ответы будут прогнаны через систему *Антиплагиат* 212 | - Мы не будем разбираться, кто написал оригинальный ответ, а кто скопировал - 0 баллов получат все, у кого в ответах будет повторяющаяся фраза 213 | - Отвечать старайтесь лаконично и по сути - **от этого напрямую зависит скорость проверки** 214 | - Не нужно давать зазубренные ответы или воспроизвести лекцию - пишите, как понимаете 215 | 216 | #### Что будет на контрольной 217 | 218 | Вопросы будут исключительно по лекционному материалу. В промежуточную контрольную войдут все темы лекций №1 - №6, кроме темы про *семейство гибких методологий* (ее мы на лекциях разобрать не успели) 219 | 220 | #### Когда проверим? 221 | 222 | - Ориентировочно - в течение полутора - двух недель (студентов много, а проверять будем аккуратно) 223 | - Возможно, быстрее (если все напишут лаконично). Возможно - медленнее (если многие напишут *Войну и Мир* или ответы будут удручать проверяющих) 224 | - Про *удручать проверяющих* - факт. Проверить 50 хороших работ за вечер - приятно, а за то же время вымучать проверку 20 работ с полубредом - страдание 225 | - Не нужно нас пинговать вопросом *когда проверите?* 226 | - Как только проверим - результаты опубликуем 227 | - На текущие образовательные процессы результат КР никакого влияния не имеет 228 | - Аргументация из серии *ну я хочу понимать как я написал КР, чтобы планировать дальнейшие действия по курсу* - контрпродуктивна для образовательного процесса 229 | - Учиться надо хорошо и все отчетные мероприятия (контрольные, задания, проект) - делать максимально хорошо 230 | - Позиция *посчитаю, как мне набрать на троечку* понимания среди преподавательского состава не находит 231 | 232 | #### Как будет оцениваться? 233 | 234 | - Тестовые вопросы будут оцениваться бинарно (*правильно / неправильно*). В вопросах с множественным выбором - правильным считается только полный ответ. Баллы за частичный ответ не начисляются 235 | - Вопросы со свободным ответом - ставится балл от *0* до *полный балл за вопрос* в зависимости от качества ответа 236 | - **Нормировки по результатам контрольной не будет** 237 | - Даже если лучший балл будет в районе 50% от полного балла за КР - значит, такие баллы все и получат 238 | - Аргументация: курс читается, кажется, пятый или уже даже шестой год, за это время удалось выверить тот уровень вопросов по курсу, на которые студенты за Х минут в состоянии ответить при хорошей подготовке. То же относится и к материалу лекций. 239 | - Соответственно, ситуация *преподавательский состав выдал гробы* исключается 240 | - Соответственно, что заслужили - то получили. **Невысокий уровень знаний всех студентов по дисциплине не является поводом для снижения требований по дисциплине** 241 | - Тем не менее, несмотря на то, что вопрос про нормировку поднимается практически каждый год - каждый год находятся студенты, которые пишут контрольную если не на полный балл, то практически на полный 242 | - Очень надеюсь, что этот год не станет исключением. *Иначе команда преподавателей впадет в депрессию* 243 | 244 | ## :white_check_mark: [Лекция №7](https://github.com/demist/techprog_mipt_2022/blob/main/slides/%D0%A2%D0%9F%20%D0%9C%D0%A4%D0%A2%D0%98%202022%2C%20%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%207.pdf) 245 | 246 | [*запись лекции*](https://t.me/c/1587908103/71) 247 | 248 | ### Отладка ПО, ч.2: техники отладки 249 | 250 | - Запуск программ в отладчике (трассировка) 251 | - Софтверный дебаггер 252 | - "Железный" дебаггер 253 | - Удаленный дебаггер 254 | - Логирование 255 | - Работы системы 256 | - Программного кода 257 | - Анализ программного кода без исполнения программы 258 | - "Метод пристального взгляда" 259 | - Статические анализаторы 260 | - Анализ поведения системы 261 | - Упрощение сценария 262 | - Ограничение объема данных 263 | - Упрощение данных / запроса 264 | - UNIT-тестирование 265 | - Прототипирование 266 | - Отладка с помощью дампов 267 | - Отладка с помощью перехватов 268 | - Профилирование кода 269 | - Выполнение кода в другой среде 270 | - Отладка методом RPC (*Remote procedure call*) 271 | - Отладка путем анализа документации 272 | - Отладка трансляцией кода 273 | - Трансляция "вниз" 274 | - Трансляция "вверх" 275 | - Отладка разработкой интерпретатора 276 | - Метод индукции 277 | - Метод дедукции 278 | - Обратное движение по алгоритму 279 | 280 | ## :white_check_mark: [Лекция №8](https://github.com/demist/techprog_mipt_2022/blob/main/slides/%D0%A2%D0%9F%20%D0%9C%D0%A4%D0%A2%D0%98%202022%2C%20%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%208.pdf) 281 | 282 | [*запись лекции*](https://t.me/c/1587908103/80) 283 | 284 | ### Управление качеством ПО, ч.1 285 | 286 | - Понятие о качестве ПО 287 | - Характеристики и атрибуты качества ПО 288 | - Основые аспекты качества ПО 289 | - Парадокс тестировщика 290 | - Соответствие ожиданиям stakeholder'ов 291 | - Качество и деньги 292 | - Десятичное правило качества 293 | - Важные аспекты 294 | - Ручное тестирования 295 | - Класс эквивалентности 296 | - Граничные значения 297 | - 7 ключевых инструментов качества 298 | - Причинно-следственная диаграмма Исикавы 299 | - Блок-схема 300 | - Контрольный листок 301 | 302 | ## :white_check_mark: [Лекция №9](https://github.com/demist/techprog_mipt_2022/blob/main/slides/%D0%A2%D0%9F%20%D0%9C%D0%A4%D0%A2%D0%98%202022%2C%20%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%209.pdf) 303 | 304 | [*запись лекции*](https://t.me/c/1587908103/86) 305 | 306 | ### Управление качеством ПО, ч.2 307 | 308 | - 7 ключевых инструментов качества (*продолжение*) 309 | - Контрольная карта (карта Шухарта) 310 | - Примеры 311 | - Гистограмма 312 | - Диаграмма Парето 313 | - Диаграмма разбрасывания 314 | - Ручное тестирование. Практические советы 315 | - Автоматизированное тестирование 316 | - Основные аспекты 317 | - Жизненный цикл автотеста 318 | - Практические советы 319 | - Как на практике? 320 | 321 | ## :white_check_mark: [Лекция №10](https://github.com/demist/techprog_mipt_2022/blob/main/slides/%D0%A2%D0%9F%20%D0%9C%D0%A4%D0%A2%D0%98%202022%2C%20%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%2010.pdf) 322 | 323 | [*запись лекции*](https://t.me/c/1587908103/97) 324 | 325 | ### CI/CD/CD 326 | 327 | - CI/CD/CD 328 | - Понятие о Continuous Integration 329 | - Понятие о Continuous Delivery 330 | - Понятие о Continuous Deployment 331 | - Пример организации процесса разработка из индустрии 332 | - Этап проектирования 333 | - Этап реализации 334 | - Этап сдачи задачи 335 | - Подготовка к выпуску версии 336 | 337 | > [TravisCI](https://www.travis-ci.com/) 338 | 339 | > [TeamCity](https://www.jetbrains.com/teamcity/) 340 | 341 | > [GitHub Actions](https://github.com/features/actions) 342 | 343 | > [Jenkins](https://www.jenkins.io/) 344 | 345 | ## :white_check_mark: [Лекция №11](https://github.com/demist/techprog_mipt_2022/blob/main/slides/%D0%A2%D0%9F%20%D0%9C%D0%A4%D0%A2%D0%98%202022%2C%20%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%2011.pdf) 346 | 347 | [*запись лекции*](https://t.me/c/1587908103/109) 348 | 349 | ### Архитектурные паттерны 350 | 351 | - Классификация архитектуры ПО 352 | - Локальные 353 | - Распределенные 354 | - Файл-серверные 355 | - Клиент-серверные 356 | - Двухзвенные 357 | - Трехзвенные 358 | - Многозвенные 359 | - Локальные приложения 360 | - MVC (*Model-View-Controller*) 361 | - Клиент-серверная архитектура 362 | - Тонкий и толстый клиент 363 | - Трехзвенная архитектура 364 | - Оценка нагрузки на систему 365 | - Тип проекта и влияние на нагрузку 366 | - Ресурсы для обеспечения производительности 367 | - Масштабирование 368 | - Горизонтальное 369 | - Вертикальное 370 | - Функциональное разбиение 371 | - Шардинг 372 | - Типичная архитектура веб-сервиса 373 | - Типичная архитектура нагруженной информационной системы 374 | 375 | ## :white_check_mark: [Лекция №12](https://github.com/demist/techprog_mipt_2022/blob/main/slides/%D0%A2%D0%9F%20%D0%9C%D0%A4%D0%A2%D0%98%202022%2C%20%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F%2012.pdf) 376 | 377 | [*запись лекции*](https://t.me/c/1587908103/120) 378 | 379 | ### Базовые понятия о языках программирования 380 | 381 | - Парадигмы программирования 382 | - Императивное программирование 383 | - Описание 384 | - Примеры 385 | - "Вложенные парадигмы" 386 | - Процедурное программирование 387 | - Структурное программирование 388 | - Аспектно-ориентированное программирование 389 | - Объектно-ориентированное программирование 390 | - Обобщенное программирование 391 | - Декларативное программирование 392 | - Пример-объяснение 393 | - "Вложенные парадигмы" 394 | - Логическое программирование 395 | - Функциональное программирование 396 | - Общая схема парадигм 397 | - Метапрограммирование 398 | - Реализация парадигм в языках программирования 399 | - Компилируемые и интерпретируемые языка 400 | - Определения 401 | - Примеры 402 | - Типизация 403 | - Сильная / слабая типизация 404 | - Статическая / динамическая типизация 405 | - Явная / неявная типизация 406 | 407 | ## Финальная контрольная работа 408 | 409 | ### Как будет организовано 410 | Правила игры практически не меняются по сравнению с тем, что было на промежуточной контрольной. 411 | Просьба ознакомиться [здесь](https://github.com/demist/techprog_mipt_2022#%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D0%B8%D0%B3%D1%80%D1%8B) 412 | 413 | **Какие важные отличия?** 414 | - В финальную контрольную войдет материал лекций *№1 - №12* 415 | - Если вы напишете ее менее, чем на *30%* - ваши баллы за семестр "обнуляются" и вы идете на устный зачет (напомним, что финанальная контрольная - блокирующая) 416 | - На выполнение контрольной у вас **90 минут** 417 | 418 | ### Когда кто пишет 419 | 420 | Всего есть два варианта времени, когда мы будем писать контрольную: *12.05 в 17:05* и *16.05 в 13:00*. 421 | 422 | :fire: **Каждая группа самостоятельно решает, в какой день будет писать финальную контрольную** 423 | 424 | Для этого староста каждой группы до *18:00 10.05* должен прислать pull-request с номером своей группы в один из списков ниже: 425 | 426 | #### Пишут контрольную *12.05 в 17:05* 427 | - 111 428 | 429 | #### Пишут контрольную *16.05 в 13:00* 430 | - 112 431 | - 152 432 | - 154 433 | - 122 434 | - 128 435 | - 126 436 | - 125 437 | - 120 438 | - 127 439 | - 123 440 | - 155 441 | - 129 442 | - 011 443 | - 121 444 | - 151 445 | - 156 446 | - 025 447 | - 124 448 | 449 | [0]:https://img.shields.io/badge/year-2022-blue 450 | [1]:https://img.shields.io/badge/status-exam-yellow 451 | [2]:https://progress-bar.dev/100/ 452 | -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 1.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 10.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 10.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 11.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 11.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 12.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 12.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 2.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 3.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 4.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 5.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 6.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 7.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 8.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 8.pdf -------------------------------------------------------------------------------- /slides/ТП МФТИ 2022, лекция 9.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demist/techprog_mipt_2022/3416de34befdcddfd7153afa975a64f001a57b2d/slides/ТП МФТИ 2022, лекция 9.pdf --------------------------------------------------------------------------------