Бакалавриат
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
Элементы контроля
- Домашнее задание 1Shell Scriping
- Домашнее задание 2Git Practice
- Домашнее задание 3Gdb 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.