Курсы Computer Science клуба, весна 2017


    Computer Science клуб вот уже 10 лет проводит открытые курсы по компьютерным наукам. Большинство лекций стараниями Лекториума записаны на видео и лежат в открытом доступе. В этом семестре выложены уже три новых курса, которые до этого не читались в клубе: «Программирование с зависимыми типами на языке Idris», «Вычисления на GPU. Основные подходы, архитектура, оптимизации», «Методы и системы обработки больших данных».

    Программирование с зависимыми типами на языке Idris



    Лектор: Виталий Николаевич Брагилевский, сотрудник института математики, механики и компьютерных наук Южного федерального университета (Ростов-на-Дону), член комитета по стандартизации языка Haskell 2020.

    Аннотация
    Idris — чистый тотальный функциональный язык программирования общего назначения с Haskell-подобным синтаксисом и поддержкой зависимых типов. Система типов подобна системе типов языка Agda. Язык поддерживает средства автоматического доказательства, сравнимые с Coq,
    включая поддержку тактик, однако фокусируется не на них, а позиционируется как язык программирования общего назначения. Цели его создания: «достаточная» производительность, простота управления побочными эффектами и средства реализации встраиваемых предметно-ориентированных языков.

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

    Материалы и видео курса.

    Вычисления на GPU. Основные подходы, архитектура, оптимизации



    Лектор: Алексей Александрович Ивахненко, ведущий специалист по архитектуре GPU и оптимизации в Applied Parallel Computing LLC.

    Аннотация
    Этот курс лекций освещает основные способы разработки программного обеспечения, использующего графические процессоры (GPU) NVIDIA в параллельных вычислениях. Включает в себя обзор библиотек линейной алгебры, преобразования Фурье, генерации случайных чисел. Рассмотрен процесс быстрой разработки с помощью STL-подобной библиотеки Thrust.

    Первая половина курса включает обзор и сравнение современных процессоров и ускорителей в различных задачах, а также основы архитектуры CUDA и языка CUDA C++, необходимые для получения высокой производительности программ. Во второй половине представлено сравнение современных архитектур GPU NVIDIA, иерархия памяти и кэшей устройств, методы оптимизации программ и потоков данных. Отдельным пунктом рассмотрены интегрированные среды разработки, отладчики и профилировщик.

    Заключительная лекция представляет пример взаимодействия с популярным стандартом компьютерной графики OpenGL на примере численного решения стационарного уравнения Пуассона.

    Материалы и видео курса.

    Методы и системы обработки больших данных



    Лектор: Иван Витальевич Пузыревский, преподаватель Школы анализа данных и факультета компьютерных наук Высшей школы экономики, в Яндексе руководит одной из групп разработки платформы для распределённого хранения и обработки данных YT.

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

    В лекционной части курса рассматриваются такие технологии как HDFS, Hadoop MapReduce, HBase, Cassandra, Spark, Kafka, Spark Streaming, Storm. Последовательность рассказа повторяет историю появления и развития данных технологий обработки данных. В начале мы познакомимся с HDFS и MapReduce, разберем основные архитектурные решения и ограничения в применимости данных систем (в том числе с учетом десятилетнего опыта эксплуатации). Следом разберем задачу хранения данных по ключу, познакомимся с различными трейд-оффами в построении систем типа «ключ-значение» на примере HBase & Cassandra. Постепенно перейдем к изучению устройства Spark, современной системе кластерной обработки данных. Узнаем принципиальные отличия в пакетной и потоковой обработке данных, изучим Kafka — шину для доставки данных с минимальными задержками — и Storm вместе с Spark Streaming — системами потоковых вычислений. В дополнение разберем сопроводительные технологии (типа ZooKeeper, Hive), которые порой упрощают жизнь при разработке приложений.

    Практическая часть курса состоит из нескольких заданий, подчиненных одной сквозной модельной бизнес-задаче. Вашей главной целью будет построение контура непрерывной обработки данных для расчета аудиторных статистик модельной соцсети, сбора и хранения пользовательских профилей, решения ad-hoc задач аналитики. Оценка за практическую часть формируется из корректности и стабильности вашего решения.

    Материалы и видео курса.

    Другие курсы этого семестра


    На прошлой неделе завершился курс «Коммуникационная сложность», скоро появится видео. На этих выходных начался курс «Экспандеры и их применения». В апреле ожидается курс «Машинный перевод», в мае — курс «Избранные главы теории потоков», а в начале июня миникурс «Modern algorithms for parallel, streaming and query-based data processing». Кроме этого в течение всего семестра проводится Семинар по сложности булевых функций

    Мы в Академическом университете поощряем студентов, которые посещают лекции Computer Science клуба — мы позволяем засчитывать курсы клуба (для этого, конечно, нужно сдать экзамен).

    Если вам интересны лекции клуба и вы живёте в Петербурге или Казани (в Казани действует филиал клуба) — подписывайтесь на обновления в социальных сетях или на email-рассылку (ссылки есть на нашем сайте) и приходите на лекции!

    Вторая часть.
    • +29
    • 6.4k
    • 8
    Computer Science Center
    145.28
    Company
    Share post

    Comments 8

      +1
      Очень любопытно! Особенно, про обработку (больших) данных.
        +2
        А что можно сделать с теми курсами, которые уже закончились?
        • UFO just landed and posted this here
            0
            Задания обычно доступны тем, кто был записан на курс
            • UFO just landed and posted this here
              0

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

                0
                Если что-то не выложено, то либо эти лекции по какой-то причине не были записаны, либо видео утрачено (часть видео была утрачена после закрытия Google Video).
                  0

                  Жаль. А вообще, большое спасибо вам спасибо!) Только сегодня приводила ваш проект в пример, как правильно тратить ресурсы на развитие. Нас может вытянуть только массовое качественное образование. Огласку бы ширее)


                  Из личных впечатлений — очень кстати пришелся курс Ивахненко по GPGPU и Куде.

          Only users with full accounts can post comments. Log in, please.