Магистратура
2025/2026





Инструменты промышленной разработки
Статус:
Курс обязательный (Аналитика больших данных)
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 1 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Паточенко Евгений Анатольевич
Язык:
русский
Контактные часы:
28
Программа дисциплины
Аннотация
Курс предназначен для ознакомления студентов с командной строкой и широко используемым инструментом контроля версий - Git. В рамках данного курса студенты изучат основные команды Git, научатся эффективно работать с репозиториями и освоят базовые команды: работа с файловой системой, с файлами, удаленной машиной на базе Linux, а также научатся организовывать работу с контейнерами в Docker.
Цель освоения дисциплины
- Применять Git для совместной работы и управления версиями.
- Разбираться в устройстве репозитория, его организации в GitLab и выполнять операции с файловой системой (поиск, вывод, перемещение и другие действия) через командную строку.
- Осуществлять обмен данными между локальным компьютером и удаленным репозиторием через терминал, редактировать файлы непосредственно из терминала и уметь генерировать и использовать SSH ключи для работы с удаленными репозиториями.
- Осваивать и применять Docker для создания, настройки и управления контейнерами, образами и средой их исполнения.
- Организовывать работу контейнеров с файлами, сетями, переменными окружения и внешними сервисами.
Планируемые результаты обучения
- Знает, какие существуют инструменты для анализа данных и для каких задач подходит каждый инструмент
- Знает как работать с данными с помощью BI-систем
- Знает, как устроен базовый интерфейс Excel и основные функции для работы с данными в Excel
- Понимает назначение сводных таблиц в Excel
- Потренировался анализировать датасет, делать выводы и формулировать гипотезы с помощью Excel
- Умеет применять основной функционал Python на практике
- Знает какое окружение для анализа данных в Python существуют
- Знает, какие библиотеки использует Python
- Понимает как работать с библиотекой Pandas в Python (показываем ноутбуке)
- Потренировался анализировать датасет, делать выводы и формулировать гипотезы с помощью Python
- Знает, как работать с командной строкой, а также с общеиспользуемым инструментом контроля версий — git'ом
- Понимает, как создавать пару публичный-приватный ключ и клонировать репозиторий.
- Знает, как запускать Python-скрипты.
- Получать изменения из удалённого репозитория с использованием Git.
- Создавать и использовать ветки для разработки новых функций.
- Интегрировать изменения в основную ветку и решать конфликты слияния.
- Управлять изменениями кода и сотрудничать в команде.
- Создавать и переключать ветки в Git с использованием различных команд.
- Работать с изменениями: добавлять файлы в индекс, коммитить, временно сохранять и восстанавливать изменения с помощью stash
- Использовать команды reset и restore для управления изменениями и возврата к предыдущим состояниям.
- Объединять коммиты с помощью rebase и управлять историей изменений.
- Анализировать историю проекта с использованием графического отображения веток.
- Применять различные стратегии ветвления в Git для организации работы над проектом.
- Выполнять слияние веток и понимать различия между fast-forward и merge-коммитом.
- Использовать команду rebase для линейной истории проекта и альтернативного объединения изменений.
- Определять причины возникновения merge-конфликтов и решать их с помощью инструментов Git.
- Выбирать подходящую стратегию слияния в зависимости от структуры проекта и команды.
- Понимает принципы работы командной строки в Linux.
- Умеет работать с файлами и папками, подключаться к удалённым серверам, использовать базовые утилиты и команды.
- Умеет просматривать содержимое файлов с использованием стандартных инструментов (cat, less, more).
- Умеет редактировать файлы в текстовом редакторе nano и применять основные режимы работы.
- Знает, как выполнять перенаправление потоков ввода/вывода и использовать конвейеры (>, >>, <, |).
- Умеет искать текст в файлах с помощью команды grep.
- Понимает принципы подключения к удалённым серверам по SSH.
- Умеет передавать файлы между машинами с помощью scp и rsync.
- Умеет управлять удалёнными сессиями с использованием screen и tmux.
- Знает, как создавать и использовать SSH-ключи для безопасной аутентификации.
- Применять команды Linux для поиска, обработки и управления файлами и данными.
- Использовать интерактивные платформы и игры для самостоятельного оттачивания навыков работы в терминале.
- Выполнять задания разного уровня сложности (Easy, Normal, Hard) для закрепления знаний и решения практических задач.
- Анализировать и оптимизировать выполнение команд и скриптов в Linux.
- Решать практические задачи с помощью shell-скриптов и встроенных функций командной оболочки
- Осваивать ключевые понятия Docker и назначение его основных компонентов (образ, контейнер, репозиторий, демон).
- Применять базовые команды Docker для создания, запуска, остановки и удаления контейнеров и образов.
- Использовать DockerHub для получения образов и управления ими.
- Оценивать целесообразность применения Docker в различных сценариях разработки и эксплуатации приложений.
- Настраивать базовое окружение для работы с контейнерами в аналитических и прикладных задачах
- Настраивать и использовать переменные окружения при работе с контейнерами.
- Организовывать подключение и работу с файлами в контейнерах (volume, bind mount).
- Настраивать работу контейнеров в сети, включая порты, IP-адреса и взаимодействие между контейнерами.
- Применять логи и стандартные потоки вывода/ошибок для отладки и мониторинга контейнеров.
- Объединять контейнеры и использовать базовые сервисы в составе многоконтейнерных приложений.
Содержание учебной дисциплины
- Инструменты для работы с данными. BI-системы и excel
- Python для анализа данных
- Что такое контроль версий и зачем он нужен
- Продвинутый функционал GIT
- Вебинар по Git: ветки и коммиты
- Вебинар "Стратегии ветвления и слияния веток, разрешение merge-конфликтов"
- Основы работы с командной строкой и файлами
- Работа с файлами и текстовыми редакторами
- Удаленная работа
- Вебинар "Стратегии дальнейшего развития в Linux"
- Вебинар "Введение в Docker: основы работы"
- Вебинар "Введение в Docker: тонкости работы на практике"
Элементы контроля
- Домашнее задание к разделам (урокам) 1-12. Квиз на закрепление основных понятий урока.77 тестовых заданий: 1 урок - 2 задания, 2 урок - 9 заданий, 3 урок - 4 задания, 4 урок - 8 заданий, 7 урок - 12 заданий, 8 урок - 12 заданий, 9 урок - 25 заданий, 11 урок - 2 задания, 12 урок - 3 задания.
- Домашнее задание к р. (урокам) 1-2. Практические задания по работе с Excel, Git, Linux и Docker.61 практических задач: 1 урок - 7 заданий, 2 урок - 11 заданий, 3 урок - 3 задания, 4 урок - 1 задание, 7 урок - 15 заданий, 8 урок - 7 заданий, 9 урок - 11 заданий, 11 урок - 5 заданий, 12 урок - 1 задание.
Промежуточная аттестация
- 2025/2026 1st moduleИтоговая оценка соответствует сумме баллов за выполненные задания на LMS karpov.courses, приведенные к 10-балльной шкале (см. таблицу). Для каждого задания на LMS-платформе karpov.courses определён дедлайн в 14 календарных дней, после наступления которого студенту начисляется 70% от итогового балла за задание.
Список литературы
Рекомендуемая основная литература
- Linux. Командная строка. Лучшие практики. - 978-5-4461-2300-1 - Барретт Дэниел Джей - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/390210 - 390210 - iBOOKS
- Использование Docker : разработка и внедрение программного обеспечения при помощи технологии контейнеров, Моуэт, Э., 2017
Рекомендуемая дополнительная литература
- Somasundaram, R., & Ebooks Corporation. (2013). Git : Version Control for Everyone: the Non-coder’s Guide for Everyday Version Control for Increased Efficiency and Productivity: Beginner’s Guide. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=533211