TGViewer
Все в ШАД! Все в ШАД! @vse_v_shad · 11.3K subscribers
Post #364 5.85K
Всем привет 🖖

❔ «А зачем мне С++?» — слышим мы от каждого второго абитуриента в ШАД. А если честно, то и от каждого второго поступившего. Ответ у школы устойчивый и, как нам кажется, достаточно убедительный: для того чтобы иметь возможность развивать существующие большие МЛ/ИИ системы, чтобы создавать эффективные высоконагруженные сервисы, чтобы разбираться в системных принципах, требуется и стройное алгоритмическое мышление, и умение собрать из разных «кубиков» большую систему, и понимание достаточно низкоуровневых принципов написания программного кода.

С «плюсами» абсолютно все шадовцы встречаются в курсе алгоритмов, а сегодня обсудим отдельный курс по этому языку программирования.

«С++ — мощный язык с богатым наследием. Тем, кто только ступил на путь освоения этого языка, очень просто заблудиться в изобилии техник и приёмов, созданных за последние 30 лет. Курс посвящён современному подмножеству языка — Modern C++ (стандарты 11, 14, 17, 20). Много внимания уделяется инструментам и библиотекам, которые не являются частью языка, но без которых не получится построить большой и сложный проект.» — авторы курса.

Программа обучения:

Часть 1, осенний семестр
1. Введение и основы языка. Стандарты С++. Базовые типы, переменные, выражения, операторы. Область видимости и преобразование типов.
2. Указатели, ссылки и функции. Составные типы. Время жизни. Value categories. Функции.
3. Классы. Пользовательские типы. Методы класса. Перегрузки.
4. Шаблоны и STL. Специализация и инстанцирование. Вывод типов. Разрешение имён. Стандартные контейнеры.
5. Наследование. Полиморфизм и виртуальность. Классы-интерфейсы. Множественное наследование.
6. Управление ресурсами. Динамическое выделение памяти. RAII. Умные указатели.
7. Шаблоны (продолжение). Perfect forwarding, variadic templates. Итераторы.
8. Компиляция. Системы сборки (gnu/clang). Препроцессинг. CMake. Ast, clang tools. LLVM.
9. Компиляция (продолжение). Линковка. Оптимизации. UB.
10. Расположение объектов в памяти. Отладка. Структуры в памяти, Standard layout type (POD, Plain Old Data). Таблицы виртуальных функций. Выравнивание, операторы alignof и alignas. std::aligned_storage. GDB.
11. Работа с исключениями. try/catch/throw. Гарантии.
12. Обзор STL. Адаптеры. Алгоритмы. IO. regex.
13. Строки. Строки в C. std::string, std::string_view. COW.

Часть 2, весенний семестр
1. Метапрограммирование (шаблоны, sfinae, концепты, constexpr, constinit)
2. Многопоточность (jthread, инструменты синхронизации, shared data, atomic types)
3. Сетевое программирование
4. RPC
5. Корутины
6. Clang, llvm, sanitizers
7. Сборка, линковка
8. Профилирование, флеймграфы
9. С++26, модули


Для сдачи заданий используется система manytask (⭐️ it!), развитие которой как раз началось с курса по плюсам. Всех студентов курса ждут еженедельные «короткие» задания и несколько больших заданий проектного типа.

Спасибо, что дочитали до конца! Успехов на пути изучения нового и до скорых встреч в нашей рубрике #курсышад

Ваш ШАД 🥳
  • ❤ 46
  • ✍ 11
  • 👨‍💻 8
  • 👎 3
  • ❤‍🔥 2
  • 👍 2
More from @vse_v_shad
  1. Oct 6, 2026🎉 Поздравляем команды YTsaurus и Яндекс Рекламы с опенсорс-релизом YTsaurus Flow! Яндекс…
  2. Oct 5, 2026С Днём учителя 💙 Спасибо нашим школьным учителям за терпение, поддержку и интерес к знани…
  3. Oct 4, 2026document post
  4. Oct 4, 2026Разбор задачи про среднюю длину заказа 🤖 Здесь легко зацепиться за слово «средняя» и нача…
  5. Oct 2, 2026Не пиши так! Ошибки стиля в коде, которые видят проверяющие 👀 Понятные имена, аккуратные…
  6. Oct 1, 2026От студента ШАДа до нанимающего менеджера в Яндексе Четыре года назад Настя Филиппова приш…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →