В преддверии учебного года Институт биоинформатики приглашает всех на мини-лекторий с техническим уклоном!

Вместе с Геннадием Захаровым и Никитой Ваулиным мы разберёмся,

как устроен компьютер и работает код: от электрических сигналов и логики процессора до операционных систем (GNU/Linux), оптимизации вычислений

и эффективных сред разработки.

Лекторы
  • Никита Ваулин
    MedUni Wein
  • Геннадий Захаров
    Wellcome Sanger Institute
Зарегистрироваться
Даю согласие на обработку и хранение персональных данных
Политика обработки персональных данных: https://bioinf.me/personaldata
Расписание
  • 23 августа

    10:00 – 12:30 Геннадий Захаров

    12:45 – 14:15 Геннадий Захаров
  • 24 августа

    10:00 – 12:30 Геннадий Захаров

    12:45 – 14:15 Геннадий Захаров
  • 25 августа

    19:00 – 20:30
    Никита Ваулин
  • 26 августа

    19:00 – 20:30
    Никита Ваулин
Подробная программа
  • 23 августа
    Суббота
    11:00 - 12:30
    Архитектура компьютера: от электричества до кода | Геннадий Захаров
    Краткий обзор того, как работают электронные цифровые компьютеры.
    Как мы используем электричество для кодирования, хранения и обработки информации.

    • Электрический заряд, напряжение и ток
    • Цифровые электрические схемы
    • Логические элементы: базовые строительные блоки
    • Арифметические операции
    • Тактовый сигнал и синхронизация
    • Ячейки памяти: RS-триггер, D-триггер, регистры
    • Вычислительная машина: АЛУ, оперативная память
    • Компьютер с хранимой программой: память команд и переключение потока управления
  • 23 августа
    Суббота
    12:45 - 14:15
    Низкоуровневое программирование: как работает код | Геннадий Захаров
    На этой лекции мы попытаемся построить мост между «железом»
    и высокоуровневыми языками программирования.
    Что находится между вашим процессором и Python-кодом?

    • Зачем нам понимать низкоуровневую архитектуру?
    • Архитектура компьютера с хранимой программой
    • Ассемблер: низкий уровень и прямой доступ к процессору.
    • Скрытые уровни: операционная система, ввод-вывод, многозадачность
    • Организация памяти — кэш, стек и куча
    • Языки среднего уровня: Fortran, C/C++, Rust
    • Как эффективно использовать процессор и память: массивы, циклы, векторные инструкции
    • Эволюция процессоров: CISC, RISC, специализированные устройства (GPGPU)
    • Высокоуровневые языки — удобно, но почему так медленно?
  • 24 августа
    Воскресенье
    11:00 - 12:30
    Основы GNU/Linux | Геннадий Захаров
    • Многозадачный компьютер и операционная система
    • Основные компоненты ОС
    • Семейство *NIX-систем и их история
    • Проект GNU и копилефт/открытое ПО
    • Ядро Linux и GNU/Linux-системы
    • Процесс загрузки GNU/Linux
    • Структура файловой системы UNIX
    • Виртуальные файловые системы /proc и /sys
    • Системные службы и systemd
    • Управление пакетами
    • Системные переменные: PATH и другие
  • 24 августа
    Воскресенье
    12:45 - 14:15
    Введение в высокопроизводительные вычисления | Геннадий Захаров
    • Узкие места производительности системы
    • Процессы и потоки
    • MPI и распределённые вычисления
    • Вычислительные кластеры и очереди задач
    • Контейнеризация
    • Вычисления с использованием GPU
  • 25 августа
    Понедельник
    19:00 - 20:30
    Виртуальные окружения | Никита Ваулин
    • Менеджеры виртуальных окружений
    • Как всё работает под капотом на примере venv
    • Управление биоинформатическим пакетом на примере conda
  • 26 августа
    Вторник
    19:00 - 20:30
    Среды разработки (IDE) | Никита Ваулин
    • Терминал - тоже среда (REPL)
    • Jupyter: управление ядрами и магические команды
    • PyCharm, VSCode, RStudio... - экскурсия-дискуссия