ТП весна 2027 Продвинутый
Внимание! Страница в разработке. Данные могут меняться! Дождитесь окончательной публикации страницы!
Описание курса
Курс посвящен пользовательской стороне Linux, а также ряду популярных инструментов разработки. Продвинутый поток фокусируется на глубоком погружении в технические аспекты и детали реализации инструментов. В рамках курса будут изучены как сами инструменты, так и устроство некоторых из них (например, внутреннее устройство и принципы работы Git, реализация Docker средствами ядра Linux, общий принцип работы интерпретаторов командной оболочки и др.)
Важно! Курс не предусматривает какого-либо использования ИИ (не рекомендуется даже поиск информации) и использование ИИ-инструментов карается вплоть до дисциплинарных взысканий. Одним из результатов курса является умение верифицировать на высоком уровне результаты генерации кода с помощью ИИ, однако получить такой навык, используя ИИ нельзя.
Курс досточно объемный, интенсивный и для закрытия на высокую оценку требует много потраченного времени. Домашние задания будут публиковаться каждую неделю.
Пререквизиты курса
- Закрытый хотя бы на хор курс С++
- Продвинутый поток продолжает изучать экосистему С/С++, а также использует их механизмы для изучения ОС. Без хороших знаний первого семестра пройти курс будет достаточно сложно.
- Знание основных структур данных
- Мы не ожиданием умения "вслепую написать RBT дерево", однако ждем, что вы понимаете общие принципы работы основных структур данных из 1го семестра и можете их сравнивать. Например, ожидается понимание различий AVL, RBT и B деревьев.
- Наличие Linux платформы
- Так как курс про Linux и его инструменты, то без него (или mac OS) курс пройти будет невозможно.
- Умение и готовность самостоятельно искать информацию
- Домашние задания специально продуманы так, чтобы вы сталкивались с различными ошибками и нестандартными ситуациями. Мы ожидаем, что вы готовы гуглить ошибки, читать man страницы, stackoverflow и другие linux форумы. Использование ИИ для разрешения ошибок максимально не приветствуется, а для решения задач вообще запрещается.
Установка Linux системы
Требуется только если у вас уже нет ни Linux, ни mac OS.
Если вы впервые работаете с Linux, то советуем выбрали либо Ubuntu, либо Fedora. Ubuntu -- более Windows-like система с большим числом гайдов в интернете, однако потребляет много ресурсов. Fedora -- более дружелюбная по потреблению ресурсов система, также позволяет выбрать графическое окружение (KDE или GNOME), однако уже дальше от Windows по дизайну и чуть меньше гайдов, преимущественно на английском языке.
Oracle VM Box
Подойдет людям с 6+ ядрами процессора, 16ГБ+ оперативной памяти и 256ГБ+ жесткого диска (!= нельзя поставить иначе, просто будут часто фриззы в системе). Причем свободного места на диске должно быть хотя бы 64ГБ. Позволяет иметь полноценный Linux, однако придется чуть заморочиться. При работе с ВМ на хосте лучше не запускать ресурсо-требовальных приложений (например, несколько окон Chrome) -- тут уже ориентируйтесь на объем вашей оперативной памяти.
Скачайте образ диска ОС (.iso-файл):
- Fedora 43, 44 версия слишком свежая, пока лучше не ставить
- Ubuntu 2026, не устанавливайте нечетные версии, можно альтернативно 24, более старые не стоит.
Устновите Oracle VM Box и создайте виртуальную машину по следующим гайдам:
Рекомендуемые параметры ВМ:
- Оперативная память
- Fedora: 6ГБ+, оптимально 8ГБ+
- Ubuntu: 8ГБ+, оптимально 10ГБ+
- Диск
- Тип: VDI, динамически расширяемый
- Объем: 64ГБ+, должны уложиться в 128ГБ
- Минимум 2 ядра, а так лучше 4+ ядер (больше половины лучше не отдавать)
Крайне советуем сразу настроить возможность копировать данные из хоста в ВМ и обратно. Дополнительно полезно создать разделяемую папку, чтобы перекидывать файлы туда-сюда.
Dual boot
Подойдет тем, кто имеет 512ГБ+ жесткого диска (оптимально 1ТБ+). Позволяет иметь две независимые системы на одном устройстве, однако самый сложный процесс настройки из всех вариантов. Здесь уже лучше найти видео-гайды в ютубе по тому, как настроить для вашей версии Windows и выбранной ОС.
WSL
Подойдет всем у кого стоит Windows, поставит почти что Linux (все же WSL -- не до конца полноценный Linux и на курсе мы это увидим, с дз этого курса проблем не будет, но в будущем могут быть приколы, если начнете заниматься низкоуровневым программированием) причем будет возможность из Linux взаимодействовать с файлами в Windows.
Установите WSL 2 по официальному гайду. Рекоммендации по дистрибутиву сохраняются.
Система оценивания
Итоговая оценка вычисляется по формуле min{Ex, Ts + Iv}, где
Ex-- Оценка за итоговый зачетTs-- Оценка за домашние задания (45% оценки)Ex-- Оценка за устные сдачи в формате технических интервью (55% оценки)
Итоговый зачет проводится на зачетной неделе и содержит базовые вопросы по темам курса aka теормин.
Также для положительного (не пересдача) закрытия курса потребуется набрать в сумме ненулевое число баллов за домашки по каждому из блоков курса.
Программа курса
TBD..
Отбор на курс
На курсе планируется 55-60 студентов (мах 60). Для отбора на курс необходимо зарегистрироваться на GitLab (регистрация -- это нулевой этап отбора) и заполнить форму (появится позже).
GitLab имеет систему защиты от ботов, поэтому при подозрительных действиях может потребовать пройти дополнительную верификацию, которую в РФ сделать проблематично. Как не попасть под подозрения:
- Не использовать VPN и прочие средства модификации интернет трафика
- Использовать человеческие имена и пароли (минимизировать число паттернов сгенерированного набора символов)
- Не использовать одну сеть для регистрации большого числа аккаунтов. Так, если с сети уже был недавно найден подозрительный аккаунт, то последующие регистрации также могут вызвать подозрения
- Не спидранить регистрацию и не быть улиткой: заполняйте все поля в среднем, спокойном темпе
- Использовать почту
phystech.edu-- она вызывает минимум сомнений - При повторной попытке регистрации не использовать данные похожие на прошлые: если уже в подозрения улетел ник
qwerty, тоqwerty2008будет также вызывать подозрения - Иногда может помогать режим инкогнито
В случае превышения числа желающих 60 человек будет произведен отбор по следующим параметрам:
- Студенты ФУПМа и ПМИ.Мат имеют наинизший приоритет
- Студенты ПМИ.Инф и ИВТсп имеют более высокий приоритет при прочих равных
- Ожидается, что студенты закрыли курсы плюсов и алгосов на хор и выше
- Будут проведены устные собесы, по результатам которых отранжируем желающих
Собесы будут больше не про знания, а про мотивацию/интересы.
Если вы не прошли отбор, то вы можете посещать занятия при наличии мест в аудитории и закрывать задачи для себя: все домашние задания будут в открытом доступе. Важно: не публикуйте свои решения, позвольте другим получить знания!
Факультативное закрытие курса
Возможность факультативного закрытия курса обсуждается индивидуально с лектором. Для этого напишите ему в личные сообщения
Команда курса
Лектор: Иван Калинин (tg: @taekwandodo)
Старший ассистент: Виктория Попова
Ассистенты: tbd..