ISDElective — различия между версиями
(→Раздел 6. Особенности разработки и использования открытого программного обеспечения) |
Seosky (обсуждение | вклад) |
||
Строка 13: | Строка 13: | ||
== Расписание == | == Расписание == | ||
=== Осень 2019 === | === Осень 2019 === | ||
− | + | Segeralah Mendaftar langsung di | |
+ | * [https://macanplay.net/ Macanslot] | ||
+ | * [https://paradox3d.net/ InaTogel] | ||
+ | * [https://macanwin.net/ QqMacan] | ||
+ | * [https://lechers.cc/ RoyalToto] | ||
+ | * [https://xenogames.net/ JayaTogelUp] | ||
+ | * [https://eeooii.info/ Raja Slot4D] | ||
+ | * [https://139.180.153.95/ Raja Slot4D] | ||
+ | * [https://209.58.183.93/ JayaTogelUp] | ||
+ | * [https://ronin138.com/ Ronin138] | ||
+ | * [https://addicthealious.website/ slot 4d] | ||
+ | * [https://18.142.23.191/ Macan Slot] | ||
+ | * [https://royaltotopedia.com RoyTop88] | ||
+ | * [https://macanplay.com MacanSlot] | ||
+ | * [https://macantoto88.com Toto 88] | ||
+ | * [https://jayatogelup.com.com jayatogelup] | ||
+ | [https://ronin19.com/ Ronin138] | ||
+ | [https://addicthealing.website/ slot 4d] | ||
+ | [https://jayatogelcc.cc/ jayatogel] | ||
+ | [https://jayatogelcc.cc/ jayatogelcc] | ||
+ | [http://northcoaststeelhead.com/ northcoaststeelhead.com] | ||
+ | [http://supremeoutlet.us/ supremeoutlet.us] | ||
+ | [http://208.78.220.231/ freebet] | ||
+ | [http://blackfridaymichaelkors.us/ freebet] | ||
+ | [https://supremeshirtshop.us/ supremeshirtshop.us] | ||
+ | [https://macanplayslot.web.fc2.com/ macanplay] | ||
+ | [https://royaltotopedia4d.web.fc2.com/ royaltotopedia] | ||
+ | [https://macanplay8.web.fc2.com/ macanplay slot] | ||
+ | [https://royaltotopedia88.web.fc2.com/ royaltoto] | ||
+ | [https://olxtotos.web.fc2.com/ olxtoto] | ||
+ | [https://linklist.bio/OLX.TOTO olxtoto] | ||
+ | [https://c.mi.com/thread-4131553-1-0.html olxtoto] | ||
+ | [https://heylink.me/FAFA138 fafa138] | ||
+ | [https://heylink.me/FaFa138 fafa138] | ||
+ | [https://heylink.me/Fafa138 fafa138] | ||
+ | [https://magic.ly/FAFA138 fafa138] | ||
+ | [https://fafa138slot.web.fc2.com fafa138] | ||
+ | [https://heylink.me/FAFA138 fafa138] | ||
+ | [http://ec2-13-250-3-146.ap-southeast-1.compute.amazonaws.com/ fafa138] | ||
Курс будет проходить по средам с 16:40 до 19:30.<br /> | Курс будет проходить по средам с 16:40 до 19:30.<br /> | ||
Каждую неделю запланированы одна лекция и одно практическое занятие.<br /> | Каждую неделю запланированы одна лекция и одно практическое занятие.<br /> |
Версия 02:25, 18 августа 2022
Страница факультативного курса "Методы разработки программного обеспечения" (Industrial Software Development)
Содержание
- 1 О курсе
- 2 Регистрация
- 3 Расписание
- 4 Предварительный список тем курса
- 4.1 Раздел 1. Системы контроля версий (СКВ) и работа с ними
- 4.2 Раздел 2. Верификация и Валидация
- 4.3 Раздел 3. Системы сборки, пакетные менеджеры и непрерывная интеграция
- 4.4 Раздел 4. Практики командной работы с программным кодом
- 4.5 Раздел 5. Планирование и работа с системами трекинга
- 4.6 Раздел 6. Особенности разработки и использования открытого программного обеспечения
- 4.7 Раздел 7. Исследования и разработка
- 4.8 Раздел 8. Социальные аспекты жизни программиста
- 5 Оценка
- 6 Авторы курса
- 7 Благодарности
О курсе
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.
Регистрация
Для регистрации нужно заполнить эту анкету
Наша группа в телеграмме
Расписание
Осень 2019
Segeralah Mendaftar langsung di
- Macanslot
- InaTogel
- QqMacan
- RoyalToto
- JayaTogelUp
- Raja Slot4D
- Raja Slot4D
- JayaTogelUp
- Ronin138
- slot 4d
- Macan Slot
- RoyTop88
- MacanSlot
- Toto 88
- jayatogelup
Ronin138
slot 4d
jayatogel
jayatogelcc
northcoaststeelhead.com
supremeoutlet.us
freebet
freebet
supremeshirtshop.us
macanplay
royaltotopedia
macanplay slot
royaltoto
olxtoto
olxtoto
olxtoto
fafa138
fafa138
fafa138
fafa138
fafa138
fafa138
fafa138
Курс будет проходить по средам с 16:40 до 19:30.
Каждую неделю запланированы одна лекция и одно практическое занятие.
Первое занятие запланировано на 25 сентября.
1 модуль: c 25 сентября по 16 октября – ауд. G103
2 модуль: c 23 октября по 20 ноября – ауд. G103
Внимание, 23 октября занятия не будет из-за сессии, следующее - 30 октября.
Внимание, 9 октября занятия не будет, следующее - 16 октября.
Не переживайте, если мест для официальной записи на факультатив нет. Если вам интересен курс, имеет смысл всё равно появиться на занятии. В аудитории на лекции смогут быть до 40 человек.
Предварительный список тем курса
Раздел 1. Системы контроля версий (СКВ) и работа с ними
- Какие бывают СКВ?
- История средств и методов контроля версий ПО.
- Какие бывают репозитории?
- Что такое моно-репозитории и в чём их отличие от других? Почему компании переходят на моно-репозитории?
Раздел 2. Верификация и Валидация
- Статический Анализ: Теорема Райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, Неточный анализ.
- Тестирование программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.
- Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование.
Слайды для лекции Verification and Validation
Видео лекции Verification and Validation
Раздел 3. Системы сборки, пакетные менеджеры и непрерывная интеграция
Слайды для лекции Building and Distribution
Видео лекции Building and Distribution
Раздел 4. Практики командной работы с программным кодом
- Что такое стиль кода?
- Зачем нужны соглашения о стиле кода?
- Что такое принципы проектирования?
- Какие есть принципы в ООП?
- Что такое шаблоны проектирования, чем они отличаются от принципов?
- Что такое рецензирование кода (code review)?
- Как готовить код к рецензированию?
- Как проводить рецензирование чужого кода?
- Как организовать рецензирование кода в команде?
Google Style Guides Google's Engineering Practices - Code Review Developer Guide
Видео лекции How to write code
Раздел 5. Планирование и работа с системами трекинга
- Что такое баг-трекер (bug/issue tracker)?
- Какие используются эффективные практики документирования ошибок и требований?
- Что такое релизные циклы? Как их планировать?
- Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?
- Что особенно важно не забыть при документировании проблем и ошибок в ПО?
Видео лекции Product management
Раздел 6. Особенности разработки и использования открытого программного обеспечения
- Что такое открытое программное обеспечение?
- В чём особенности проектов с открытым исходным кодом?
- Всегда ли ПО с открытым кодом разрабатывается сообществом?
- Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?
- Какие существуют практики участия в коллективно разрабатываемых проектах?
- Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?
Раздел 7. Исследования и разработка
- Чем исследовательские статьи могут быть полезны прикладному программисту?
- Как правильно инженеру читать статьи? И надо ли вообще их читать?
- Как и где искать новые способы решения задач, которые надо решать?
- Чем отличается характер работы в исследовательских (R&D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?
- Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?
Раздел 8. Социальные аспекты жизни программиста
- Что такое интервью? Когда и какие они бывают у программистов?
- Как правильно готовиться к и проходить интервью?
- В чём состоят особенности работы программиста в распределённых командах из многих участников?
- Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?
Плейлист с записями всех лекций курса осенью 2019 года
Оценка
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы. На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:
Балл | 0 | 1-19 | 20-29 | 30-39 | 40-49 | 50-59 | 60-69 | 70-79 | 80-89 | 90-99 | ≥100 |
О_накопленная | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Результирующая оценка вычисляется по формуле: О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)
Авторы курса
- В. К. Кошелев - лектор курса, ведущий разработчик компании JetBrains (вот тут Владимир рассказывает про баги)
- А. А. Мицюк - научный сотрудник ФКН (личная страница)
Благодарности
Факультатив проходит при поддержке компании JetBrains.