MissingSemester2020/2021
Содержание
О курсе
На занятиях студенты узнают все о продвинутых темах в рамках Компьютерных Наук, от операционных систем до машинного обучения, но есть один важный предмет, который редко освещается в стандартной программе, и вместо этого студенты сами его проходят: владение своими инструментами разработки. Курс предназначен для освоения работы с командной строкой, использования мощного текстового редактора, использования необычных функций систем контроля версий и многого другого. Мы рассмотрим дизайн и внутренности этих инструментов, чтобы студенты в будущем свободно владели и понимали остальных разработчиков, а также думали в рамках этих инструментов наиболее гибко.
Курс предназначен для студентов всего второго курса и будет проходить во втором и третьих модулях.
Лектор: Кутенин Данила
Лекции проходят онлайн по субботам в 11:10-12:30 (2 пара). Ссылка для подключения https://zoom.us/j/91724468296?pwd=a2N2aVNKZHhqRHlHOENmbjdhSXNwQT09. Лекции будут записываться и выкладываться на youtube или в drive.
Семинаров не предусмотрено.
Полезные ссылки
Телеграм-канал курса: https://t.me/hse_msemester_2020
Телеграм-чат курса: в канале
GitHub репозиторий с материалами и лекциями: https://github.com/danlark1/hse_missing_cs_education
Записи лекций: https://docs.google.com/spreadsheets/d/11gbc4iL1KSHekmJq-vWIIi6oOtjyoqv1F6g-dDujS3g/edit?usp=sharing
Таблица с оценками: https://docs.google.com/spreadsheets/d/1m3wtyW7DtPipkSGvOD0hSFZTvrmKXWkwdjv5NDpAafk/edit?usp=sharing
Лекции
Будет 11-13 лекций, примерный план лекций таков:
- Вводная лекция. Shell, env variables, различные виды, zsh, fish, tmux. Примеры типичных команд и ошибок
- Shell scripting, grep, find, curl, sed
- Мощь текстовых редакторов, vim и sublime text. Философия, архитектура, ключевые идеи
- git, mercurial и svn, основные идеи
- Безопасность и приватность
- gdb, lldb, дебаг процессов unix систем
- cmake, make, bazel, gopackage, requirements.txt, CI, тестирование. Основные определения, понятия, способы сборки
- apt, pacman, brew. Децентрализованные package менеджеры. Ubuntu, Gentoo, Arch Linux, Fedora, их философия и выбор, open source
- Виртуализация и контейнеризация: VM, Docker, FUSE, SSHFS, SSH
- Markdown, LaTeX, LaTeX beamer, Overleaf
- Железо, характеристики, производительность, numbers each programmer should know
- Технология LLVM для написания языков программирования
Если будет интерес, сделаем ещё несколько лекций по интересующим Вас темам. Форма для обратной связи: https://forms.gle/EZCdUxjXuvozwA726. Вы также можете пожаловаться или похвалить курс :)
Семинары
Не будет
Домашние задания
Домашние задания направлены на закрепления материала.
Планируется 3 домашних задания, все будут проводиться в системе Yandex.Contest и Github. Примеры, которые планируются
- Shell scripting. https://official.contest.yandex.ru/contest/19356. Дедлайн 9 декабря 23:59:59
- GDB debug https://github.com/danlark1/hse_missing_cs_education/tree/master/homework/gdb_debug. Дедлайн 31 января 23:59:59
- Публикация резюме через CI в Github (например, Github Actions) https://github.com/danlark1/hse_missing_cs_education/tree/master/homework/resume. Дедлайн 17 марта 23:59:59. Если сдадите до 10 марта 23:59:59, то можно будет получить фидбек по содержанию.
Экзамен
Не будет
Итоговая оценка за курс
Итог = Мин(Округление(0.33 * ДЗ1 + 0.34 * ДЗ2 + 0.33 * ДЗ3 + Б), 10), где ДЗ1, ДЗ2, ДЗ3 — оценки за все домашние задания, Б — бонус за исправление лекций, нахождения опечаток в записанном лекционном материале. Автоматы не предусмотрены. Экзамена не планируется.