<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vkoshelev</id>
	<title>Wiki - Факультет компьютерных наук - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vkoshelev"/>
	<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Vkoshelev"/>
	<updated>2026-09-21T14:28:36Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=36448</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=36448"/>
		<updated>2019-11-05T19:03:25Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Раздел 4. Практики командной работы с программным кодом */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Внимание, 23 октября занятия не будет из-за сессии, следующее - 30 октября.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Внимание, 9 октября занятия не будет, следующее - 16 октября.&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других? Почему компании переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Верификация и Валидация ====&lt;br /&gt;
&lt;br /&gt;
* Статический Анализ: Теорема Райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, Неточный анализ. &lt;br /&gt;
* Тестирование программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.&lt;br /&gt;
* Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование.&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1IvD3z-TME1SBFMMl7CnVmZerj6ZcDuXraj71iQDYWO0/edit?usp=sharing Слайды для лекции Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=758p3aOC_QE Видео лекции Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Системы сборки, пакетные менеджеры и непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1SQYu_bvZhZth4vnvMMbSh_Jkme7XaQy2Swbws2Swh50/edit?usp=sharing Слайды для лекции Building and Distribution]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=KZWmmWVENFg Видео лекции Building and Distribution]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода?&lt;br /&gt;
* Что такое принципы проектирования?&lt;br /&gt;
* Какие есть принципы в ООП?&lt;br /&gt;
* Что такое шаблоны проектирования, чем они отличаются от принципов?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/13Dlhm0A4tiTahzbIPBLLUAr-PMP4nUooNfYGeq4O9pA Слайды]&lt;br /&gt;
&lt;br /&gt;
[http://google.github.io/styleguide/ Google Style Guides]&lt;br /&gt;
[https://google.github.io/eng-practices/review/ Google&#039;s Engineering Practices - Code Review Developer Guide]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=KOJgKdwjg88 Видео лекции How to write code]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLEqoHzpnmTfBKKNYsPjCF34vOWOco292i Плейлист с записями всех лекций курса осенью 2019 года]&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=36447</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=36447"/>
		<updated>2019-11-05T19:02:43Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Внимание, 23 октября занятия не будет из-за сессии, следующее - 30 октября.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Внимание, 9 октября занятия не будет, следующее - 16 октября.&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других? Почему компании переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Верификация и Валидация ====&lt;br /&gt;
&lt;br /&gt;
* Статический Анализ: Теорема Райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, Неточный анализ. &lt;br /&gt;
* Тестирование программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.&lt;br /&gt;
* Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование.&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1IvD3z-TME1SBFMMl7CnVmZerj6ZcDuXraj71iQDYWO0/edit?usp=sharing Слайды для лекции Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=758p3aOC_QE Видео лекции Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Системы сборки, пакетные менеджеры и непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1SQYu_bvZhZth4vnvMMbSh_Jkme7XaQy2Swbws2Swh50/edit?usp=sharing Слайды для лекции Building and Distribution]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=KZWmmWVENFg Видео лекции Building and Distribution]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода?&lt;br /&gt;
* Что такое принципы проектирования?&lt;br /&gt;
* Какие есть принципы в ООП?&lt;br /&gt;
* Что такое шаблоны проектирования, чем они отличаются от принципов?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/13Dlhm0A4tiTahzbIPBLLUAr-PMP4nUooNfYGeq4O9pA Слайды]&lt;br /&gt;
[Видео https://www.youtube.com/watch?v=KOJgKdwjg88&amp;amp;list=PLEqoHzpnmTfBKKNYsPjCF34vOWOco292i&amp;amp;index=4]&lt;br /&gt;
&lt;br /&gt;
[http://google.github.io/styleguide/ Google Style Guides]&lt;br /&gt;
[https://google.github.io/eng-practices/review/ Google&#039;s Engineering Practices - Code Review Developer Guide]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=KOJgKdwjg88 Видео лекции How to write code]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLEqoHzpnmTfBKKNYsPjCF34vOWOco292i Плейлист с записями всех лекций курса осенью 2019 года]&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35914</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35914"/>
		<updated>2019-10-16T19:38:07Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Внимание, 9 октября занятия не будет, следующее - 16 октября.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других? Почему компании переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Верификация и Валидация ====&lt;br /&gt;
&lt;br /&gt;
* Статический Анализ: Теорема Райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, Неточный анализ. &lt;br /&gt;
* Тестирование программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.&lt;br /&gt;
* Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование.&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1IvD3z-TME1SBFMMl7CnVmZerj6ZcDuXraj71iQDYWO0/edit?usp=sharing Слайды для лекции Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=758p3aOC_QE Видео лекции Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Системы сборки, пакетные менеджеры и непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1SQYu_bvZhZth4vnvMMbSh_Jkme7XaQy2Swbws2Swh50/edit?usp=sharing Слайды для лекции Building and Distribution]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLEqoHzpnmTfBKKNYsPjCF34vOWOco292i Плейлист с записями всех лекций курса осенью 2019 года]&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35609</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35609"/>
		<updated>2019-10-05T09:39:18Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Внимание, 9 октября занятия не будет, следующее - 16 октября.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других? Почему компании переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Верификация и Валидация ====&lt;br /&gt;
&lt;br /&gt;
* Статический Анализ: Теорема Райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, Неточный анализ. &lt;br /&gt;
* Тестирования программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.&lt;br /&gt;
* Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование.&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1IvD3z-TME1SBFMMl7CnVmZerj6ZcDuXraj71iQDYWO0/edit?usp=sharing Слайды для лекции Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Системы сборки, пакетные менеджеры и непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35608</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35608"/>
		<updated>2019-10-05T08:31:31Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Внимание, 9 октября занятия не будет, следующее - 16 октября.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других? Почему компании переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Верификация и Валидация ====&lt;br /&gt;
&lt;br /&gt;
* Статический Анализ: Теорема Райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, Неточный анализ. &lt;br /&gt;
* Тестирования программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.&lt;br /&gt;
* Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование.&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1IvD3z-TME1SBFMMl7CnVmZerj6ZcDuXraj71iQDYWO0/edit?usp=sharing Слайды для лекции Verification and Validation]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35558</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35558"/>
		<updated>2019-10-02T17:53:42Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Раздел 1. Системы контроля версий (СКВ) и работа с ними */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103 (внимание, аудитория изменилась!)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других? Почему компании переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Верификация и Валидация ====&lt;br /&gt;
