Top.Mail.Ru
СКИДКА ДО 50%

ДЕНЬ

:

ЧАСОВ

:

МИНУТ

:

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

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

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

Оставьте заявку

Дождитесь звонка консультанта. Задайте вопросы, поможем во всем разобраться.

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

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

Оставьте заявку

Дождитесь звонка консультанта. Задайте вопросы, поможем во всем разобраться.

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

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

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

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

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

Лицензия № Л035-01255-50/00639874

Длительность - 86 часов

Введение в С++

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


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

  • Устанавливать и настраивать среду разработки для C++
  • Работать с различными типами данных, переменными и константами
  • Использовать операторы и выражения для выполнения вычислений
  • Применять условные конструкции (if-else, switch) для управления потоком выполнения программы
  • Использовать циклы (for, while, do-while) для повторения действий
  • Создавать и использовать функции для структурирования кода
  • Работать с массивами и строками в C++
  • Использовать указатели и ссылки для эффективного управления памятью


Итог модуля:

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


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

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


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

  • Создавать классы и объекты в C++
  • Применять принципы инкапсуляции, наследования и полиморфизма
  • Использовать конструкторы и деструкторы для управления жизненным циклом объектов
  • Работать с виртуальными функциями и абстрактными классами
  • Применять перегрузку операторов для создания интуитивно понятного кода
  • Использовать шаблоны для создания обобщенного кода
  • Работать с исключениями для обработки ошибок в объектно-ориентированном стиле
  • Применять принципы SOLID в разработке на C++


Итог модуля:

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


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

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


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


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


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


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


Итог модуля:


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

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

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


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

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


Итог модуля:

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


ООП

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


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


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


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


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


Итог модуля:


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

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

В этом модуле вы погрузитесь в изучение Стандартной библиотеки шаблонов (STL) C++. STL предоставляет мощный набор контейнеров, алгоритмов и функциональных объектов, которые значительно упрощают и ускоряют разработку на C++. Вы изучите основные компоненты STL и научитесь эффективно их использовать в своих программах.


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

  • Работать с различными контейнерами STL (vector, list, map, set и др.)
  • Использовать итераторы для обхода и манипуляции элементами контейнеров
  • Применять алгоритмы STL для эффективной обработки данных
  • Использовать функциональные объекты и лямбда-выражения
  • Работать со строками и потоками ввода-вывода в STL
  • Применять умные указатели для автоматического управления памятью
  • Использовать адаптеры контейнеров (stack, queue, priority_queue)
  • Оптимизировать код с использованием возможностей STL


Итог модуля:

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


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

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


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


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


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


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


Итог модуля:


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

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

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


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

  • Создавать и управлять потоками с использованием std::thread
  • Применять мьютексы и блокировки для синхронизации доступа к общим ресурсам
  • Использовать условные переменные для координации работы потоков
  • Работать с атомарными операциями для безопасного доступа к данным
  • Применять модель памяти C++ для корректной работы с многопоточностью
  • Использовать async и future для асинхронного выполнения задач
  • Применять пул потоков для эффективного управления параллельными задачами
  • Отлаживать многопоточные приложения и решать проблемы гонки данных


Итог модуля:

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


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

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


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


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


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


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


Итог модуля:


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

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

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


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


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


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


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


Итог модуля:


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

IDE

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


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


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


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


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


Итог модуля:


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

Вы получите ключевые навыки:

Взаимодействие с интерфейсом системы UNIX — для разработки кросс-платформенных приложений

Работа с файлами и низкоуровневым вводом-выводом — для эффективного управления данными

Сборка статических и динамических библиотек — для создания модульных и расширяемых приложений

Работа с системами контроля версий, чтобы  эффективного управлять кодом в команде

Применение принципов объектно-ориентированного программирования — для создания структурированного и поддерживаемого кода

Разработка многопоточных приложений — для повышения эффективности использования ресурсов системы

Использование паттернов проектирования — для решения типовых задач разработки


Инструменты и технологии:

Язык программирования C++

Стандартная библиотека шаблонов (STL)

