[prac] Черновик письма студентам

Vladislav Ivanishin vlad at ispras.ru
Tue Mar 6 22:22:03 MSK 2018


Eugene Sharygin <eush at ispras.ru> writes:

> Vladislav Ivanishin <vlad at ispras.ru> writes:
>
>> # информация в этом письме не является побуждением к действию. См. финальную
>> # версию этого письма в архивах https://compilers.ispras.ru/pipermail/prac-sp-18/
>>
>> Добрый день, уважаемые студенты!
>>
>> В этом семестре в качестве практикума студентам групп 427 и 428 будет предложено
>> в составе команд выполнить проекты, связанные с курсом "Конструирование
>> компиляторов". При этом предполагается, что работа над проектами ведётся с
>> использованием списков рассылки. Данное требование способствует
>> - развитию навыков использования инструментов распределённой разработки
>> - упрощению оценки вклада участников (оценки за курс будут выставлены на основе
>>   осмысленной активности в списках рассылки)
>> - развитию диалога между участниками разных проектов и преподавателями
>
> Думаю, этот список следует заменить (или предварить) списком целей
> самого практикума, который как лучше сориентирует студентов, так и лучше
> обоснует выбор формата проведения.

Я за. Давай заменим.

> Одной из основных целей я вижу развитие навыков совместной работы над
> проектом.

Ага.

>> # Про git наверное стоит упомянуть. Думаю, заведём в облаке сервер, где все
>> # студенты будут пользователями, и репозиторий будет иметь права на запись
>> # соответствующими группами. Github использовать не хотелось бы, поскольку по
>> # задумке выполненные задания станут заданиями по компиляторам для
>> # последователей.
>
> Да, для организации совместной работы можно развернуть несколько
> непубличных Git-репозиториев. Репозитории будут служить точкой
> синхронизации усилий команды и позволят нам как отслеживать статус
> проектов во время выполнения, так и иметь единый снимок каждого проекта
> в конце курса.

Отлично. Соответственно, ровно это можно и сказать. На то, чтобы их
завести реально у нас ещё есть время в запасе.

>> Приватное общение без необходимости во время выполнения проектов не поощеряется.
>> # можно вставить https://producingoss.com/en/producingoss.html#avoid-private-discussions
>
> Думаю, ссылку можно вставить, хотя для команд, регулярно встречающихся
> IRL она может быть и не очень актуальна.

Это просто некая теория, поясняющая, почему мы в качестве практики даём
тренировку этого навыка, несмотря на то, что канал передачи сообщения
IRL гораздо шире и потому возникает соблазн им воспользоваться.

> Приватное общение точно не поощряется, потому что общение в списке
> рассылки является одним из элементов курса.

>> Общий план практикума:
>> 1. Студетны делятся на команды и выбирают тему проекта для команды. К концу
>>    недели (можно раньше) необходимо сообщить составы команд и
>>    темы.
>
> Надо поставить какой-то определённый дедлайн, чтобы команды понимали,
> сколько у них есть времени. Например, к концу воскресенья по MSK.

Хорошо. Конец это 23.59? Предлагаю либо вс, либо пн.

> Кроме того, нужно уточнить, какой способ коммуникации следует для этого
> использовать.

Поддерживаю.

> Я бы предпочёл сообщение в списке рассылке с каким-нибудь маркером в
> теме письма.

К примеру, "[newteam] <тема-проекта>". Думаю, за неделю не наберётся
большого количества сообщений, так что беды особой не будет, если тема
без маркера, но с ним наверное удобнее.

>>    Использование списка рассылки sp-prac-18 для координации поощеряется,
>>    но не является обязательным на данном этапе. Предполагаемое число участников
>>    команд -- от 3 до 5, в зависимости от сложности проекта.
>> # В случае коллизии тем -- кто успел, тот и съел?
>
> Если команды пишут сообщение в список рассылки, то да, по дате письма.
> Тем самым мы поощрим использование списка рассылки и для коммуникации на
> начальном этапе.

Гуд.

> Стоит ли предусмотреть возможность смены темы до конца отведённого
> срока?

Думаю, запрещать не нужно. Я не вижу здесь какой-то возможности для
злоупотребления. Нельзя ведь "застолбить" сразу все темы. А пока команда
занимает какую-либо тему, другие темы уже разберут.

> В любом случае стоит уточнить, какое письмо (первое или последнее)
> является определяющим, чтобы другие команды знали, какие темы свободны,
> а какие уже нет.

Как насчёт того, чтобы просто знать в каждый момент текущую тему и в
момент дедлайна её фиксировать?

>> 2. Преподаватели утверждают составы команд (вернее, их размеры)
>
> Можно оставить за преподавателями право утверждать и составы тоже.

Да, право лишним не будет. Я сейчас понял, что могут найтись студенты,
неохотно объединяющиеся в команды. Тогда их можно будет собрать вместе и
назначить командой.

