• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2022/2023

Инструменты промышленной разработки

Статус: Курс обязательный (Прикладная математика и информатика)
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 2-й курс, 1, 2 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для всех кампусов НИУ ВШЭ
Язык: русский
Кредиты: 3
Контактные часы: 26

Программа дисциплины

Аннотация

На занятиях студенты узнают все о продвинутых темах в рамках Компьютерных Наук, от операционных систем до машинного обучения, но есть один важный предмет, который редко освещается в стандартной программе, и вместо этого студенты сами его проходят: владение своими инструментами разработки. Курс предназначен для освоения работы с командной строкой, использования мощного текстового редактора, использования необычных функций систем контроля версий и многого другого. Мы рассмотрим дизайн и внутренности этих инструментов, чтобы студенты в будущем свободно владели и понимали остальных разработчиков, а также думали в рамках этих инструментов наиболее гибко. Закрепим хорошим количеством упражнений.
Цель освоения дисциплины

Цель освоения дисциплины

  • Понимать наиболее популярный скриптовый язык программирования и инфраструктуру вокруг него, в том числе и командные терминалы
  • Знать как работать с открытым исходным кодом и настраивать системы вокруг него
Планируемые результаты обучения

Планируемые результаты обучения

  • Освоение работы с командной строкой
  • Умелое использование текстового редактора
  • Умелое использование функций систем контроля версий
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Вводная лекция. Shell, env variables, различные виды, zsh, fish, tmux. Примеры типичных команд и ошибок
  • Shell scripting, grep, find, curl, sed (Часть 1)
  • Shell scripting, grep, find, curl, sed (Часть 2)
  • Git, mercurial и svn, основные идеи
  • Python скрипты
  • GDB
  • Markdown, LaTeX, LaTeX beamer, Overleaf
  • cmake, make, bazel, gopackage, requirements.txt, CI, тестирование
  • Знакомство с Cloud, bare metal, как устроена минимальная настройка ресурсов
  • apt, pacman, brew
  • Виртуализация и контейнеризация: VM, Docker, FUSE, SSHFS, SSH
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание 1
    Shell Scriping
  • неблокирующий Домашнее задание 2
    Git Practice
  • неблокирующий Домашнее задание 3
    Gdb Practice
  • неблокирующий Домашнее задание 4
Промежуточная аттестация

Промежуточная аттестация

  • 2022/2023 учебный год 2 модуль
    0.25 * Домашнее задание 2 + 0.25 * Домашнее задание 1 + 0.25 * Домашнее задание 4 + 0.25 * Домашнее задание 3
Список литературы

Список литературы

Рекомендуемая основная литература

  • Scott Chacon, & Ben Straub. (2014). Pro Git (Second Edition). Web server without geographic relation, Web server without geographic relation (org): Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.E86D0407

Рекомендуемая дополнительная литература

  • Titus Winters, Tom Manshreck, & Hyrum Wright. (2020). Software Engineering at Google : Lessons Learned From Programming Over Time. O’Reilly Media.