150 lines
16 KiB
Markdown
150 lines
16 KiB
Markdown
# Проектная практика
|
||
|
||
## Задание на проектную практику
|
||
|
||
### Введение
|
||
|
||
Задание на проектную (учебную) практику разработано для студентов первого курса, обучающихся по направлениям подготовки, связанным с информационными технологиями и информационной безопасностью. Трудоёмкость практики составляет 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), помогут развить навыки анализа, программирования и документирования.
|