>>    и заводят отдельный список рассылки для каждой команды.
>> 3. В течение следующей недели команды вырабатывают постановку задач (по
>>    имеющимся темам) и планы их решения, распределяют работу
>
> ... распределяют работу по времени и между участниками команды
>
>>    с учётом зависимости
>>    между подзадачами. На этом этапе необходимо общаться в рассылке, чтобы
>>    преподаватели могли контролировать сложность и выполнимость плана.

Ок.

> По результатам второй недели в рассылке команды должен появиться план
> проекта - письмо, содержащее список задач, выполнение которых
> запланировано в рамках проекта, и предварительное распределение задач по
> времени (с гранулярностью в одну неделю) и между участниками.
>
> Дальнейшие изменения плана должны также сопровождаться соответствующей
> коммуникацией в списке рассылки.
>
> Запланировать все задачи на последние две недели нельзя. Все участники
> должны быть вовлечены.

Ок.

>> # Ссылку даём https://en.wikipedia.org/wiki/Work_breakdown_structure ?
>
> Наверное, не стоит, по крайней мере пока мы не требует формализации
> этапа постановки задач.

Ок. Если кому-то будет интересно, почерпнёт эту информацию из данного треда.

>> 4. В течение следующих четырёх недель команды работают над проектом. Требуется
>>    по меньшей мере поддерживать следующий инвариант: "в основную ветку
>>    репозитория не попадают патчи, не прошедшие обсуждения в рассылке".
>
> И не force-пушить. Force-пуши нам, пожалуй, стоило бы даже отключить.

Да. Отключить-то мы их можем. Но тем же способом желающие их смогут
включить :) Сказать это одназначно нужно.

>> # Я не знаю, насколько достоверна информация о дате зачёта/"экзамена". Возможно,
>> # времени уже меньше.
>
> Это стоило бы уточнить.

Я думаю, это нужно уточнять либо в учебной части, либо у старост. Можно
написать какой-нибудь placeholder -- например, $(дата зачёта - 2 дня) --
и понядеяться, что значение выяснится в ближайшие пару дней.

>> 5. Команды составляют отчёты о выполненной работе.
>
> Думаю, в духе распределённой разработки принимать отчёты можно также
> через список рассылки.

Да. Список рассылки данной команды -- совершенно логичное место. Можно с
пометкой [отчёт].

> Кроме того, (по крайней мере) по завершении выполнения каждой из
> поставленных задач в рассылке следовало бы ожидать появления писем о
> статусе выполнения соответствующих задач.

Было бы не плохо. Стоит ли это требовать и заводить маркер. Без
предыдущего опыта сложно сказать, будет ли достаточно самих
сообщений.

Может, потребовать status-report один раз в некоторое время (вернее даже,
просто назначить 2-3 даты для этих чекпоинтов), где будут перечислены
все задачи и их статус.

>> 6. Встреча IRL с выставлением оценок в зачётки.
>>
>> Предполагается, что темы проектов таковы, что команды могут работать
>> изолированно. Однако обсуждение тем, которые могут быть интересны участникам
>> других команд (вопросы по QBE, UNIX, git, ssh, использованию и настройке email
>> клиентов и т.д.), имеет смысл проводить в рассылке prac-sp-18.
>>
>> Возможные темы проектов:
>> - подготовить задачу построения SSA-формы в духе задач из домашнего задания
>> - подготовить задачу выделения регионов в духе задач из домашнего задания
>> - исследовать быстрые алгоритмы поиска доминаторов и границы доминирования,
>>   подготовить задачу в духе задач из домашнего задания
>> - составить документацию на QBE для будущих поколений студентов и предложить
>>   генерацию web-based тэгов в духе mozilla dxr/doxygen/woboq для
>>   compilers.ispras.ru
>> - написать интерфейсы (bindings) к QBE для другого языка программирования
>> - визуализация алгоритмов из курса
>> - предлагайте свои идеи проектов (нужно успеть обсудить на первой неделе)
>> # Ничего не забыл?
>
> - разработать систему плагинов для QBE, позволяющую запускать проходы из
>   динамически подгружаемых библиотек

Точно.

>> Пожалуйста, подпишитесь на список рассылки prac-sp-18 [1] и передайте товарищам,
>> которые не были зарегистрированы в ejudge.

Ещё на сайте дадим ссылку на ML. Но это так, небольшой оффтоп.

>> [1]: https://compilers.ispras.ru/cgi-bin/mailman/listinfo/prac-sp-18

Нужно как-то теперь наши комментарии преобразовать в прозу и ещё раз
посмотреть, что получилось.  После того, как ты эту стену текста
просмотришь, мог бы ты внести замечания и сделать это, либо делегировать
мне половину? Либо сначала сейчас быстро всё склеим и напишем ещё раунд
комментариев.

> --
> Regards,
> Eugene Sharygin,
> ISP RAS.

-- 
Влад


More information about the prac-sp-18 mailing list