Многопоточное программирование на языке программирования С/С++

Длительность
  • 15 занятий
  • 60 ак. часов
Курс преподают
  • Филипп Андронов Филипп Андронов
  • Михаил Белозёров Михаил Белозёров
Получаемые навыки

В течение семестра студенты реализуют протокол HTTP для будущего веб-сервера, работу по сети, многопоточность.

Контроль знаний

В процессе обучения предусмотрены практические занятия по каждой теме, в процессе которых студенты зарабатывают баллы (всего 50), а также самостоятельный проект, который сдается в три этапа (всего 50 баллов).

При пересчете баллов студенты могут получить итоговую оценку: 0–59 неудовлетворительно, 60-79 удовлетворительно, 80-99 хорошо, 100 отлично.

Цель курса — формирование у студентов практических навыков многопоточного программирования.

Курс представляет собой изучение основ многопоточного программирования. Рассматриваются как классическое создание дочерних процессов (через fork) и использование средств межпроцессного взаимодействия (IPC), различные способы создания многопоточного приложения (pthreads, std::thread, boost::thread), а также и более высокоуровневые средства распараллеливания (OpenMP, Intel TBB). В курсе дополнительно представлены способы работы с сетью и контейнеры (STL, boost). В процессе обучения каждый студент будут делать индивидуальный проект (веб-сервер), который позволит наработать базовые навыки.

Лекция №1

Введение

4 часа 3 часа СР

Смешанное занятие №1

Blocking: Потоки, примитивы c++

4 часа 3 часа СР

Смешанное занятие №2

4 часа 2 часа СР

Смешанное занятие №3

Blocking: Основные приемы проектирвания

4 часа 3 часа СР

Смешанное занятие №4

Async: Сетевое программирование в Linux

4 часа 1 часа СР

Смешанное занятие №5

Async: epoll в несколько потоков

4 часа 3 часа СР

Смешанное занятие №6

Async: Корутины

4 часа 3 часа СР

Смешанное занятие №7

Async: развитие и применение корутин

4 часа 3 часа СР

Смешанное занятие №8

Основы Lock-Free

4 часа 2 часа СР

Смешанное занятие №9

Lock-Free linked list

4 часа 1 часа СР

Смешанное занятие №10

4 часа 3 часа СР

Смешанное занятие №11

Lock-Free: Flat Combine

4 часа 1 часа СР

Смешанное занятие №12

Свободная тема

4 часа 3 часа СР

Смешанное занятие №13

Свободная тема

4 часа

Пересдача №1

Пересдача

4 часа

Также в втором семестре:
Информационный поиск. Часть 1

Студенты по завершении данного курса получат знания в области задач машинного обучения, узнают, как решается одна из самых сложных проблем искусственного интеллекта, понимание потребностей человека и поиск подходящего решения.

Нейронные сети в машинном обучении

По результатам курса вы научитесь применять нейронные сети для многих практических задач, а также оценивать целесообразность их применения. Вы получите опыт подбора архитектуры нейронных сетей и ее быстрой реализации на PyTorch.

© Mail.ru Group, 2011–2019

Обратная связь

Присоединяйся:

Группа ВКонтакте
  • Дизайн:
    Nimax
  • Разработка:
    Лаборатория
    Технопарка
Версия портала - 5.40.6