ISDElective — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Раздел 6. Особенности разработки и использования открытого программного обеспечения)
Строка 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)

О курсе

Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.

Регистрация

Для регистрации нужно заполнить эту анкету

Наша группа в телеграмме

Расписание

Осень 2019

Segeralah Mendaftar langsung di

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. Системы контроля версий (СКВ) и работа с ними

  • Какие бывают СКВ?
  • История средств и методов контроля версий ПО.
  • Какие бывают репозитории?
  • Что такое моно-репозитории и в чём их отличие от других? Почему компании переходят на моно-репозитории?

Слайды для лекции по VCS

Видео лекции по VCS

Раздел 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.