👨🏻‍💻 КОДИНГ [Яндекс.Практикум] Разработчик C++ [Часть 4 из 9] (2022)

Moderator

Модератор
29 Янв 2026
11,060
1
38
jandeks-praktikum-razrabotchik-c-chast-4-iz-9-2022.75132.jpg

[Яндекс.Практикум] Разработчик C++ [Часть 4 из 9] (2022)



Разработчик C++ участвует в создании сложных IT-продуктов: от беспилотных автомобилей и робототехники до веб-браузеров, микроконтроллеров, серверов и видеоигр. На этом языке можно создавать с нуля самые разные программы, а крепкая база знаний по C++ позволит легко освоить любой смежный инструмент.

Что вы получите от курса:

  • Научитесь писать эффективный код

  • Разберётесь в стандартной библиотеке C++

  • Начнёте работать с Git, IDE и компиляторами

  • Познакомитесь с базовыми алгоритмами и структурами данных

  • Создадите действующие сервисы и добавите 3+ проекта в портфолио
Курс подойдёт вам, если:

  • Вы никогда не программировали и хотите начать с языка С++

  • Вы начинаете не с нуля и хотите освоить C++ для карьерного роста

  • Вы с опытом, но хотите выучить новый язык и сменить работу

  • Вам не хватает крепкой базы программирования
Будете учить только то, что точно пригодится в работе
С++ — сложный язык для сложных систем: беспилотных автомобилей и робототехники, веб-браузеров, микроконтроллеров, серверов и видеоигр. Курс непростой, но освоить его могут даже новички, если уделять обучению достаточно времени и усилий.

Программа курса

0 модуль. Базовые понятия программирования (опциональный). 10 часов

Вы узнаете об основах программирования и научитесь писать простые программы на C++

  • Знакомство с С++

  • Переменные и ввод

  • Условные конструкции, цикл for

  • Функции
1 модуль. Основы C++ (бесплатный). 30 часов
Вы познакомитесь с основными возможностями языка С++ и напишете на нём более 25 программ

  • Числа и строки. Операции над ними. Ввод и вывод

  • Условия и циклы

  • V значит вектор

  • Функции

  • Контейнер set

  • Глубокое копирование, ссылки и константность

  • Контейнер map
2 модуль. Основные компоненты C++. 120 часов
Вы освоите понятия, важные для полноценной разработки на C++:
итераторы — чтобы работать со всеми стандартными алгоритмами,
конструкторы — чтобы создавать объекты стало проще,
шаблоны функций — чтобы писать универсальный код.
А ещё научитесь обращаться со сложными программами: разбивать код на несколько файлов и тестировать его.

Спринт 1. Изучаем Git, базовые алгоритмы, структуры и классы данных. Погружаемся в детали и избегаем дублирования кода.

  • Git

  • Простые алгоритмы

  • Структуры и классы

  • Лямбда-функции
Спринт 2.

  • Работа со средой Eclipse

  • Числовые типы

  • Пары и кортежи

  • Шаблоны функций

  • Видимость и инициализация переменных
Спринт 3. Тестируем код.

  • Введение в тестирование

  • Фреймворк для юнит-тестов

  • Компиляция и отладка в консоли
Спринт 4. Осваиваем мощь и гибкость классов.

  • Жизненный цикл объекта

  • Перегрузка операторов

  • Обработка ошибок. Исключения
Спринт 5. Разбиваем код на несколько файлов и углубляем знания о стандартных алгоритмах.

  • Итераторы

  • Алгоритмы поиска

  • Стек, очередь, дек

  • Распределение кода по файлам
3 модуль. Эффективность кода. 120 часов
Вы научитесь оценивать эффективность высокопроизводительного приложения до и после его разработки. Познакомитесь с внутренним устройством контейнеров — это позволит понять, как настраивать элементы языка на эффективную работу. Чтобы избегать лишних копирований в коде, освоите move-семантику. А чтобы выжимать максимум из всех ядер процессора, начнёте писать многопоточные программы.

Спринт 6. Работаем над скоростью кода.

  • Профилируем и ускоряем

  • Потоковые хитрости

  • Просто о сложности. Теория быстродействия
Спринт 7. Учимся управлять памятью.

  • Модель памяти в C++

  • Односвязный список
Спринт 8. Постигаем внутреннее устройство контейнеров и осваиваем семантику перемещения.

  • Санитайзеры и другие инструменты поиска ошибок

  • Эффективные линейные контейнеры

  • Семантика перемещения
Спринт 9. Создаём многопоточные программы.

  • Параллельные алгоритмы

  • Асинхронные вычисления

  • Состояние гонки и защита от него
4 модуль. Элегантность и масштабируемость. 120 часов
Вы изучите инструменты, которые защищают код от человеческих ошибок и делают его опрятным: пространства имён, константность, RAII. Узнаете, как избавить программу от проблем роста. Освоите динамический полиморфизм.

Спринт 10. Изучаем ассоциативные контейнеры и пространства имён.

  • Ассоциативные контейнеры

  • Имена и пространства имён
Спринт 11. Упрощаем код благодаря наследованию, полиморфизму и умным указателям.

  • Умные указатели

  • Наследование и полиморфизм
Спринт 12. Осваиваем практики проектирования программ и работаем с файлами.

  • Константность как элемент проектирования программ

  • Работа с файлами

  • Идиома RAII
Спринт 13. Достигаем элегантности кода.

  • Философия хороших функций

  • Передаём данные в функцию

  • Получаем данные из функции

  • Рефакторинг
5 модуль. Разработка библиотек и больших проектов. 120 часов
Вы изучите основы сериализации объектов и библиотеку protobuf. Они помогут вашим программам обмениваться данными, а плотная упаковка сэкономит память. Разберётесь в концепции undefined behaviour. Напишете полноценный вектор, познакомитесь с variadic templates и гарантиями безопасности исключений.

Спринт 14. Пробуем себя в роли разработчиков библиотек.

  • Undefined Behavior

  • Vector своими руками
Спринт 15. Рассматриваем размещение объектов в памяти.

  • Хранение объектов в памяти

  • Таблица виртуальных методов

  • Собираем по-новому. CMake

  • Сериализация и protobuf
6 модуль. Дипломный проект. 40 часов
Вы закрепите навыки написания понятного и масштабируемого кода: разработаете крупную программу, которую сможете развивать в будущем.

  • Разработка интерпретатора языка Mython

  • Дипломный проект «Электронная таблица»

Авторизуйтесь, чтобы посмотреть скрытый контент.

 

Создайте учетную запись или войдите, чтобы комментировать или скачивать материалы!

У вас должна быть учетная запись, чтобы оставлять комментарии

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизоваться

У вас уже есть аккаунт? Войдите здесь.

Похожие темы