• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 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

Авторы

  • Ахмедова Гюнай Интигам кызы