<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=ISDElective</id>
	<title>ISDElective - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=ISDElective"/>
	<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=ISDElective&amp;action=history"/>
	<updated>2026-06-06T15:44:28Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.wikicshse.ru/index.php?title=ISDElective&amp;diff=389&amp;oldid=prev</id>
		<title>imported&gt;Mednik: Откат правок Seosky (обсуждение) к версии Alexmitsyuk</title>
		<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=ISDElective&amp;diff=389&amp;oldid=prev"/>
		<updated>2022-08-26T10:36:38Z</updated>

		<summary type="html">&lt;p&gt;Откат правок &lt;a href=&quot;/%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/Seosky&quot; title=&quot;Служебная:Вклад/Seosky&quot;&gt;Seosky&lt;/a&gt; (&lt;a href=&quot;/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:Seosky&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Обсуждение участника:Seosky (страница не существует)&quot;&gt;обсуждение&lt;/a&gt;) к версии &lt;a href=&quot;/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Alexmitsyuk&quot; title=&quot;Участник:Alexmitsyuk&quot;&gt;Alexmitsyuk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Страница факультативного курса &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;lt;big&amp;gt;Методы разработки программного обеспечения&amp;lt;/big&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;quot; (&amp;#039;&amp;#039;&amp;#039;&amp;lt;big&amp;gt;Industrial Software Development&amp;lt;/big&amp;gt;&amp;#039;&amp;#039;&amp;#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 октября – ауд. &amp;#039;&amp;#039;&amp;#039;G103&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
2 модуль: c 23 октября по 20 ноября – ауд. &amp;#039;&amp;#039;&amp;#039;G103&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Внимание, 23 октября занятия не будет из-за сессии, следующее - 30 октября.&amp;#039;&amp;#039;&amp;#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&amp;#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;
[https://www.youtube.com/watch?v=TbEXkm2LsgY Видео лекции Product management]&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;
[https://www.youtube.com/watch?v=_OKG8VKMFE8 Видео лекции про свободное ПО]&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;
[https://www.youtube.com/watch?v=V_Y-slDJBM0 Видео лекции]&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/watch?v=g-ouezO7-ME Видео восьмой лекции]&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;
* &amp;#039;&amp;#039;&amp;#039;В. К. Кошелев&amp;#039;&amp;#039;&amp;#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>imported&gt;Mednik</name></author>
	</entry>
</feed>