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

ДЕНЬ

:

ЧАСОВ

:

МИНУТ

:

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

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

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

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

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

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

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

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

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

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

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

Купить курс
  • Иконка программыУникальная программа курса
  • Иконка пользователейИндивидуальный / групповой урок
  • Иконка уроковПостоянный доступ к видеозаписям уроков
  • Иконка 24 часаПоддержка преподавателя 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, средняя зарплата — 145 000 ₽

52 000₽

после курса

116 000₽

лет

190 000₽+

более 5 лет

Цены

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

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

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

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

Старт занятий - 1 августа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Юрийученик

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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