4 курс, 7-8 семестр
Язык: русский

Описание

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

Правила получения зачета

  1. Посещаемость >= 80% — зачет.
  2. Посещаемость < 80% — в конце зачет по пропущенным лекциям.
  3. Если пропускаете по болезни, приносите справку. Но если с учетом болезни пропустили больше 50% — все равно сдавать теорию по пропущенным парам.

Преподаватель

  • Углянский Иван Евгеньевич

Запланированные семинары

    Прошедшие семинары

    • GHC internals by example

      На примерах посмотрим, какие стадии проходят программы на языке Haskell, какие оптимизации к ним применяет компилятор и как ваши программы выглядят внутри GHC.

    • Как случился Meltdown

      Metldown - аппаратная уязвимость Intel и ARM процессоров, опубликованная в 2018-ом году и наделавшая много шуму в индустрии IT. Благодаря трём механизмам повышения эффективности компьютерных систем, без которых невозможно представить современные процессоры и OS, злоумышленник может получить доступ к защищённым данным OS.

      Мы разберёмся, как осуществляется эта атака, для чего рассмотрим такие понятия, как аппаратное обеспечение, Принстонская и Гарвардская архитектуры, конвейер выполнения команд, спекулятивное выполнение, иерархия памяти и иерархия кэшей.

    • Генеративные LLM. Как технически реализованы ChatGPT/DeepSeek и прочие языковые модели

      ИИ-ассистенты сегодня — огромные системы, интегрированные в инфраструктуру интернета, которые умеют распознавать картинки, видео, вести диалог с пользователем.

      В формате «научпоп» расскажу про сердце таких систем — генеративные LLM. А именно — про их внутреннее устройство и инфраструктуру нейросетей, которые непосредственно работают с текстом и отвечают пользователю на его запросы.

    • Schedulers 101

      Алгоритмы + OSE

      Планирование: от FCFS до EEVDF

    • Компилируем компилятор или ускоряем javac вдвое

      Дмитрий Соломенников из Axiom JDK расскажет, как они разгоняли javac с помощью GraalVM (а заодно немного про сам GraalVM и как он работает).

    • Основы сетевого взаимодействия (Продолжение 2)

      Продолжение серии семинаров по основам сетевого взаимодействия.

    • Project Valhalla или как в Java уже много лет пытаются добавить value классы (Продолжение)

      Продолжаем разговор про проблемы и тонкости nullability и атомарных доступов к скалярам в Java.

    • Project Valhalla или как в Java уже много лет пытаются добавить value классы

      Поговорим о том, как изменить язык Java и её реализацию, чтобы открыть путь для эффективной скаляризации и инлайна объектов в другие объекты, но при этом не превратить Java в C++.

    • Основы сетевого взаимодействия (Продолжение)

      Семинар посвящен целиком прикладному уровню, включая его вспомогательные подуровни: отправной точкой и центральной темой будет HTTP, как наиболее распространенный и повседневно встречающийся житель прикладного уровня, но отталкиваясь от него пройдемся и по соседям, особенно по SSL/TLS.

    • Основы сетевого взаимодействия

      Семинар посвящен основам сетевого взаимодействия вообще (про модель OSI) и базовым уровням стека TCP/IP: объяснение самих принципов и понятий (что есть протокол и интерфейс, уровни адресации и т.п.).