Разработчик C++

Особенности разработки программного обеспечения на C++
Подойдет ли мне этот курс?

Длительность

5 месяцев

Начало

26 сентября

Общая стоимость

50 000 ₽

В месяц

12 500 ₽

В кредит:

12500 ₽ в месяц

Что даст вам этот курс


  • Умение писать на С++ правильно.

  • Понимание современных проблем языка и специфики его применения.

  • Освоение паттернов проектирования, принципов написания многопоточного кода.

  • Знание, как взаимодействовать с сетью, хранить и обрабатывать большие объемы данных.

  • Владение нюансами программирования на С++, которые отличают разработчика уровня Middle от Junior.








Подробнее о программе курса

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






Обучено студентов 200+


32 практических занятия

8 работодателей пригласят лучших выпускников на собеседования
"Язык программирования может быть любым, при условии, что он C++"
Дмитрий Шебордаев
Преподаватель курса
Преподаватели
Сергей Кольцов
VisionLabs
Senior Developer С++ VisionLabs

Работает программистом уже почти 10 лет. Заинтересовался языками программирования ещё в школе. Начинал почти как и все в ту пору - с Delphi и Borland C++. Так что был заранее обречён на выбор профессии.

Работал как в крупных компаниях (Яндекс, Luxoft), так и в небольших организациях.

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

Окончил МГТУ им. Н.Э. Баумана в 2011 году, факультет "Информатика и системы управления".
Владимир Зацепин
Зацепин Владимир, руководитель разработки Рамблер/Почты. Окончил Военную академию связи в Санкт-Петербурге в 2008 году по специальности "Программное обеспечение автоматизированных систем управления". Одним словом, военный программист: выправка, дисциплина, патриотизм, очки и клавиатура. Свой трудовой путь начал с инженера клиентской поддержки в хостинге. До Рамблера 5 лет занимался разработкой в области криптографической защиты информации. За это время создал криптосервис для работы в СМЭВ, который используется во многих российских банках и госучреждениях. Всю сознательную жизнь пишу на C++. С 2016 года руковожу разработкой одного из старейших проектов Рунета с многомиллионной аудиторией пользователей, петабайтами хранимых данных, хайлоадом, распределенными БД, микросервисами и вот этим вот всем
Дмитрий Шебордаев
Rambler&Co
Руководитель отдела разработки технологий в Rambler&Co
Получил образование по специальности «Прикладная математика» в Московском государственном университете экономики статистики и информатики.
Начинал рядовым разработчиком в компании, автоматизирующей процессы розничной торговли. Автор одной из самых популярных систем в РФ и бывших республиках. Не прекращая активной деятельности в разработке, прошёл путь до руководителя. Последние несколько лет работает в области информационного поиска в крупной российской ИТ-компании. Остаётся верен своей профессии свыше 20 лет. Читает образовательные курсы по специальности.
Отзывы
Виталий
Петров
Добрый день. В целом курс очень понравился. Подача материала нашим преподавателем Дмитрием Шебордаевым - на высоте. Плюсов много, перечислять не буду, но останвлюсь на ряде пожеланий, собственно не обязательных =)

Субъективно, слишком много лекций отдано на DLib в конце (3 лекции + 2 домашки), я бы предпочел в рамках одной лекции кратко коснуться этой темы, а другие лекции потратить на:
1. Обзор литературы, которая может быть реально полезной в дальнейшем изучении (Ну к примеру "Искусство программирования для Unix", книги по CMake / системам сборки типа той что мелькала в Slack, книги по шаблонам проектирования, "Код. тайный язык информатики" и т.д.). Т.е. что-то техническое впремешку с просто познавательной литературой, так как часто бывает трудно понять какие из имеющихся в сети книг полезные, а какие шлак на который не стоит тратить время.
2. Можно рассказать о существовании статических анализаторов кода, типа PVS-Studio и других
3. Можно рассказать о профилировщиках, почему valgrind не всегда панацей (он работать удоачно только на Linux и чаще надежнее написать на коленке анализатор считающий микросекунды, встроенный в код, типа https://github.com/jonasmr/microprofile)
4. Интересно было бы послушать про связку C++ с другими языками (как например сделать биндинг для python?). Туда же lua как встраиваемый язык внутри C++.

Ну и т.д. Часть этих тем конечно затрагивалась в процессе обучения, но может стоит подумать над тем чтоб что-то из них вынести в отдельные лекции?
Читать целиком
Виталий
Петров
Добрый день. В целом курс очень понравился. Подача материала нашим преподавателем Дмитрием Шебордаевым - на высоте. Плюсов много, перечислять не буду, но останвлюсь на ряде пожеланий, собственно не обязательных =)

