СКИДКА ДО 50%

ДЕНЬ

:

ЧАСОВ

:

МИНУТ

:

СЕКУНД
86 занятий

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

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

Купить курс
  • Уникальная программа курсаУникальная программа курса
  • Индивидуальный/ групповой урокИндивидуальный/ групповой урок
  • Постоянный доступ к видеозаписям уроковПостоянный доступ к видеозаписям уроков
  • Поддержка преподавателя 24/7Поддержка преподавателя 24/7

Программа курса "С++"

Данный язык востребован в игровой индустрии, финансовых технологиях и робототехнике. С++ полезен для разработки эффективных и быстрых приложений. На нашем курсе вы изучите основу и логику языка программирования, базовый синтаксис, алгоритмы, ООП, библиотеки и фреймворки.

Лицензия № Л035-01255-50/00639874
Введение в С++

Этот модуль дает ученикам базовое представление о том, что такое язык программирования C++, его историю, какими преимуществами и недостатками обладает этот язык. Также в этом модуле, используя примеры, ученики узнают о различиях между данным языком и его конкурентами и о том, почему компании все чаще выбирают именно язык C++ для разработки продуктов.

Вы научитесь:

  • Указывать на преимущества и недостатки языка
  • Различать стандарты С++
  • Понимать преимущества высокоуровневого языка программирования
  • Понимать философию языка С++

Методический план модуля:

Студенты поймут, что из себя представляет язык С++, его преимущества и недостатки, сферы применения, смогут настроить среду разработки для удобной работы, разберутся со структурой программы.

Итог модуля:

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

Базовый синтаксис языка

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

Вы научитесь:

  • Разрабатывать процедурный код
  • Разрабатывать отказоустойчивый код
  • Разрабатывать оптимизированный код
  • Правильно обрабатывать исключения
  • Использовать собственные структуры данных
  • Использовать выравнивание данных для оптимизации кода
  • Предотвращать неявные преобразования в избежании неявного поведения
  • Определять задачу и методы ее решения
  • Переключаться между Debug и Release режимами разработки
  • Использовать правильные области действия
  • Взаимодействовать с интерфейсом системы UNIX
  • Определять моменты наилучшего использования указателей, вместо ссылок
  • Работать с файлами
  • Работать с низкоуровневым вводом-выводом

Методический план модуля:

Студенты изучат как можно разрабатывать различный код и обрабатывать исключения.

Итог модуля:

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

Хранение и сборка проекта

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

Вы научитесь:

  • Собирать статические библиотеки
  • Собирать динамические библиотеки
  • Определять последовательность процесса компиляции проекта
  • Разрабатывать свою логику процесса сборки проекта, установки и обновления
  • Определять зависимости приложений используя инструменты операционной системы
  • Использовать динамические переменные при сборке проекта
  • Дефинировать собственные макросы
  • Откатывать свой проект до более старой версии
  • Ввести разработку над одним проектом и сохранять внесенные изменения независимо друг от друга
  • Работать с централизованными системами контроля версий
  • Просматривать историю изменения кода проекта

Методический план модуля:

На уроках ученики смогут написать простейшие строки кода, разобрать популярные ошибки. Изучат способы сборки проекта.

Итог модуля:

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

Базовые алгоритмы

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

Вы научитесь:

  • Определять и вычислять сложность алгоритма
  • Находить проблемные участки кода, требующие оптимизации
  • Различать семейства производительности алгоритмов
  • Разрабатывать псевдокод будущего алгоритма оптимизации
  • Использовать разложения задачи на подзадачи
  • Находить правильную структуру данных под определенный алгоритм
  • Находить компромиссы между скоростью и использованием памяти
  • Тестировать алгоритмы и математически доказывать их работоспособность

Методический план модуля:

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

Итог модуля:

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

ООП

Благодаря этому модулю, ученики получат знания в области разработки программного обеспечения с использованием инструментов объектно-ориентированного программирования (ООП).

Вы научитесь:

  • Использовать объектно-ориентированные концепции в написание кода
  • Инкапсулировать данные для защиты критических данных от несанкционированного доступа
  • Разделять проект на отдельные модули и подмодули
  • Разрабатывать проекты с учетом будущей расширяемости
  • Разрабатывать приложения с асинхронными взаимодействиями
  • Разрабатывать приложения с уменьшенным количеством межмодульных вызовов
  • Использовать гибкость полиморфизма по максимуму
  • Обрабатывать разнородные структуры данных
  • Локализовать код и данные для улучшения обслуживания программного обеспечения
  • Изменять поведения объекта по время выполнения
  • Разрабатывать приложения в виде каркаса

