MissingSemester2020/2021

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

О курсе

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

Курс предназначен для студентов всего второго курса и будет проходить во втором и третьих модулях.

Лектор: Кутенин Данила

Лекции проходят онлайн по субботам в 11:10-12:30 (2 пара). Ссылка для подключения https://zoom.us/j/91724468296?pwd=a2N2aVNKZHhqRHlHOENmbjdhSXNwQT09. Лекции будут записываться и выкладываться на youtube или в drive.

Семинаров не предусмотрено.

Полезные ссылки

Телеграм-канал курса: https://t.me/hse_msemester_2020

Телеграм-чат курса: Не будет, чаты на весь курс никогда не заканчивались хорошо. Если есть вопросы, пишите напрямую в Телеграм https://t.me/Danlark.

GitHub репозиторий с материалами и лекциями: https://github.com/danlark1/hse_missing_cs_education

Записи лекций: https://docs.google.com/spreadsheets/d/11gbc4iL1KSHekmJq-vWIIi6oOtjyoqv1F6g-dDujS3g/edit?usp=sharing

Лекции

Будет 11-13 лекций, примерный план лекций таков:

  1. Вводная лекция. Shell, env variables, различные виды, zsh, fish, tmux. Примеры типичных команд и ошибок
  2. Shell scripting, grep, find, curl, sed
  3. Мощь текстовых редакторов, vim и sublime text. Философия, архитектура, ключевые идеи
  4. git, mercurial и svn, основные идеи
  5. Безопасность и приватность
  6. gdb, lldb, дебаг процессов unix систем
  7. cmake, make, bazel, gopackage, requirements.txt, CI, тестирование. Основные определения, понятия, способы сборки
  8. apt, pacman, brew. Децентрализованные package менеджеры. Ubuntu, Gentoo, Arch Linux, Fedora, их философия и выбор, open source
  9. Виртуализация и контейнеризация: VM, Docker, FUSE, SSHFS, SSH
  10. Markdown, LaTeX, LaTeX beamer, Overleaf
  11. Железо, характеристики, производительность, numbers each programmer should know
  12. Технология LLVM для написания языков программирования

Если будет интерес, сделаем ещё несколько лекций по интересующим Вас темам. Форма для обратной связи: https://forms.gle/EZCdUxjXuvozwA726. Вы также можете пожаловаться или похвалить курс :)

Семинары

Не будет

Домашние задания

Домашние задания направлены на закрепления материала.

Планируется 3 домашних задания, все будут проводиться в системе Yandex.Contest и Github. Примеры, которые планируются

  1. Shell scripting. https://official.contest.yandex.ru/contest/19356. Дедлайн 9 декабря 23:59:59
  2. GDB debug https://github.com/danlark1/hse_missing_cs_education/tree/master/homework/gdb_debug. Дедлайн 31 января 23:59:59
  3. Публикация резюме через 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 — оценки за все домашние задания, Б — бонус за исправление лекций, нахождения опечаток в записанном лекционном материале. Автоматы не предусмотрены. Экзамена не планируется.