Субъективно, слишком много лекций отдано на DLib в конце (3 лекции + 2 домашки), я бы предпочел в рамках одной лекции кратко коснуться этой темы, а другие лекции потратить на:
1. Обзор литературы, которая может быть реально полезной в дальнейшем изучении (Ну к примеру "Искусство программирования для Unix", книги по CMake / системам сборки типа той что мелькала в Slack, книги по шаблонам проектирования, "Код. тайный язык информатики" и т.д.). Т.е. что-то техническое впремешку с просто познавательной литературой, так как часто бывает трудно понять какие из имеющихся в сети книг полезные, а какие шлак на который не стоит тратить время.
2. Можно рассказать о существовании статических анализаторов кода, типа PVS-Studio и других
3. Можно рассказать о профилировщиках, почему valgrind не всегда панацей (он работать удоачно только на Linux и чаще надежнее написать на коленке анализатор считающий микросекунды, встроенный в код, типа https://github.com/jonasmr/microprofile)
4. Интересно было бы послушать про связку C++ с другими языками (как например сделать биндинг для python?). Туда же lua как встраиваемый язык внутри C++.

Ну и т.д. Часть этих тем конечно затрагивалась в процессе обучения, но может стоит подумать над тем чтоб что-то из них вынести в отдельные лекции?
Читать целиком
Минимальные знания
Для успешного обучения и оптимального усвоения уроков вы должны знать:

1. Синтаксис языка программирования стандарта C++03:
— Переменные, функции, указатели
— Классы, структуры, union
— Переопределение операторов
— Наследование
— Исключения
— Понимание шаблонов в языке C++

2. Основы computer science:
— Простые алгоритмы и их оценки сложности
— Структуры данных и их применение
— Принципы работы с памятью - стек, heap

3. Основы SQL – некоторые уроки посвящены изучению работы с базами данных.

4. Основы многопоточного программирования: понятие deadlock не должно ставить Вас в deadlock.

Процесс обучения
Обучение программированию выстроено в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель дает развернутый фидбек. Преподаватель находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. в процессе обучения слушатель может задавать преподавателю вопросы по материалам лекций и домашних заданий, уточнять моменты, которые были непонятны на уроке.
Необходимое время на обучение: 4 часа на занятия и 4-8 часов на домашнюю работу в неделю.
Выпускной проект
Последний месяц обучения программированию посвящен выполнению проектной работы. Он поможет закрепить прикладным образом полученные на курсе знания и станет своеобразным портфолио, благодаря которому претендовать на позицию middle C++ разработчика и пройти собеседование станет значительно проще.


Примеры тем проекта:

— in-memory sql-сервер

— хранилище типа key-value

— очередь с моделью подписчиков
После обучения вы

  • заберете с собой материалы по всем занятиям (презентации, записи вебинаров, примеры практических задач);

  • получите сертификат о прохождении курса программирования на С++;

  • научитесь прикладному применению стандартов C++11 / C++14 / C++17;

  • освоите асинхронное и многопоточное программирование;

  • получите глубокое представление о шаблонной магии и паттернах проектирования;

  • получите приглашение пройти собеседование в компаниях-партнерах Otus в Москве (в случае успешного обучения на курсе).

Дата выдачи сертификата: 1 апреля 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Разработчик C++»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Разработчик C++»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.
Общая стоимость
50 000 ₽
В месяц: 12 500 ₽
Продолжительность
5 месяцев
Начало занятий
26 сентября