&lt;br /&gt;
* Статический Анализ: Теорема Райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, Неточный анализ. &lt;br /&gt;
* Тестирования программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.&lt;br /&gt;
* Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование.&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35557</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35557"/>
		<updated>2019-10-02T17:53:12Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Раздел 2. Верификация и Валидация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103 (внимание, аудитория изменилась!)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Верификация и Валидация ====&lt;br /&gt;
&lt;br /&gt;
* Статический Анализ: Теорема Райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, Неточный анализ. &lt;br /&gt;
* Тестирования программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.&lt;br /&gt;
* Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование.&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35556</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35556"/>
		<updated>2019-10-02T17:53:00Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Раздел 2. Верификация и Валидация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103 (внимание, аудитория изменилась!)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Верификация и Валидация ====&lt;br /&gt;
&lt;br /&gt;
* Статический Анализ, Теорема Райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, Неточный анализ. &lt;br /&gt;
* Тестирования программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.&lt;br /&gt;
* Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование.&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35555</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35555"/>
		<updated>2019-10-02T17:52:26Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103 (внимание, аудитория изменилась!)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Верификация и Валидация ====&lt;br /&gt;
&lt;br /&gt;
* Статический Анализ, Теорема райса, Алгоритмическая неразрешимость, Аппроксимация сверху и снизу, неточный анализ. &lt;br /&gt;
* Тестирования программ: уровни, методы, цели. Тестовые фреймворки и мокинг. Покрытие, Профилирования, Бернчакринг.&lt;br /&gt;
* Валидация: догфудинг, UI сессии, метрики и аналитика, АБ-тестирование&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35439</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35439"/>
		<updated>2019-09-28T08:16:56Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Предварительный список тем курса */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103 (внимание, аудитория изменилась!)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35438</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35438"/>
		<updated>2019-09-28T08:16:41Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G103 (внимание, аудитория изменилась!)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G103&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на занятии.&lt;br /&gt;
