8 812 320 13 03
  • Новости
  • Расписание
  • Курсы
  • Организациям
  • Контакты
  • Перезвоните мне

    Курс C++ разработчик. Начальный

    Курс С++ разработчик (Старт)

    Курс С++ разработчик (Старт)
    Начало курса
    13.04.2024
    Продолжительность
    6 месяцев ()
    Расписание
    Сб 11:00 - 14:00


    Сб 11:00 - 14:00


    Онлайн
    (15 мест)
    Единовременно 48990 записаться
    В рассрочку / мес8000 записаться

    Описание курса

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

    Участники курса получат необходимые знания и навыки для старта в профессию Программист C++/ С++ разработчик. 

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


    В курсе участники познакомятся с такими инструментами разработчика, как:

    • Integrated Development Environment — система программных средств, используемая программистами для разработки программного обеспечения.
    • Code review (gerrit) — система рецензирования кода. Cистематическая проверка исходного кода программы с целью обнаружения и исправления ошибок, которые остались незамеченными в начальной фазе разработки.
    • Unit testing (Google mock) — модульное тестирование. Тестирование отдельного модуля программы с целью проверки ее работоспособности.
    • Системы контроля версий (Git) — система позволяющая хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
    • Сборка проекта (GNU make) — утилита использующая информацию о зависимостях файлов друг от друга и правил их удовлетворения, для формирования исполняемой программы

    Курсовые проекты / Практика:

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

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

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


    Возможные темы проектов: 
    • Мини игра в стиле «Pacman» — графическая библиотека (OpenGl, WinAPI, Borland...).
    • Детектор движения в видео потоке — библиотека работы с видео потоком (Gstreamer…)
    • Плеер — библиотека работы со звуком (vlc, alsa…)
    • База данных — библиотека работы с базами данных (sqlite…)
    • Шифрователь — библитеки шифрования (openssh…)
    • Умный дом — библиотеки работы с контроллерами (stm…)
    • Бот для игры
    Очень приветствуются ваши реальные задачи, которые необходимо решить. Приносите, будем разбирать на курсе вместе!:)



    Пример того, как проходит занятие:

    Программа

    развернуть

    1. Введение. Программа. IDE 

    • Краткая история С++
    • Назначения языка программирования
    • Компиляторы, интерпретаторы, линковщики  
    • Знакомство с IDE
    • Структура программы на языке С++
    • Полезная литература
    • Практика: Установка IDE  / Пишем 1-ю программу на С++
    • Домашнее задание
    развернуть

    2. GitHub. Основы синтаксиса языка

    • Системы контроля версий
    • Review кода
    • Системы счисления
    • Представление   информации   в   компьютере
    • Базовые типы данных
    • Переменные
    • Операции
    • Выражения
    • Практика: Регистрация на GitHub / Выкладывание кода в gerrit /Написание программ, выполняющих операции ветвления
    • Домашнее задание
    развернуть

    3. Отладка программ. Основы С/С++ (продолжение)

    • Отладка программ, gdb
    • Преобразование типов
    • Условные операторы
    • Циклы
    • Блок операторов
    • Практика: Написание программ вычисления математических рядов
    • Домашнее задание
    развернуть

    4. Функции. Рекурсия. Ввод / вывод

    • Функции
    • Рекурсия
    • Функции ввода и вывода данных
    • Практика: Написание функций, выполняющих логические операции и вычисления математических рядов / Написание программы «Ханойские башни», решение через рекурсию
    • Домашнее задание
    развернуть

    5. Введение в тестирование. Указатели. Массивы. Строки

    • Введение в тестирование
    • Модульное тестирование Gtest
    • Указатели. Операции работы с указателями
    • Массивы
    • Строки
    • Практика: Установка и наладка Gtest / Написание программ преобразования матриц / Написание программ преобразования строк
    • Домашнее задание
    развернуть

    6. Динамическое выделение памяти. Структуры данных

    • Динамическое выделение памяти.
    • Перечисления, Объединения, Битовые
    • Структуры данных
    • Работа с файлами
    • Практика: Разработка программы работы с фалами и записью и чтением данных - «База данных»
    • Домашнее задание
    развернуть

    7. Контрольная работа №1

    развернуть

    8. Препроцессор. GNU make

    • Препроцессор, макросы
    • GNU make
    • Практика: Сборка программы «База данных» для разных операционных систем
    • Домашнее задание
    развернуть

    9. Алгоритмы и структуры данных. Основы

    • Сложность алгоритмов
    • Сортировка
    • Поиск
    • Структуры данных
    • Практика: Реализация вектора на языке Си / Реализация дерева на языке Си.
    • Домашнее задание 
    развернуть

    10. Ссылки. Основы ООП

    • Ссылки
    • Понятие ООП
    • Понятие класса
    • Спецификаторы доступа
    • Конструкторы, деструкторы
    • Практика: Реализация списка на языке Си. / Реализация очереди на языке Си.
    • Домашнее задание 
    развернуть

    11. ООП (продолжение)

    • Методы класса
    • Операторы класса
    • Move семантика
    • Практика: Реализация строки на языке С++
    • Домашнее задание 
    развернуть

    12. Защита промежуточного проекта

    развернуть

    13. Ссылки. Конструкторы

    • Универсальные ссылки
    • Наследование
    • Виртуальные функции
    • Интерфейсы
    • Наследование конструкторов
    • Практика:
      • Уход от зависимостей от реализации, на зависимости от интерфейсов
    развернуть

    14. Динамическое выделение памяти. Умные указатели

    • Динамическое выделение памяти
    • Умные указатели
    • Методы работы с умными указателями
    • Практика:
      • Реализация фабрики
    развернуть

    15. Функциональные объекты. Лямбда-выражения. Стандартные алгоритмы

    • constexpt
    • Функциональные объекты
    • Лямбда выражения
    • Стандартные алгоритмы
      • std::find…
      • std::copy…
      • std::sort
      • std::binary_search..
      • std::equal
    • Практика:
      • Задачи на уменьшение асимптотической сложности при помощи сортировки и поиска
    развернуть

    16. Стандартные контейнеры

    • Стандартные контейнеры
      • std::vector
      • std::list
      • std::forward_list
      • std::array
      • std::deque
      • std::set
      • std::map
      • std::multiset
      • std::multimap
      • std::unordered_set
      • std::unordered_map
      • std::unordered_multiset
      • std::unordered_multimap
      • std::stack
      • std::queue
      • std::priority_queue
    • Стандартные итераторы
    • Практика:
      • Задачи на уменьшение асимптотической сложности при помощи стандаартных контейнеров
    развернуть

    17. Контрольная работа №2

    • Контрольная работа
    развернуть

    18. Исключения

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

    19. Потоки

    • Потоки
    • Примитивы синхронизации
    • Атомарные переменные
    • Future/promise
    • Практика: 
      • Реализация задачи нахождения БПФ с использованием параллельного программирования
      • Реализация очереди сообщений
    развернуть

    20. Работа с файлами

    • Работа с файлами
    • Работа с файловой системой
    • Строки
    • Потоки строк
    • Практика:
      • Работа с файлами настроек
      • Реализация простейшей БД хранящей данные в текстовом формате
    развернуть

    21. Шаблоны проектирования

    • Идиомы и паттерны проектирования
    • Распространенные идиомы
    • Практика:
      • Реализация COW строки
      • Реализация идиомы Pimpl
    развернуть

    22-25. Работа над курсовыми проектами

    развернуть

    26. Сдача курсовых проектов. Итоги

    • Сдача курсового проекта
    • Подведение итогов
    • Куда двигаться дальше?
    Документы после обучения
    По окончании обучения вы получите сертификат. Нас знают и ценят работодатели, поэтому сертификат станет вашим дополнительным преимуществом при трудоустройстве в IT-компанию. 


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

    Преподаватели

    Евгений

    Senior С++ Developer в одной из самых крупных ИТ-компаний РФ (NDA)

    Закончил БГТУ «Военмех» по специальности «Информатика и вычислительная техника».

    «Опыт разработки на С++ более 7-ми лет. За это время усвоил одну простую истину - C++ это
    универсальный язык. Хотите написать игру - берите С++. Хотите написать сервер - 
    берите С++. Хочется графический интерфейс - возьмите С++ и прилепите на него бантик. Хотите кошку, которая будет смотреть на мир через сложную систему зеркал? Ну Вы поняли...

    На курсе будет сложно, мы по шагам будем идти к цели, и надеюсь, что в результате большинство участников курса устроятся на работу и будут развиваться, как разработчики.
    Мы пройдем все от «А что такое программирование?» до «Что то мне лень писать программу, напишу программу, что бы она написала программу за меня» - говорит Евгений.

    Михаил

    Senior C++ Developer в компании 2GIS.

    Закончил мех-мат ЮФУ по специальности "Прикладная математика и информатика".

    Опыт разработки более 7-ми лет. За это время попробовал не мало различных технологий и языков программирования, но большую часть времени занимался разработкой на С++ и всем, что с ним связано.
    В данный момент Михаил работает программистом в компании Яндекс. В решении задач использует как С++, так и Python.

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

    Фото с очных занятий в СПб

    Отзывы

    Всего отзывов: 11
    Курс С++ разработчик (Старт)
    Сергей Панкратов
    Санкт-Петербург

    С++ непростой старт для новичка. Влад рассказывал все простым языком, старался держаться применимости языка в “реальном мире”. Курс понравился.

    Курс С++ разработчик (Старт)
    Андрей
    г. Санкт-Петербург

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

    Курс С++ разработчик (Старт)
    Илья Рубцов
    Санкт-Петербург

    Тренер объясняет  достаточно понятно, когда что-то непонятно, то он старается показать на реальных примерах, это очень здорово. Думал научусь "2+2", но узнал намного больше того, на что рассчитывал. Спасибо!

    Курс С++ разработчик (Старт)
    Павел Богачёв
    Санкт-Петербург

    Всё понравилось!

    Курс С++ разработчик (Старт)
    Владислав Тельнов
    Санкт-Петербург

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

    Курс С++ разработчик (Старт)
    Сергей Железнов
    Санкт-Петербург

    Хочу сказать спасибо за этот курс, это действительно хороший старт в изучении программирования и мне он очень помог начать учиться! Понравилось как все организовано. Отдельное спасибо Михаилу, объясняет все очень доступно, слушать его интересно. Понравилось как все организовано, постоянная связь с преподавателем и другими учениками. Единственный минус, время пролетело почти не заметно.

    Курс С++ разработчик (Старт)
    Никита
    Санкт-Петербург

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

    Курс С++ разработчик (Старт)
    Василий Фёдоров
    Санкт-Петербург

    Курс очень понравился, множество положительных впечатлений. Михаил объяснял всё предельно доходчиво и отвечал на все возникающие вопросы по ходу занятий и в домашних заданиях. Конечно, хотелось бы большую продолжительность курса в целом, чтобы больше разобрать все детали. Самое главное, что после прохождения курса желание изучать данный язык программирования никуда не ушло, а наоборот усилилось. Так что в дальнейшем планирую уделить, как можно больше времени на изучение и понимание всех аспектов программирования на С++. Огромное спасибо команде LevelUP, Михаилу и моим однокурсникам за отличное времяпрепровождение и знания (и чай с вкусняшками =)).

    Курс С++ разработчик (Старт)
    Евгений
    Санкт-Петербург

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

    Курс С++ разработчик (Старт)
    Максим
    Санкт-Петербург

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

    Курс С++ разработчик (Старт)
    Алексей Данилов
    Санкт-Петербург

    В целом курс очень понравился. Узнал много нового. Особо отмечу практическое применение полученных теоретических навыков, сильно развивает. На мой взгляд курс сложен для понимания тем, кто вообще с "нуля" пришёл. Хотелось бы увеличить количество часов, затрачиваемых на обучение.

    Показать больше
    Курсы программирования, тестирования, мобильных и веб-технологий от Level UP!
    Учитесь с профессионалами в сфере IT-образования!