Методический план модуля:

Ученики узнают, как разрабатывать код, используя такие современные методологии, как структурирование кода/приложения, разделение кода на модули (модульность) и разделение проекта на абстракции. На уроках будут рассмотрены основные понятия и основные принципы ООП. Как ООП применяется на практике.

Итог модуля:

По завершении данного модуля студенты получат знания и навыки в области разработки программного обеспечения с применением объектно-ориентированного программирования (ООП). Этот модуль позволит студентам разрабатывать качественное и гибкое программное обеспечение, применяя принципы ООП и современные методологии разработки.

Стандартная библиотека + STL

Этот модуль предназначен для демонстрации возможностей C++ “из-под капота”. Этот модуль предоставит информацию о существующих стандартных библиотеках C++ и их назначении. В качестве примера также выступит очень популярная библиотека STL.

Вы научитесь:

  • Применять структурированные привязки для распаковки набора возвращаемых значений
  • Ограничивать область видимости переменных
  • Использовать идиому erase-remove для контейнеров
  • Создавать собственные итерабельные диапазоны данных
  • Обеспечивать совместимость собственных итераторов с категориями итераторов STL
  • Реализовывать алгоритмы с помощью итераторов
  • Динамически определять функции с помощью лямбда-выражений
  • Создавать сложные предикаты с помощью логической конъюнкции
  • Работать с реализованными алгоритмами STL
  • Создавать строки, конкатенировать и преобразовывать их
  • Безопасно извещать о сбое, используя std::optional
  • Быстро создавать структуры данных с использованием std::tuple
  • Хранение разных типов с использованием std::variant
  • Автоматически распараллеливать код, используя стандартные алгоритмы

Методический план модуля:

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

Итог модуля:

Этот модуль поможет студентам углубить свои знания С++ и использовать мощные инструменты языка для разработки программного обеспечения.

Архитектура операционных систем

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

Вы научитесь:

  • Использовать системные функции операционной системы
  • Обрабатывать системные ошибки, возникающие при системных вызовах и вызовах библиотечных функций
  • Открывать, записывать, читать и изменять смещение указателя в файле
  • Структурировать память процесса
  • Обрабатывать аргументы командной строки
  • Работать со временем
  • Устанавливать системные ограничения и возможности
  • Получать информацию о процессе
  • Буферизировать данные файлового ввода-вывода
  • Устанавливать, изменять и расширять атрибуты файлов
  • Обрабатывать сигналы
  • Использовать таймеры
  • Создавать процессы, завершать процессы и мониторить процессы
  • Синхронизировать потоки
  • Устанавливать приоритеты потокам
  • Создавать демонов
  • Создавать безопасные программы с повышенными привилегиями
  • Работать с каналами

Методический план модуля:

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

Итог модуля:

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

Многопоточность

Этот модуль является одним из самых сложных, обширных и интересных для изучения. Освоив этот модуль, ученики смогут разрабатывать многопоточные приложения начальной и средней сложности. Помимо разработки многопоточных приложений, студенты получат практические знания о нюансах использования многопоточности, распространенных ошибках при разработке многопоточных приложений, а самое главное - когда стоит, а когда не стоит переводить разработанное приложение на многопоточную архитектуру.

Вы научитесь:

  • Разрабатывать код под использование многоядерных процессоров
  • Эффективно использовать ресурсы системы
  • Разрабатывать код с эфективной организацией межзадачных обменов сообщениями
  • Запускать участки кода в фоновом режиме
  • Разрабатывать приложение под асинхронную работу
  • Обрабатывать исключения в потоках
  • Ассоциировать задачи с будущим результатом
  • Разрабатывать собственные пулы потоков
  • Переконфигурировать алгоритмы под многопоточное выполнение

Методический план модуля:

В этом модуле студенты изучат как устроен процесс, его потоки, как ими управлять, каким образом в программе реализуется многопоточность. Разберутся как использовать инструменты управления синхронизацией потоков для доступа к общим ресурсам. Студенты узнают, что такое многопоточность. Как и зачем она была придумана. Каким образом с помощью многопоточности модно добиться безопасности программы и увеличить скорость работы.

Итог модуля:

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

Полезные навыки и рекомендации

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

Вы научитесь:

  • Использовать готовые паттерны проектирования
  • Быстро понимать проект благодаря используемого им паттерна проектирования
  • Ввести логирование приложения для будущего анализа ошибок
  • Сбор телеметрии приложения и будущая аналитика
  • Использование статических анализаторов кода
  • Работа с VSC

