# Проектная практика ## Задание на проектную практику ### Введение Задание на проектную (учебную) практику разработано для студентов первого курса, обучающихся по направлениям подготовки, связанным с информационными технологиями и информационной безопасностью. Трудоёмкость практики составляет 72 академических часа. Задание может выполняться **индивидуально** или **в составе группы до 3 человек**. Для управления версиями будет использоваться Git, для написания документации — Markdown, а для создания статического веб-сайта — языки разметки HTML и CSS, но опционально допускается использовать генераторы статических сайтов, такие, как Hugo. В качестве платформы для размещения репозиториев допустимо использовать как [GitHub](https://github.com/), так и [GitVerse](https://gitverse.ru/), что обеспечивает гибкость в выборе инструментов. Также предусмотрено взаимодействие с организациями-партнёрами, включая стажировки, которые будут приниматься к зачёту при оценке. Задание состоит из двух частей. Первая часть является общей и обязательной для всех студентов. Вторая часть вариативная. Задание на вторую часть может быть получено от: - ответственного за проектную (учебную) практику на выпускающей кафедре; - куратора проекта по «Проектной деятельности», но должно быть согласовано с ответственным за проектную (учебную) практику на выпускающей кафедре. --- ### 1. Базовая часть задания 1. **Настройка Git и репозитория:** - Создайте личный или групповой репозиторий на [GitHub](https://github.com/) или [GitVerse](https://gitverse.ru/) на основе предоставленного [шаблона](https://github.com/mospol/practice-2025-1). - Освойте базовые команды Git: клонирование, коммит, пуш и создание веток. - Регулярно фиксируйте изменения с осмысленными сообщениями к коммитам. - **Ожидаемое время:** 5 часов. 2. **Написание документов в Markdown:** - Все материалы проекта (описание, журнал прогресса и др.) должны быть оформлены в формате Markdown. - Изучите синтаксис Markdown и подготовьте необходимые документы. - **Ожидаемое время:** 5 часов. 3. **Создание статического веб-сайта:** - Вы можете использовать **только HTML и CSS** для создания сайта, если освоение более сложных инструментов представляется трудным. Это делает задание доступным для студентов с базовым уровнем подготовки. - **Желательно** применять генераторы статических сайтов, такие как Hugo (рекомендуется), для упрощения процесса и получения дополнительных навыков. В случае выбора Hugo можно воспользоваться инструкциями из [Hugo Quick Start Guide](https://gohugo.io/getting-started/quick-start/). - Создайте новый сайт об основном проекте по дисциплине «Проектная деятельность», выберите тему и добавьте контент. Оформление и наполнение сайта должны быть уникальными (не совпадать с работами других студентов) более, чем на 50%. - Сайт должен включать: - **Домашнюю страницу** с аннотацией проекта. - **Страницу «О проекте»** с описанием проекта. - **Страницу или раздел «Участники»** с описанием личного вклада каждого участника группы в проект по «Проектной деятельности». - **Страницу или раздел «Журнал»** с минимум тремя постами (новостями, блоками) о прогрессе работы. - **Страницу «Ресурсы»** со ссылками на полезные материалы (ссылки на организацию-партнёра, сайты и статьи, позволяющие лучше понять суть проекта). - Оформите страницы сайта графическими материалами (фотографиями, схемами, диаграммами, иллюстрациями) и другой медиа информацией (видео). - **Ожидаемое время:** изучение и настройка — 10–14 часов, дизайн и наполнение — 4–8 часов. 4. **Взаимодействие с организацией-партнёром:** - Организуйте взаимодействие с партнёрской организацией (визит, онлайн-встреча или стажировка). - Участвуйте в профильных мероприятиях по тематике проекта и профилю организации-партнёра (конференции, выставки, митапы, семинары, хакатоны и др.). - **Уточнение:** Взаимодействие осуществляется через куратора проекта по проектной деятельности, закреплённого за вашим проектом, и ответственного по проектной практике, закреплённого за учебной группой. - Напишите отчёт в формате Markdown с описанием опыта, полученных знаний и связи с проектом. Отчёт добавьте в репозиторий и на сайт. - **Важно:** Стажировки и экскурсии в организации-партнёры будут приниматься к зачёту и учитываться при оценке, что мотивирует к активному участию. - **Ожидаемое время:** взаимодействие — 4 часа, написание отчёта — 4 часа. 5. **Отчёт по практике** - Составьте отчёт по проектной (учебной) практике на основании шаблона (структуры), размещённого в папке reports. Шаблон (структура) приведён в файле [practice_report_template.docx](reports/practice_report_template.docx). - Разместите отчёт в репозитории в папке reports с именем «Отчёт.docx» или «report.docx». - Сформируйте PDF-версию отчёта и также разместите её в папке reports в репозитории. - Загрузите оба файла отчёта (DOCX и PDF) в СДО (LMS) в курсе, который будет указан ответственным за проектную (учебную) практику. --- ### 2. Вариативная часть задания По решению ответственного за проектную (учебную) практику студентам назначается одно из следующих вариативных заданий. Студенты могут направить ответственному свои пожелания по распределению. #### 1. Кафедральное индивидуальное отдельное задание - Выполните все задачи базовой части. - Выполните кафедральное индивидуальное отдельное задание. - Интегрируйте результаты индивидуального задания и отчёт по нему в репозиторий и сайт, созданные в базовой части. - **Ожидаемое время:** 32–40 часов. --- #### 2. Практическая реализация технологии - Выполните все задачи базовой части. - Для достижения объёма в 72 часа выберите один из следующих проектов: 1. Выберите любую технологию (тематику) из списка, представленного в репозитории [codecrafters-io/build-your-own-x](https://github.com/codecrafters-io/build-your-own-x). По согласованию с ответственными за практику можно использовать другой источник проектов. 2. Согласуйте внутри команды выбранную тему. Выберите стек технологий (подсказки также есть в репозитории). 3. Проведите исследование: изучите, как создать выбранную технологию с нуля, воспроизведите практическую часть. 4. Создайте подробное описание в формате Markdown, включающее: - Последовательность действий по исследованию предметной области и созданию технологии. - Напишите техническое руководство по созданию этой технологии, ориентированное на начинающих. - Включите в руководство: - Пошаговые инструкции. - Примеры кода. - Иллюстрации (картинки, диаграммы, схемы) в количестве от 3 до 10 штук, вставленные в текст для наглядности. - Поместите результаты исследования и руководства в общий Git-репозиторий. 5. Создайте техническое руководство или туториал по созданию проекта на выбранную тему. Для визуализации архитектуры, процессов и прочего используйте разные типы диаграмм UML, схемы, графики, таблицы. 6. Сделайте модификацию проекта согласно полученным знаниям и навыкам в течение года (творческий пункт, самостоятельно выбираете в какой части модифицировать). Описать в технической документации модификации. 7. Сделайте видео презентацию выполненной работы (цель, задачи, как решали, демонстрация работоспособного результата). 8. Задокументируйте проект в репозитории в формате Markdown и представьте его на сайте в формате HTML. 9. Подготовить финальный отчет (в хронологической последовательности опишите этапы работы, отдельно должны быть представлены индивидуальные планы каждого участника). - **Пример 1:** - Для технологии «собственный интерпретатор» опишите этапы изучения синтаксиса, парсинга и выполнения кода, добавив схему работы интерпретатора и примеры кода. - **Пример 2:** - Для технологии «собственный HTTP-сервер» создайте руководство с шагами по настройке сокетов, обработке запросов и отправке ответов, дополнив текст схемой взаимодействия клиент-сервер. - **Ожидаемое время:** 32–40 часов. #### 3. Вклад в открытый проект на GitHub или GitVerse - Выполните все задачи базовой части. - Найдите открытый проект на GitHub или GitVerse, имеющий не менее 50 звёзд (Stars), изучите его код и внесите вклад (например, исправьте баг или добавьте новую функцию). - Документируйте свой вклад в Markdown и добавьте описание в репозиторий. - **Ожидаемое время:** 32–40 часов. --- ### Структура git-репозитория В рамках практики следует придерживаться заданной структуры git-репозитория, приведённой в файле [git_structure.md](git_structure.md). --- ### Контрольные сроки Сроки контрольных мероприятий приведены в файле [terms.md](terms.md). --- ### Литература и интернет-ресурсы 1. Введение в CSS верстку: https://developer.mozilla.org/ru/docs/Learn_web_development/Core/CSS_layout/Introduction 2. DevTools для «чайников»: https://habr.com/ru/articles/548898/ 3. Элементы HTML: https://developer.mozilla.org/ru/docs/Web/HTML/Element 4. Основы HTML: https://developer.mozilla.org/ru/docs/Learn_web_development/Getting_started/Your_first_website/Creating_the_content 5. Основы CSS: https://developer.mozilla.org/ru/docs/Web/CSS 6. https://doka.guide/ 7. Официальная документация Git: https://git-scm.com/book/ru/v2 8. https://skillbox.ru/media/code/chto_takoe_git_obyasnyaem_na_skhemakh/ 9. Бесплатный курс на Hexlet по Git: https://ru.hexlet.io/courses/intro_to_git 10. Уроки по Markdown: https://ru.hexlet.io/lesson_filters/markdown --- ### Информация для сведения - Общие задачи занимают 32–40 часов, дополнительные проекты добавляют 32–40 часов, что в сумме соответствует 72 часам. - Выбор между индивидуальной и групповой работой (до 3 человек) позволяет адаптировать задание под ваши предпочтения. - Возможность использовать как GitHub, так и GitVerse обеспечивает гибкость и доступ к современным инструментам. - Исследовательские проекты и технические руководства, основанные на технологиях из [codecrafters-io/build-your-own-x](https://github.com/codecrafters-io/build-your-own-x), помогут развить навыки анализа, программирования и документирования.