Курс «Курс "Разработчик С++"»

Направление
Разработка на С++
Домашние задания
Есть
Итоговый экзамен
Есть
Количество уроков
6
Документ об обучении
Диплом
Обратная связь
Есть
Доступ
Сразу после покупки
Последнее обновление 15.08.2022

О курсе

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

Проходить курс будет проще, если у вас есть опыт программирования на других языках.

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

  1. Вы познакомитесь с основными возможностями языка С++ и самостоятельно напишете на нём более 25 программ. По итогам этого модуля вы создадите на С++ собственную поисковую систему.
  2. Вы освоите важные для разработки на C++ понятия. Итераторы помогут применять всё многообразие стандартных алгоритмов, конструкторы сделают создание объектов удобным и гибким, а шаблоны функций позволят писать более универсальный код.

    Вы научитесь разбивать код на файлы и справляться с растущей программой. Узнаете, как проводить тестирование и не пускать ошибки в продакшн.
  3. Эффективность высокопроизводительного приложения важно уметь оценить до и после его разработки. Для предварительной оценки проводят асимптотический анализ кода. После написания программы применяют профилировщики.

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

    Избежать лишних копирований позволяет move-семантика. А многопоточные программы при грамотном проектировании выжмут максимум из всех ядер процессора.
  4. Некоторые инструменты языка формально не нужны. Без них можно обойтись, но они делают код опрятным и защищают его от человеческих ошибок. Так, пространства имён разделяют сущности языка на смысловые блоки с общим именем. Константность и RAII подсказывают разработчику, как лучше использовать конкретный объект, метод или класс.

    Вы освоите приёмы, которые помогут будущим поколениям понять, «что хотел сказать автор», и избавят программу от проблем роста.

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

    Вы напишете полноценный вектор, попутно познакомитесь с variadic templates — шаблонами с переменным числом аргументов — и гарантиями безопасности исключений.
  6. В заключение вы напишете настоящий дипломный проект — крупную программу, которую сможете развивать. Именно так вы закрепите свои навыки написания понятного и масштабируемого кода.