0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Хочу немного порассуждать на тему выпускной работы курса "<a>Разработчик C++</a>": что это такое, зачем это вообще нужно и как это делать? Обо всём по порядку.</p>
1
<p>Хочу немного порассуждать на тему выпускной работы курса "<a>Разработчик C++</a>": что это такое, зачем это вообще нужно и как это делать? Обо всём по порядку.</p>
2
<p><strong>Проектная работа</strong>- финальная часть обучения на курсе, на которую выделяется целый месяц (звучит страшно, но на практике это не так уж и много). Идея довольно простая - слушатель курса выбирает интересную для него тему, пишет реализацию, выкладывает на github и достигает сразу двух целей: 1.<strong>Учебная</strong>. Проектная работа позволяет не только раскрыть свой творческий потенциал, но и потренировать большую часть (а в идеале так вообще все) полученных в рамках курса навыков. 2.<strong>Портфолио</strong>. Хоть мне это слово и напоминает модельный бизнес, приходится следовать за модой. Иногда потенциальные работодатели просят кандидата прислать<strong>пример кода</strong>. Насколько это хорошая или плохая практика с точки зрения оценки кандидата - здесь обсуждать не будем (<strong>но можем обсудить в комментариях</strong>). Однако проект - как раз то, что можно будет в дальнейшем<strong>показать потенциальным работодателям</strong>.</p>
2
<p><strong>Проектная работа</strong>- финальная часть обучения на курсе, на которую выделяется целый месяц (звучит страшно, но на практике это не так уж и много). Идея довольно простая - слушатель курса выбирает интересную для него тему, пишет реализацию, выкладывает на github и достигает сразу двух целей: 1.<strong>Учебная</strong>. Проектная работа позволяет не только раскрыть свой творческий потенциал, но и потренировать большую часть (а в идеале так вообще все) полученных в рамках курса навыков. 2.<strong>Портфолио</strong>. Хоть мне это слово и напоминает модельный бизнес, приходится следовать за модой. Иногда потенциальные работодатели просят кандидата прислать<strong>пример кода</strong>. Насколько это хорошая или плохая практика с точки зрения оценки кандидата - здесь обсуждать не будем (<strong>но можем обсудить в комментариях</strong>). Однако проект - как раз то, что можно будет в дальнейшем<strong>показать потенциальным работодателям</strong>.</p>
3
<p>Звучит заманчиво, но в жизни обычно всё несколько иначе, чем в рекламе. Далее я постараюсь ответить на некоторые вопросы, возникающие у слушателей при обсуждении проектной работы.</p>
3
<p>Звучит заманчиво, но в жизни обычно всё несколько иначе, чем в рекламе. Далее я постараюсь ответить на некоторые вопросы, возникающие у слушателей при обсуждении проектной работы.</p>
4
<h3>1. А это вообще обязательно делать?</h3>
4
<h3>1. А это вообще обязательно делать?</h3>
5
<p>Проектная работа не является обязательной к выполнению в рамках курса. Формально обучение будет считаться успешно завершённым даже без проекта. Некоторые слушатели пользуются проектным месяцем для того, чтобы доделать самостоятельные работы (которых у нас довольно много, так что далеко не все успевают выполнить их в срок). Такой сценарий тоже возможен.</p>
5
<p>Проектная работа не является обязательной к выполнению в рамках курса. Формально обучение будет считаться успешно завершённым даже без проекта. Некоторые слушатели пользуются проектным месяцем для того, чтобы доделать самостоятельные работы (которых у нас довольно много, так что далеко не все успевают выполнить их в срок). Такой сценарий тоже возможен.</p>
6
<h3>2. Преподаватели будут помогать?</h3>
6
<h3>2. Преподаватели будут помогать?</h3>
7
<p>Конечно! Весь проектный месяц преподаватели курса будут на связи через стандартные каналы. Можно будет обратиться за помощью.</p>
7
<p>Конечно! Весь проектный месяц преподаватели курса будут на связи через стандартные каналы. Можно будет обратиться за помощью.</p>
8
<h3>3. Что делать, если не знаешь, какую тему выбрать?</h3>
8
<h3>3. Что делать, если не знаешь, какую тему выбрать?</h3>
9
<p>Это действительно непростой вопрос. С учётом довольно высоких целей проектная работа в идеале должна вдохновлять, быть интересной, нравиться. Так что очень рекомендую при подборе темы проекта всё-таки сразу не сдаваться. Можно посмотреть по сторонам - какие задачи решаете на работе вы или ваши коллеги.</p>
9
<p>Это действительно непростой вопрос. С учётом довольно высоких целей проектная работа в идеале должна вдохновлять, быть интересной, нравиться. Так что очень рекомендую при подборе темы проекта всё-таки сразу не сдаваться. Можно посмотреть по сторонам - какие задачи решаете на работе вы или ваши коллеги.</p>
10
<p>Может, какую-нибудь статью на хабре читали и появилось желание что-то эдакое реализовать. Или какая-нибудь конкретная тема из нашего курса понравилась особенно сильно.</p>
10
<p>Может, какую-нибудь статью на хабре читали и появилось желание что-то эдакое реализовать. Или какая-нибудь конкретная тема из нашего курса понравилась особенно сильно.</p>
11
<p>Если будет совсем невмоготу придумать тему самостоятельно, преподаватели курса всегда готовы помочь - у нас в запасе<strong>есть несколько "резервных" тем</strong>проектов.</p>
11
<p>Если будет совсем невмоготу придумать тему самостоятельно, преподаватели курса всегда готовы помочь - у нас в запасе<strong>есть несколько "резервных" тем</strong>проектов.</p>
12
<h3>4. Как организовать процесс? Откуда брать требования? Что должно быть в результате?</h3>
12
<h3>4. Как организовать процесс? Откуда брать требования? Что должно быть в результате?</h3>
13
<p>Я объединил эти три вопроса одним пунктом, потому что они про одно и то же, хоть это и не совсем очевидно на первый взгляд.</p>
13
<p>Я объединил эти три вопроса одним пунктом, потому что они про одно и то же, хоть это и не совсем очевидно на первый взгляд.</p>
14
<p>Рекомендую следующий подход к выполнению проектной работы: -<strong>проработка ТЗ</strong>. На этом этапе нужно понять - а что, собственно, вы собираетесь сделать. Подумайте над вариантами использования (пресловутые use-cases) вашего решения, над его особенностями, какую проблему оно решает (или вдруг создаёт :-). Ещё один источник требований - вопрос "чем моё решение отличается от аналогичных". Этот вопрос рекомендую задать самому себе;</p>
14
<p>Рекомендую следующий подход к выполнению проектной работы: -<strong>проработка ТЗ</strong>. На этом этапе нужно понять - а что, собственно, вы собираетесь сделать. Подумайте над вариантами использования (пресловутые use-cases) вашего решения, над его особенностями, какую проблему оно решает (или вдруг создаёт :-). Ещё один источник требований - вопрос "чем моё решение отличается от аналогичных". Этот вопрос рекомендую задать самому себе;</p>
15
<p>-<strong>согласование ТЗ</strong>. Здесь вы присылаете своё ТЗ преподавателю курса, которое в ходе возникшего (а оно наверняка возникнет) обсуждения может несколько измениться;</p>
15
<p>-<strong>согласование ТЗ</strong>. Здесь вы присылаете своё ТЗ преподавателю курса, которое в ходе возникшего (а оно наверняка возникнет) обсуждения может несколько измениться;</p>
16
<p>-<strong>проработка и согласование</strong>(опционально) архитектуры решения. В стиле - "мой проект будет состоять из трёх модулей, один из которых будет отвечать за …, другой содержать функционал…" и т. д. Так как вопросам архитектуры в нашем курсе посвящён целый модуль, вам будет, где потренировать полученные навыки. Часть с согласованием я пометил как опциональную, потому что в ходе реализации эта самая архитектура может сильно меняться. Особого смысла в согласовании нет - если только ради получения помощи со стороны преподавателей;</p>
16
<p>-<strong>проработка и согласование</strong>(опционально) архитектуры решения. В стиле - "мой проект будет состоять из трёх модулей, один из которых будет отвечать за …, другой содержать функционал…" и т. д. Так как вопросам архитектуры в нашем курсе посвящён целый модуль, вам будет, где потренировать полученные навыки. Часть с согласованием я пометил как опциональную, потому что в ходе реализации эта самая архитектура может сильно меняться. Особого смысла в согласовании нет - если только ради получения помощи со стороны преподавателей;</p>
17
<p>-<strong>реализация</strong>. Тут всё просто - выполняем взятые на себя обязательства. По результатам должна получиться качественная, протестированная, отлаженная и, главное,<strong>рабочая реализация</strong>. Единственное базовое требование на этом этапе - чтобы проект компилировался, запускался и выполнял то, что указано в ТЗ;</p>
17
<p>-<strong>реализация</strong>. Тут всё просто - выполняем взятые на себя обязательства. По результатам должна получиться качественная, протестированная, отлаженная и, главное,<strong>рабочая реализация</strong>. Единственное базовое требование на этом этапе - чтобы проект компилировался, запускался и выполнял то, что указано в ТЗ;</p>
18
<p>-<strong>тестирование и документация</strong>. Если вы дошли до этого пункта, и у вас ещё остались время и силы, можно из алмаза попробовать сделать бриллиант.<strong>Ведь что делает проект успешным?</strong>Конечно, вариантов ответа на этот вопрос можно найти много. Однако практически наверняка среди них вы встретите два пункта -<strong>удобство использования и документация</strong>. Поэтому на этом этапе рекомендую оформить тесты (unit-тесты) и документацию (doxygen, например). Тесты будут с одной стороны проверять, а с другой стороны объяснять читателям кода принципы работы вашего проекта. Документация поможет быстро разобраться в проекте.</p>
18
<p>-<strong>тестирование и документация</strong>. Если вы дошли до этого пункта, и у вас ещё остались время и силы, можно из алмаза попробовать сделать бриллиант.<strong>Ведь что делает проект успешным?</strong>Конечно, вариантов ответа на этот вопрос можно найти много. Однако практически наверняка среди них вы встретите два пункта -<strong>удобство использования и документация</strong>. Поэтому на этом этапе рекомендую оформить тесты (unit-тесты) и документацию (doxygen, например). Тесты будут с одной стороны проверять, а с другой стороны объяснять читателям кода принципы работы вашего проекта. Документация поможет быстро разобраться в проекте.</p>
19
<p>Затянулся ответ на вопрос, конечно. Но обычно как раз этот вопрос и возникает у большинства слушателей курса. Хочу подчеркнуть, что вышеописанный план работы является всего<strong>лишь приблизительной схемой</strong>. Если вдруг для вас удобен какой-то другой формат работы - со стороны преподавательского состава нет никаких проблем работать как-то иначе. Впрочем, один из пунктов - проработка ТЗ - очень рекомендую выполнить. Не разобравшись в самом начале, что же вы собираетесь делать, будет довольно трудно успеть в срок.</p>
19
<p>Затянулся ответ на вопрос, конечно. Но обычно как раз этот вопрос и возникает у большинства слушателей курса. Хочу подчеркнуть, что вышеописанный план работы является всего<strong>лишь приблизительной схемой</strong>. Если вдруг для вас удобен какой-то другой формат работы - со стороны преподавательского состава нет никаких проблем работать как-то иначе. Впрочем, один из пунктов - проработка ТЗ - очень рекомендую выполнить. Не разобравшись в самом начале, что же вы собираетесь делать, будет довольно трудно успеть в срок.</p>
20
<h3>5. Как оценивается проект?</h3>
20
<h3>5. Как оценивается проект?</h3>
21
<p>Очень высоко! Качественно сделанный проект - всё ещё довольно редкая птица на нашем курсе. Одно дело выполнять самостоятельные работы с чётко описанными условиями задания. Другое - придумать что-то самому, а потом ещё и воплотить задумку в жизнь. Так что<strong>все, кто сделал проекты - уже герои</strong>.</p>
21
<p>Очень высоко! Качественно сделанный проект - всё ещё довольно редкая птица на нашем курсе. Одно дело выполнять самостоятельные работы с чётко описанными условиями задания. Другое - придумать что-то самому, а потом ещё и воплотить задумку в жизнь. Так что<strong>все, кто сделал проекты - уже герои</strong>.</p>
22
<p>Что касается формальных аспектов - оценок за проект не ставится. Проверяется соответствие результата с поставленными целями - это и является критерием успеха.</p>
22
<p>Что касается формальных аспектов - оценок за проект не ставится. Проверяется соответствие результата с поставленными целями - это и является критерием успеха.</p>
23
<h3>6. Что делать, если куча домашек висит, а уже проектный месяц?</h3>
23
<h3>6. Что делать, если куча домашек висит, а уже проектный месяц?</h3>
24
<p>Обычно в таких случаях мы рекомендуем сфокусироваться всё-таки на самостоятельных работах. Впрочем, какого-то правила в стиле "не сдал самостоятельные работы - не допускаешься к проекту" у нас нет. Если вдруг вы потому и не сдали в срок домашние работы, что они вам не очень понравились, - можно попробовать сделать проект.</p>
24
<p>Обычно в таких случаях мы рекомендуем сфокусироваться всё-таки на самостоятельных работах. Впрочем, какого-то правила в стиле "не сдал самостоятельные работы - не допускаешься к проекту" у нас нет. Если вдруг вы потому и не сдали в срок домашние работы, что они вам не очень понравились, - можно попробовать сделать проект.</p>
25
<p><strong>Цель у самостоятельных работ</strong>в ходе курса - тренировка полученных на вебинарах навыков за счёт решения небольших, конкретных задач.</p>
25
<p><strong>Цель у самостоятельных работ</strong>в ходе курса - тренировка полученных на вебинарах навыков за счёт решения небольших, конкретных задач.</p>
26
<p><strong>Цель у проекта</strong>- воспользоваться всеми знаниями и навыками, полученными на курсе,<strong>одновременно</strong>, что необходимо для решения объёмной задачи.</p>
26
<p><strong>Цель у проекта</strong>- воспользоваться всеми знаниями и навыками, полученными на курсе,<strong>одновременно</strong>, что необходимо для решения объёмной задачи.</p>
27
<p>Получилось довольно много текста. Спасибо, что дочитали до конца! Надеюсь, статья позволит вам лучше разобраться в том, что же такое проект, зачем он нужен и как его делать. А если хотите что-либо спросить, пишите в комментариях!</p>
27
<p>Получилось довольно много текста. Спасибо, что дочитали до конца! Надеюсь, статья позволит вам лучше разобраться в том, что же такое проект, зачем он нужен и как его делать. А если хотите что-либо спросить, пишите в комментариях!</p>
28
28