Методический план модуля:

Этот модуль необходим для построения правильных привычек учеников при разработке кода. На уроках будут рассмотрены паттерны. Разберемся, где и как их можно применять, выясним их плюсы и минусы.

Итог модуля:

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

Фреймворки и библиотеки

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

Вы научитесь:

  • Работать с фреймворками GTest/GMock, gRPT, CUDA/OpenGl, Catch2, Silicon, PyTorch, TensorFlow и различными библиотеками

Методический план модуля:

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

Итог модуля:

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

IDE

Этот модуль является информативным и предназначен только для демонстрации существующих платформ для разработки приложений. Благодаря этому модулю учащиеся получат полное представление о существующих IDE, их различиях и преимуществах, что, в свою очередь, поможет при выборе конкретной IDE.

Вы научитесь:

  • Работать в существующих IDE, разбираться в их различиях и преимуществах

Методический план модуля:

В этом модуле будет показано как производить установку и настройку среды разработки (IDE), как создавать и запускать проект.

Итог модуля:

После прохождения данного модуля студенты получат полное представление о существующих интегрированных средах разработки (IDE), их различиях и преимуществах. Они научатся работать в различных IDE и разбираться в их особенностях, что поможет им принять осознанные решения при выборе конкретной IDE для своих проектов. Этот модуль позволит студентам освоить практические навыки работы с существующими IDE и быть готовыми к эффективной разработке приложений.

Заработок будет расти вместе с опытом

По данным hh.ru, средняя зарплата С++ разработчика — 116 000 ₽

52 000 ₽

Junior
после курса

116 000 ₽

Middle
1–5 лет

190 000 ₽ +

Senior
более 5 лет

Цены

-12% скидка
Индивидуальные

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

10 992 руб/мес
9 673 руб/мес
при рассрочке на 24 месяца
-14% скидка
Групповые

Онлайн занятия в небольшом кругу учеников. Можно присутствовать на уроке или смотреть его в записи. Занятия проводятся 2 раза в неделю.

9 233 руб/мес
7 914 руб/мес
при рассрочке на 24 месяца

Развивайте свою карьеру с нами

Профессиональное резюме

Наша команда экспертов поможет вам выделиться среди кандидатов. Мы создадим эффективное и привлекательное резюме, которое подчеркнет ваши навыки и достижения.

Оформление портфолио

Портфолио — это ваша визитная карточка. Мы предоставим вам инструменты и рекомендации по созданию профессионального портфолио, которое покажет вашу уникальность и талант.

Карьерная консультация

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

Получи бесплатный урок в подарок

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

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

* — Поля, обязательные для заполнения

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

Заявка на обучение

Вопросы и ответы

  • Кому подойдет курс С++
    Курс подойдет вам, если вы заинтересованы в разработке системного программного обеспечения, браузеров или игр.
  • Как проходят уроки?
    Индивидуально или в группе. Урок длится 1 час, через Zoom. Занятие включает в себя: теорию, практику, ответы на вопросы, домашнюю работу и ее проверку. Во время урока у ученика выделяется время на создание своего проекта. Так он быстрее научится самостоятельно искать и исправлять ошибки.
  • Курс подойдёт новичкам?
    Да! Вам не нужно обладать специальными знаниями. Вы можете приступить к курсу будучи полным новичком в сфере программирования.
  • Могу ли я оплатить только те модули, которые интересны?
    Да, можете. Для уточнения цены интересующего вас модуля свяжитесь с менеджером школы программирования YCLA Coding +7 (495) 023-53-52
  • Какой результат после пройденного курса C++?
    По завершении курса вы сможете разрабатывать программы на C++, создавать приложения с использованием классов и объектов, управлять памятью, работать с файлами и базами данных, а также оптимизировать код для достижения максимальной производительности.
  • На какой курс можно пойти после прохождения курса C++?
    Вы можете изучить и расширить свои знания языков программирования, а также записаться на консультацию к преподавателям школы программирования YCLA Coding - мы всегда рады помочь!
  • Сколько зарабатывает С++ разработчик?
    Средняя зарплата С++ разработчика: Junior - 52 000₽, Middle - 116 000₽, Senior - 190 000₽ +
  • Сколько человек занимается в группе?
    В группе занимается до 4х человек.
Обратный звонок

У вас остались вопросы?

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

* — Поля, обязательные для заполнения

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