В аудитории на лекции смогут быть до 40 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
[https://www.youtube.com/watch?v=8Ph81IYXVxE&amp;amp;feature=youtu.be Видео лекции по VCS]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35341</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35341"/>
		<updated>2019-09-25T18:24:16Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Регистрация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35340</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35340"/>
		<updated>2019-09-25T18:23:57Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Регистрация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [http://https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35339</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35339"/>
		<updated>2019-09-25T18:02:44Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [http://%20https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35338</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35338"/>
		<updated>2019-09-25T18:01:52Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Раздел 1. Системы контроля версий (СКВ) и работа с ними */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [http://%20https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35337</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35337"/>
		<updated>2019-09-25T18:01:44Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Регистрация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [http://%20https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35336</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35336"/>
		<updated>2019-09-25T18:01:34Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Раздел 1. Системы контроля версий (СКВ) и работа с ними */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [http://%20https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35335</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35335"/>
		<updated>2019-09-25T18:01:25Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Расписание */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [http://%20https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35334</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35334"/>
		<updated>2019-09-25T18:00:55Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: /* Расписание */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [http://%20https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1ZG8zGEYdriQyFkCbh6yUV9O3opGxihRmsIore045dzQ/edit?usp=sharing Слайды для лекции по VCS ]&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35333</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35333"/>
		<updated>2019-09-25T17:58:14Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [http://%20https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ссылка на сегодняшние слайды: []&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35332</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35332"/>
		<updated>2019-09-25T17:57:51Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Регистрация ==&lt;br /&gt;
&lt;br /&gt;
Для регистрации нужно заполнить [http://%20https://docs.google.com/forms/d/e/1FAIpQLScr0mWcfm_ULCve_sGZWb45G46ZEjaDGLDwO8EsqwAU6Qes2w/viewform эту анкету]&lt;br /&gt;
&lt;br /&gt;
Наша группа в [https://t.me/software_development_hse телеграмме]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ссылка на сегодняшние слайды: []&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35331</id>
		<title>ISDElective</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=ISDElective&amp;diff=35331"/>
		<updated>2019-09-25T17:51:19Z</updated>

		<summary type="html">&lt;p&gt;Vkoshelev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Страница факультативного курса &amp;quot;&#039;&#039;&#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&#039;&#039;&#039;&amp;quot; (&#039;&#039;&#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс для тех, кто хотел бы овладеть методами, применяемыми при разработке крупномасштабного корпоративного программного обеспечения. Будет рассказано о том, каким образом устроена работа с репозиториями исходных кодов, каким образом организуется совместная работа большого количества программистов над одним проектом, как использовать код с открытой лицензией, каким образом проводить рефакторинг и т.д. Подробный список тем приводится далее.&lt;br /&gt;
&lt;br /&gt;
== Расписание ==&lt;br /&gt;
&lt;br /&gt;
=== Осень 2019 ===&lt;br /&gt;
&lt;br /&gt;
Курс будет проходить по средам с 16:40 до 19:30.&amp;lt;br /&amp;gt;&lt;br /&gt;
Каждую неделю запланированы одна лекция и одно практическое занятие.&amp;lt;br /&amp;gt;&lt;br /&gt;
Первое занятие запланировано на 25 сентября.&lt;br /&gt;
&lt;br /&gt;
1 модуль: c 25 сентября по 16 октября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &#039;&#039;&#039;G118&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не переживайте, если мест для официальной записи на факультатив нет. &lt;br /&gt;
Если вам интересен курс, имеет смысл всё равно появиться на первом занятии.&lt;br /&gt;
Мы что-нибудь придумаем.&lt;br /&gt;
Курс смогут проходить более 20 человек.&lt;br /&gt;
&lt;br /&gt;
== Предварительный список тем курса ==&lt;br /&gt;
==== Раздел 1. Системы контроля версий (СКВ) и работа с ними ====&lt;br /&gt;
* Какие бывают СКВ?  &lt;br /&gt;
* История средств и методов контроля версий ПО. &lt;br /&gt;
* Какие бывают репозитории?  &lt;br /&gt;
* Что такое моно-репозитории и в чём их отличие от других?  &lt;br /&gt;
* Почему современные компании массово переходят на моно-репозитории? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Раздел 2. Непрерывная интеграция ====&lt;br /&gt;
&lt;br /&gt;
* Что такое непрерывная интеграция (CI)?&lt;br /&gt;
* Зачем применяется CI и в чём существо используемых методов?&lt;br /&gt;
* Какие современные методы развёртывания ПО применяются в промышленном программировании?&lt;br /&gt;
* В чём отличие библиотеки и приложения, когда речь идёт о развертывании?&lt;br /&gt;
* Что такое контейнеры и как они применяются?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 3. Тестирование в масштабных программных проектах ====&lt;br /&gt;
&lt;br /&gt;
* Зачем нужны модульные тесты?&lt;br /&gt;
* В чём состоят особенности больших проектов, когда речь идёт о тестировании?&lt;br /&gt;
* Что такое интеграционное и регрессионное тестирование, в чём отличия?&lt;br /&gt;
* Какие практики тестирования применяются?&lt;br /&gt;
* Что такое разработка через тестирование (TDD)?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 4. Практики командной работы с программным кодом ====&lt;br /&gt;
&lt;br /&gt;
* Что такое стиль кода?&lt;br /&gt;
* Зачем нужны соглашения о стиле кода? Нужны ли они в действительности?&lt;br /&gt;
* Что такое linter и как с ним работать?&lt;br /&gt;
* Что такое рефакторинг? Как проводить рефакторинг? Когда вам нужен рефакторинг, а когда не нужен?&lt;br /&gt;
* Как правильно распределить изменения по коммитам?&lt;br /&gt;
* Что такое рецензирование кода (code review)?&lt;br /&gt;
* Как готовить код к рецензированию?&lt;br /&gt;
* Как проводить рецензирование чужого кода?&lt;br /&gt;
* Как организовать рецензирование кода в команде?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 5. Планирование и работа с системами трекинга ====&lt;br /&gt;
&lt;br /&gt;
* Что такое баг-трекер (bug/issue tracker)?&lt;br /&gt;
* Какие используются эффективные практики документирования ошибок и требований?&lt;br /&gt;
* Что такое релизные циклы? Как их планировать?&lt;br /&gt;
* Как должна выглядеть хорошая запись об ошибке для себя/другого программиста?&lt;br /&gt;
* Что особенно важно не забыть при документировании проблем и ошибок в ПО?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 6. Особенности разработки и использования открытого программного обеспечения ====&lt;br /&gt;
&lt;br /&gt;
* Что такое открытое программное обеспечение?&lt;br /&gt;
* В чём особенности проектов с открытым исходным кодом?&lt;br /&gt;
* Всегда ли ПО с открытым кодом разрабатывается сообществом?&lt;br /&gt;
* Как эффективно использовать ПО с открытым исходным кодом и не наступать на сопутствующие грабли?&lt;br /&gt;
* Какие существуют практики участия в коллективно разрабатываемых проектах?&lt;br /&gt;
* Каковы особенности использования ПО с открытым исходным кодом в коммерческих разработках?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 7. Исследования и разработка ====&lt;br /&gt;
&lt;br /&gt;
* Чем исследовательские статьи могут быть полезны прикладному программисту?&lt;br /&gt;
* Как правильно инженеру читать статьи? И надо ли вообще их читать?&lt;br /&gt;
* Как и где искать новые способы решения задач, которые надо решать?&lt;br /&gt;
* Чем отличается характер работы в исследовательских (R&amp;amp;D) компаниях или отделах компаний от работы обычного прикладного/системного программиста?&lt;br /&gt;
* Стоит ли описывать в исследовательских статьях свои собственные результаты? Что это даёт инженеру, который не занимается научной работой?&lt;br /&gt;
&lt;br /&gt;
==== Раздел 8. Социальные аспекты жизни программиста ====&lt;br /&gt;
&lt;br /&gt;
* Что такое интервью? Когда и какие они бывают у программистов?&lt;br /&gt;
* Как правильно готовиться к и проходить интервью?&lt;br /&gt;
* В чём состоят особенности работы программиста в распределённых командах из многих участников?&lt;br /&gt;
* Почему работа современного программиста не может рассматриваться в отрыве от социальных аспектов?&lt;br /&gt;
&lt;br /&gt;
== Оценка ==&lt;br /&gt;
&lt;br /&gt;
Текущий контроль предусматривает выполнение студентам набора домашних заданий. Накопленная оценка (О_накопленная) за курс выставляется по сумме баллов, полученных за выполнение этих домашних заданий. Оценка за домашнее задание выставляется с учетом полноты выполнения задания, а также способности студента объяснить примененные при решении приемы.&lt;br /&gt;
На последнем занятии студенты сдают устный экзамен (О_экзамен) по всему материалу курса. Студент получает не менее 80 минут на подготовку к ответу.&lt;br /&gt;
&lt;br /&gt;
О_накопленная формируется на основании суммы баллов, полученных в ходе курса, по следующей схеме:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Балл || 0 || 1-19 || 20-29 || 30-39 || 40-49 || 50-59 || 60-69 || 70-79 || 80-89 || 90-99 || ≥100&lt;br /&gt;
|-&lt;br /&gt;
| О_накопленная || 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Результирующая оценка вычисляется по формуле:&lt;br /&gt;
О_результирующая = min(0,8*О_экзамен + 0,4*О_накопленная; 10)&lt;br /&gt;
&lt;br /&gt;
== Авторы курса ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В. К. Кошелев&#039;&#039;&#039; - лектор курса, ведущий разработчик компании JetBrains ([https://www.youtube.com/watch?v=zI1QmnRRBMA вот тут] Владимир рассказывает про баги)&lt;br /&gt;
* А. А. Мицюк - научный сотрудник ФКН ([https://www.hse.ru/staff/amitsyuk личная страница])&lt;br /&gt;
&lt;br /&gt;
== Благодарности ==&lt;br /&gt;
&lt;br /&gt;
Факультатив проходит при поддержке компании [https://jetbrains.ru/ JetBrains].&lt;/div&gt;</summary>
		<author><name>Vkoshelev</name></author>
	</entry>
</feed>