Фреймворки: GTest/GMock, gRPT, CUDA/OpenGl, Catch2, Silicon, PyTorch, TensorFlow

Системы контроля версий (например, Git)

Компиляторы: GCC, GDB

Интегрированные среды разработки (IDE)


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

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

По данным hh.ru, средняя зарплата — 145 000 ₽

52 000₽

после курса

116 000₽

лет

190 000₽+

более 5 лет
Зарабатывай в процессе обучения!

Зарабатывай в процессе обучения!

Уже во время обучения вы сможете брать проекты на фрилансе и выполнять их под руководством наших опытных преподавателей.

Вы научитесь

Карьера - Критическое мышление
Критическое мышление

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

Карьера - Работа в команде
Работа в команде

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

Карьера - Управление временем
Управление временем

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

Карьера - Адаптивность и решение проблем
Адаптивность и решение проблем

Вы научитесь быстро адаптироваться к новым условиям и изменениям в проектах. Способность решать проблемы и принимать решения в условиях неопределённости станет вашим ключевым преимуществом как специалиста.

Цены

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

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

189 200 руб.
232 153 руб.
при оплате полного курса
9 673 руб/мес
10 992 руб/мес
при рассрочке на 24 месяца
-14% скидка
Групповые

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

Старт занятий - 1 декабря

154 800 руб.
189 941 руб.
при оплате полного курса
7 914 руб/мес
9 233 руб/мес
при рассрочке на 24 месяца
Государство предоставляет поддержку и льготы не только профильным специалистам, но и IT-компаниям

Государство предоставляет поддержку и льготы не только профильным специалистам, но и IT-компаниям

IT-специалисты младше 30 лет получают отсрочку от призыва на срочную военную службу. Сотрудники IT-компаний могут купить квартиру в новостройке или построить частный дом в ипотеку по льготной ставке 5%Мы предоставим Вам все необходимые документы. Для уточнения деталей, свяжитесь с менеджером +7 (499) 288-09-08

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

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

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

Карьера - Оформление портфолио
Оформление портфолио

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

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

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

Лицензия на ведение образовательной деятельности

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

Сертификат после обучения

После успешного прохождения курса и сдачи проекта вы получите сертификат установленного образца, который дополнит ваше портфолио
Мы обучаем по государственной лицензии № Л035-01255-50/00639874
C++Сертификат после окончание курса школы Ycla coding

Как проходит обучение

Карьера - Регистрация
Регистрация

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

Карьера - Получение ссылки на обучение
Получение ссылки на обучение

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

Карьера - Обучение на платформе, просмотр уроков
Обучение на платформе, просмотр уроков

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

Карьера - Получение обратной связи
Получение обратной связи

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

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

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

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

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

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

Отзывы учеников и родителей

Юрийученик

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

Посмотреть отзыв

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

  • Кому подойдет курс С++

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

  • Как проходят уроки?

    Индивидуально или в группе. Урок длится 1 час, через Zoom. Занятие включает в себя: теорию, практику, ответы на вопросы, домашнюю работу и ее проверку. Во время урока у ученика выделяется время на создание своего проекта. Так он быстрее научится самостоятельно искать и исправлять ошибки.

  • Курс подойдёт новичкам?

    Да! Вам не нужно обладать специальными знаниями. Вы можете приступить к курсу будучи полным новичком в сфере программирования.

  • Могу ли я оплатить только те модули, которые интересны?

    Да, можете. Для уточнения цены интересующего вас модуля свяжитесь с менеджером школы программирования YCLA Coding +7 (499) 288-09-08

  • Какой результат после пройденного курса C++?

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

  • На какой курс можно пойти после прохождения курса C++?

    Вы можете изучить и расширить свои знания языков программирования, а также записаться на консультацию к преподавателям школы программирования YCLA Coding - мы всегда рады помочь!

  • Сколько зарабатывает С++ разработчик?

    Средняя зарплата С++ разработчика: Junior - 52 000₽, Middle - 116 000₽, Senior - 190 000₽ +

  • Сколько человек занимается в группе?

    В группе занимается до 4х человек.

Обратный звонок

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

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

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