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

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

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

5 месяцев

Начало

26 сентября

Занятия

Чт 20:00, Пн 20:00

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

60 000 ₽

В месяц

15 000 ₽

В кредит:

15000 ₽ в месяц

Хочу дешевле
Общая стоимость
60 000 ₽
В месяц: 15 000 ₽
В кредит: 60000 ₽
в месяц
Продолжительность
5 месяцев, 4 академических часа в неделю
Чт 20:00, Пн 20:00
Начало занятий
26 сентября
Что даст вам этот курс


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

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

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

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

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







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

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






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


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

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

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

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

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

Окончил МГТУ им. Н.Э. Баумана в 2011 году, факультет "Информатика и системы управления".

Преподаватель
Зацепин Владимир, руководитель разработки Рамблер/Почты. Окончил Военную академию связи в Санкт-Петербурге в 2008 году по специальности "Программное обеспечение автоматизированных систем управления". Одним словом, военный программист: выправка, дисциплина, патриотизм, очки и клавиатура. Свой трудовой путь начал с инженера клиентской поддержки в хостинге. До Рамблера 5 лет занимался разработкой в области криптографической защиты информации. За это время создал криптосервис для работы в СМЭВ, который используется во многих российских банках и госучреждениях. Всю сознательную жизнь пишу на C++. С 2016 года руковожу разработкой одного из старейших проектов Рунета с многомиллионной аудиторией пользователей, петабайтами хранимых данных, хайлоадом, распределенными БД, микросервисами и вот этим вот всем

Преподаватель
Руководитель отдела разработки технологий в Rambler&Co
Получил образование по специальности «Прикладная математика» в Московском государственном университете экономики статистики и информатики.
Начинал рядовым разработчиком в компании, автоматизирующей процессы розничной торговли. Автор одной из самых популярных систем в РФ и бывших республиках. Не прекращая активной деятельности в разработке, прошёл путь до руководителя. Последние несколько лет работает в области информационного поиска в крупной российской ИТ-компании. Остаётся верен своей профессии свыше 20 лет. Читает образовательные курсы по специальности.

Руководитель программы
Один из разработчиков и academy.cppstudio.com - бесплатного интерактивного сервиса по обучению С++. Свыше 5 лет опыта разработки приложений на C++ и C#.
Используемые технологии и фрэймворки:
WPF, WinForms, EF6, ASP.NET MVC5, ASP.NET Core 2.

Преподаватель
Сергей
Кольцов
Владимир
Зацепин
Дмитрий
Шебордаев
Андрей
Иванов
Преподаватели
Сергей Кольцов
VisionLabs
Senior Developer С++ VisionLabs

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

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

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

Окончил МГТУ им. Н.Э. Баумана в 2011 году, факультет "Информатика и системы управления".

Преподаватель
Владимир Зацепин
Зацепин Владимир, руководитель разработки Рамблер/Почты. Окончил Военную академию связи в Санкт-Петербурге в 2008 году по специальности "Программное обеспечение автоматизированных систем управления". Одним словом, военный программист: выправка, дисциплина, патриотизм, очки и клавиатура. Свой трудовой путь начал с инженера клиентской поддержки в хостинге. До Рамблера 5 лет занимался разработкой в области криптографической защиты информации. За это время создал криптосервис для работы в СМЭВ, который используется во многих российских банках и госучреждениях. Всю сознательную жизнь пишу на C++. С 2016 года руковожу разработкой одного из старейших проектов Рунета с многомиллионной аудиторией пользователей, петабайтами хранимых данных, хайлоадом, распределенными БД, микросервисами и вот этим вот всем

Преподаватель
Дмитрий Шебордаев
Rambler&Co
Руководитель отдела разработки технологий в Rambler&Co
Получил образование по специальности «Прикладная математика» в Московском государственном университете экономики статистики и информатики.
Начинал рядовым разработчиком в компании, автоматизирующей процессы розничной торговли. Автор одной из самых популярных систем в РФ и бывших республиках. Не прекращая активной деятельности в разработке, прошёл путь до руководителя. Последние несколько лет работает в области информационного поиска в крупной российской ИТ-компании. Остаётся верен своей профессии свыше 20 лет. Читает образовательные курсы по специальности.

Руководитель программы
Андрей Иванов
Один из разработчиков и academy.cppstudio.com - бесплатного интерактивного сервиса по обучению С++. Свыше 5 лет опыта разработки приложений на C++ и C#.
Используемые технологии и фрэймворки:
WPF, WinForms, EF6, ASP.NET MVC5, ASP.NET Core 2.

Преподаватель
Отзывы
11
Дмитрий
Сыромятников
Большой, хороший курс. Преподаватели и преподавание приятно удивили, особенно разъяснения Дмитрия Шебордаева и настойчивость Василия Зазнобина в прививании продакшен-навыков. А какая замечательная атмосфера курса, взаимопомощь, общение. Результат: очень доволен, курс был много лучше моих ожиданий. Спасибо за обучение!
P.S. Отдельно спасибо Отус за возможность.
Читать целиком
Денис
Кирюшин
Курс действительно для тех, кто уже неплохо знает С++. Домашние задания оказались несколько сложнее (и интереснее), чем я думал. Выходных на их решение мне не хватало. Те, кто только будет проходить курс, не откладывайте простые начальные задания в долгий ящик. Со второй половины задачи куда сложнее! Вебинары часто не дают прямого ответа, как сделать домашку, приходится так же читать материалы самостоятельно. Но без вебинаров я бы не смог разобраться в таких сложных темах, как асинхронное программирование, метапрограммирование, многопоточность. Объяснения подробные и вполне ясные, с обратной связью. Очень интересная практика ревью домашек у коллег по курсу. Из их ревью узнаёшь так же не мало нового, а ревьювируя их замечаешь практики, которые раньше не видел. В целом, благодоря домашкам и ревью, неплохо так подтягиваешь знание языка. Короче говоря, курсы понравились, хотя временами было сложновато.
Читать целиком
Татьяна
Емельянова
Курс очень понравился, как интересными лекциям в лице Дмитрия Шебордаева, так и проверкой домашних заданий Василием Зазнобиным с четкими и емкими комментариями/замечаниями.
Опыт взаимного кода-ревью (которого у меня не было до поступления на курс) был весьма познавателен. Не столько опытом взаимного обогащения знаниями, но, в большей степени, опытом взаимного общения с коллегами :). Хотя, надо признаться, времени на последних домашних работах это отнимало очень много. Вторая половина курса, на мой взгляд, более требовательна по времени, чем первая, и это надо учитывать при прохождении курса.
В самом курсе для меня был большой процент новизны (практически все темы), опыт программирования на С/C++ был, и было участие в достаточно большом промышленном проекте, но это был опыт самоучки. Знания стандартов C++11 и C++14, шаблонов и пр. ограничивалось небольшим курсом на Stepik, где я проходила самостоятельное обучение.
От курса хотелось получить максимального количества знаний в, по–возможности, минимальные сроки. Также хотелось адекватно оценить свои пробелы в знаниях.
Все это я от курса получила.
Читать целиком
Евгений
Очень интересный и насыщенный курс. Особая ценность в домашних заданиях, в процессе выполнения которых приходится изучить много материала, в том числе чтобы закрыть пробелы в смежных темах, что очень полезно. Обучение и выполнение ДЗ занимает много времени, но польза от этого несомненна.
Отдельно хочется отметить преподавательский талант Дмитрия Шебордаева и то как он может объяснить сложные вещи простыми и понятыми словами.
Курс развивается - добавляются новые темы, на втором потоке добавилась практика ревью кода однокурсников, и дальше похоже будет только лучше.
Всем советую эти курсы!
Читать целиком
Владимир
Невзоров
Пишу отзыв с нового рабочего места :) (Москва). Но это в курсе не главное.

За те пол года, которые шел курс, думал написать положительные отзывы и каждый раз отзыв получился бы с какой-то новой окраской.
В начале было бы:
"Вау! Вот это курс! Вот это преподаватели! Вот это подача материала! Так интересно и понятно!"
Затем:
"Домашки интересные и сложные. Тут надо посидеть... Почему так сложно? Мне одному?"
Затем:
"Вот это домашки продуманы! Они помогают думать, включать мозг еще на этапе чтения задания", - как оказалось, вникание в суть задания - тоже целый процесс.

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

Это лично мой опыт. Кому-то курсы дались легче, кому-то сложней.

Главное преимущество пройденного курса считаю:
1. Профессиональный преподавательский состав;
2. Интересная и раскрашенная подача материала;
3. Продуманность курса - хороший охват многих вещей как в С++, так и в целом разработки;
4. Дополнительное общения "под огурчик" :) Когда можно поговорить в целом про программистскую жизнь, про обучение и не только;
5. Супер возможность - общение в slack'e. Там и обсуждение, уточнение задания, вопросы-ответы, общение в групповом чате и лично.
Ну и, наверное, энтузиазм от того, что все вместе решаем интересные задачи, а также потому, что курсы ведут практикующие преподаватели-эксперты.
Читать целиком
Жанбек
Сарсенов
Курс мне очень понравился.

Да, он для тех, кто, как минимум, хорошо владеет:

1) основами синтаксиса языка C++ стандарта 2003 года;
2) знаниями по основным структурам и алгоритмам данных;
3) конечно же STL (это наше всё);

Также желательно иметь хотя бы общее представление о принципах работы СУБД и знать основные команды языка SQL.

Если Вы владеете вышеперечисленными навыками и желаете:

1) систематизировать имеющиеся знания по С++,

2) погрузиться в современные стандарты языка С++ 11-го, 14-го и 17-го годов,

3) узнать о паттернах / антипаттернах проектирования программного обеспечения

4) узнать об основных областях и трендах применения этого замечательного языка в современном мире,

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

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

Ну и т.д. Часть этих тем конечно затрагивалась в процессе обучения, но может стоит подумать над тем чтоб что-то из них вынести в отдельные лекции?
Читать целиком
Валерий
Родин
Ну что сказать мне 33 года, я немного уставший от жизни семейный человек с обычной иногда в меру интересной, иногда в меру унылой работой.
Чего я ожидал от данного курса? Подтянуть свои знания по с++ (так как это мое основное средство к существованию:) )
Оправдались ли мои ожидания? Да черт возьми! Эти полгода были реально крутым событием в моей скучной жизни!!! Я окунулся в атмосферу универа, который закончил 10 лет назад. Но не того отстойного универа с преподами предпенсионного возраста, измученными жизнью и реформами образования, а того универа каким он должен быть, с преподавателями, которые находятся на острие прогресса, которых хочется слушать , на которых хочется равняться.
И, если лет через 15, когда мои дети пойдут в универ, можно будет выбрать между обычным универом и чем то подобным отусу, то мой выбор будет очевиден и я реально лучше заплачу за образование))).

В итоге что мне дал курс этот курс?
- выход на новый для меня уровень владения языком
- понимание механизмов его работы и его истинного предназначения
- осознание моментов языка которые я не понимал, и знакомство с новыми механизмами которые еще предстоит понять))
- да классно то что курс получился как бы не только по с++, а в целом очень сильно
расширяющим кругозор в программировании (модули про паттерны, многопоточку, базы данных)
- желание попробовать изучить альтернативный язык)) так как после курса в голову закрались мысли о том что возможно на данный момент в изучении языка уже достигнут определенный порог, после которого уже вроде и нечего изучать, если
только начать вдаваться в дебри метапрограммирования, учить все его идиомы
https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms

В итоге мои ожидания оправдались на 120% Жалею лишь о том что
не успел доделать и сдать все домашние работы и проектную работу.
Спасибо Сергей! Спасибо Отус! Вы навсегда останетесь в моей памяти;)
Читать целиком
Бородин
Сергей
Очень профессиональный курс. Я получил от него все что для меня требуется. Оценил сложность домашних заданий. Хоть их и не выполнял, т.к. помимо основной работы есть другие занятия, но постановка задач приятно удивила. Главное - хорошая лекционная подготовка, от нее я узнал много нового. Материала много, материал качественный.

Единственный недостаток курса - это малое количество письменного материала (слайдов). Иногда хочется иметь под рукой не только видео-лекции, ссылки на ресурсы и исходный код, но и качественную справочную выжимку составленную самим курсом. В идеале - что-то вроде методического учебника.
Читать целиком
Дмитрий
Дунюшкин
Спасибо, полезный курс, правда у меня с ним не сложилось. В начале было очень тяжело разобраться c схемой continuous integration и с CMake так как раньше с этим не сталкивался, а после одного занятия было вообще не понятно как приступать к домашкам. То есть взять пример и залить на гитхаб-то можно, но что там в нем написано самостоятельно разбирался месяца 2. Поэтому первую домашку сделал только в апреле вроде. Да и вообще у меня так получилось, что я заплатил деньги и серьезно заболел (проблемы с позвоночником), подолгу сидеть за компом не мог и месяца 3 вообще им не занимался. В мае только мне стало лучше и начал что-то сам догонять. В общем просто не сложилось у меня, а так наверно ничего ..
Читать целиком
Александр
Очень полезный курс. Все разбирается действительно глубоко и детально. Даже имея за плечами более 7 лет опыта разработки приложений нашел для себя этот курс полезным + повторил те аспекты языка, которыми давно не пользовался.
Читать целиком
Дмитрий
Сыромятников
Большой, хороший курс. Преподаватели и преподавание приятно удивили, особенно разъяснения Дмитрия Шебордаева и настойчивость Василия Зазнобина в прививании продакшен-навыков. А какая замечательная атмосфера курса, взаимопомощь, общение. Результат: очень доволен, курс был много лучше моих ожиданий. Спасибо за обучение!
P.S. Отдельно спасибо Отус за возможность.
Читать целиком
Денис
Кирюшин
Курс действительно для тех, кто уже неплохо знает С++. Домашние задания оказались несколько сложнее (и интереснее), чем я думал. Выходных на их решение мне не хватало. Те, кто только будет проходить курс, не откладывайте простые начальные задания в долгий ящик. Со второй половины задачи куда сложнее! Вебинары часто не дают прямого ответа, как сделать домашку, приходится так же читать материалы самостоятельно. Но без вебинаров я бы не смог разобраться в таких сложных темах, как асинхронное программирование, метапрограммирование, многопоточность. Объяснения подробные и вполне ясные, с обратной связью. Очень интересная практика ревью домашек у коллег по курсу. Из их ревью узнаёшь так же не мало нового, а ревьювируя их замечаешь практики, которые раньше не видел. В целом, благодоря домашкам и ревью, неплохо так подтягиваешь знание языка. Короче говоря, курсы понравились, хотя временами было сложновато.
Читать целиком
Татьяна
Емельянова
Курс очень понравился, как интересными лекциям в лице Дмитрия Шебордаева, так и проверкой домашних заданий Василием Зазнобиным с четкими и емкими комментариями/замечаниями.
Опыт взаимного кода-ревью (которого у меня не было до поступления на курс) был весьма познавателен. Не столько опытом взаимного обогащения знаниями, но, в большей степени, опытом взаимного общения с коллегами :). Хотя, надо признаться, времени на последних домашних работах это отнимало очень много. Вторая половина курса, на мой взгляд, более требовательна по времени, чем первая, и это надо учитывать при прохождении курса.
В самом курсе для меня был большой процент новизны (практически все темы), опыт программирования на С/C++ был, и было участие в достаточно большом промышленном проекте, но это был опыт самоучки. Знания стандартов C++11 и C++14, шаблонов и пр. ограничивалось небольшим курсом на Stepik, где я проходила самостоятельное обучение.
От курса хотелось получить максимального количества знаний в, по–возможности, минимальные сроки. Также хотелось адекватно оценить свои пробелы в знаниях.
Все это я от курса получила.
Читать целиком
Евгений
Очень интересный и насыщенный курс. Особая ценность в домашних заданиях, в процессе выполнения которых приходится изучить много материала, в том числе чтобы закрыть пробелы в смежных темах, что очень полезно. Обучение и выполнение ДЗ занимает много времени, но польза от этого несомненна.
Отдельно хочется отметить преподавательский талант Дмитрия Шебордаева и то как он может объяснить сложные вещи простыми и понятыми словами.
Курс развивается - добавляются новые темы, на втором потоке добавилась практика ревью кода однокурсников, и дальше похоже будет только лучше.
Всем советую эти курсы!
Читать целиком
Владимир
Невзоров
Пишу отзыв с нового рабочего места :) (Москва). Но это в курсе не главное.

За те пол года, которые шел курс, думал написать положительные отзывы и каждый раз отзыв получился бы с какой-то новой окраской.
В начале было бы:
"Вау! Вот это курс! Вот это преподаватели! Вот это подача материала! Так интересно и понятно!"
Затем:
"Домашки интересные и сложные. Тут надо посидеть... Почему так сложно? Мне одному?"
Затем:
"Вот это домашки продуманы! Они помогают думать, включать мозг еще на этапе чтения задания", - как оказалось, вникание в суть задания - тоже целый процесс.

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

Это лично мой опыт. Кому-то курсы дались легче, кому-то сложней.

Главное преимущество пройденного курса считаю:
1. Профессиональный преподавательский состав;
2. Интересная и раскрашенная подача материала;
3. Продуманность курса - хороший охват многих вещей как в С++, так и в целом разработки;
4. Дополнительное общения "под огурчик" :) Когда можно поговорить в целом про программистскую жизнь, про обучение и не только;
5. Супер возможность - общение в slack'e. Там и обсуждение, уточнение задания, вопросы-ответы, общение в групповом чате и лично.
Ну и, наверное, энтузиазм от того, что все вместе решаем интересные задачи, а также потому, что курсы ведут практикующие преподаватели-эксперты.
Читать целиком
Жанбек
Сарсенов
Курс мне очень понравился.

Да, он для тех, кто, как минимум, хорошо владеет:

1) основами синтаксиса языка C++ стандарта 2003 года;
2) знаниями по основным структурам и алгоритмам данных;
3) конечно же STL (это наше всё);

Также желательно иметь хотя бы общее представление о принципах работы СУБД и знать основные команды языка SQL.

Если Вы владеете вышеперечисленными навыками и желаете:

1) систематизировать имеющиеся знания по С++,

2) погрузиться в современные стандарты языка С++ 11-го, 14-го и 17-го годов,

3) узнать о паттернах / антипаттернах проектирования программного обеспечения

4) узнать об основных областях и трендах применения этого замечательного языка в современном мире,

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

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

Ну и т.д. Часть этих тем конечно затрагивалась в процессе обучения, но может стоит подумать над тем чтоб что-то из них вынести в отдельные лекции?
Читать целиком
Валерий
Родин
Ну что сказать мне 33 года, я немного уставший от жизни семейный человек с обычной иногда в меру интересной, иногда в меру унылой работой.
Чего я ожидал от данного курса? Подтянуть свои знания по с++ (так как это мое основное средство к существованию:) )
Оправдались ли мои ожидания? Да черт возьми! Эти полгода были реально крутым событием в моей скучной жизни!!! Я окунулся в атмосферу универа, который закончил 10 лет назад. Но не того отстойного универа с преподами предпенсионного возраста, измученными жизнью и реформами образования, а того универа каким он должен быть, с преподавателями, которые находятся на острие прогресса, которых хочется слушать , на которых хочется равняться.
И, если лет через 15, когда мои дети пойдут в универ, можно будет выбрать между обычным универом и чем то подобным отусу, то мой выбор будет очевиден и я реально лучше заплачу за образование))).

В итоге что мне дал курс этот курс?
- выход на новый для меня уровень владения языком
- понимание механизмов его работы и его истинного предназначения
- осознание моментов языка которые я не понимал, и знакомство с новыми механизмами которые еще предстоит понять))
- да классно то что курс получился как бы не только по с++, а в целом очень сильно
расширяющим кругозор в программировании (модули про паттерны, многопоточку, базы данных)
- желание попробовать изучить альтернативный язык)) так как после курса в голову закрались мысли о том что возможно на данный момент в изучении языка уже достигнут определенный порог, после которого уже вроде и нечего изучать, если
только начать вдаваться в дебри метапрограммирования, учить все его идиомы
https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms

В итоге мои ожидания оправдались на 120% Жалею лишь о том что
не успел доделать и сдать все домашние работы и проектную работу.
Спасибо Сергей! Спасибо Отус! Вы навсегда останетесь в моей памяти;)
Читать целиком
Бородин
Сергей
Очень профессиональный курс. Я получил от него все что для меня требуется. Оценил сложность домашних заданий. Хоть их и не выполнял, т.к. помимо основной работы есть другие занятия, но постановка задач приятно удивила. Главное - хорошая лекционная подготовка, от нее я узнал много нового. Материала много, материал качественный.

Единственный недостаток курса - это малое количество письменного материала (слайдов). Иногда хочется иметь под рукой не только видео-лекции, ссылки на ресурсы и исходный код, но и качественную справочную выжимку составленную самим курсом. В идеале - что-то вроде методического учебника.
Читать целиком
Дмитрий
Дунюшкин
Спасибо, полезный курс, правда у меня с ним не сложилось. В начале было очень тяжело разобраться c схемой continuous integration и с CMake так как раньше с этим не сталкивался, а после одного занятия было вообще не понятно как приступать к домашкам. То есть взять пример и залить на гитхаб-то можно, но что там в нем написано самостоятельно разбирался месяца 2. Поэтому первую домашку сделал только в апреле вроде. Да и вообще у меня так получилось, что я заплатил деньги и серьезно заболел (проблемы с позвоночником), подолгу сидеть за компом не мог и месяца 3 вообще им не занимался. В мае только мне стало лучше и начал что-то сам догонять. В общем просто не сложилось у меня, а так наверно ничего ..
Читать целиком
Александр
Очень полезный курс. Все разбирается действительно глубоко и детально. Даже имея за плечами более 7 лет опыта разработки приложений нашел для себя этот курс полезным + повторил те аспекты языка, которыми давно не пользовался.
Читать целиком
Минимальные знания
Для успешного обучения и оптимального усвоения уроков вы должны знать:

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

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

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

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

Процесс обучения
Обучение программированию выстроено в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель дает развернутый фидбек. Преподаватель находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. в процессе обучения слушатель может задавать преподавателю вопросы по материалам лекций и домашних заданий, уточнять моменты, которые были непонятны на уроке.
Необходимое время на обучение: 4 часа на занятия и 4-8 часов на домашнюю работу в неделю.
Программа обучения
Модуль 1
Современный C++
Модуль 2
Архитектура
Модуль 3
Параллельные вычисления
Модуль 4
Сеть
Модуль 5
Хранилища
Модуль 6
ML
Модуль 7
Проектная работа
Современный C++
CI/CD. C++11. C++14. C++17. Управление памятью. Шаблонная магия
Тема 1: Система сборки: build, test and deploy.
познакомиться и понять, как будем работать,
узнать, с кем и как общаться,
понять, зачем нужна автоматизация сборки,
расшифровывать аббревиатуру CI/CD,
подготовить стенд для выполнения самостоятельных работ
26 сентября, 20:00 — 21:30
Лектор: Дмитрий Шебордаев
Домашние задания: 1
1 ДЗ-1. Сборка и публикация пакета
В это самостоятельной работе создаём сборочную ферму для работы по схеме CI/CD на протяжении всего курса.

Что требуется сделать:
1. Выполнить задание, описанное в 01.homework.pdf
2. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com с реализованным проектом;
- ссылку на проект на travis-ci.org с историей (и хотя бы одной успешной) сборок;
- ссылку на репозиторий bintray.com, откуда можно скачать получившийся deb-пакет.
Тема 2: Особенности C++11. auto, lambda, tuple
узнать новые фичи C++11 (пригодится дальше по курсу),
обсудить особенности, которые важно учитывать
30 сентября, 20:00 — 21:30
Тема 3: Особенности C++11. Move, variadic templates.
освежить основы по C++11 (пригодится дальше по курсу),
узнать новые детали,
обсудить особенности, которые стоит учитывать
3 октября, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-02. Фильтрация IP-адресов
В это самостоятельной работе применяем изученные на занятиях возможности новых стандартов языка (C++11/C++14). Используем ранее созданную сборочную ферму.

Что требуется сделать:
1. Выполнить задание описанное в 02.homework.pdf

2. Зарегистрироваться в http://acm.timus.ru
Решить первые пять простых задач:
1001 1000 1785 1293 2012

3. Опционально!
Реализовать constexpr-функцию нахождения ближайшей большей степени двойки
https://goo.gl/CBfjE9

4. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com с реализованным проектом;
- ссылку на проект на travis-ci.org с историей (и хотя бы одной успешной) сборок;
- ссылку на репозиторий bintray.com, откуда можно скачать получившийся deb-пакет;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач.
Тема 4: Сравнение C++11/C++14 с С++ 03
освежить знания по C++14,
узнать новые детали,
обсудить особенности С++ 14, на которые стоит обратить внимание
7 октября, 20:00 — 21:30
Тема 5: Обзор C++17. Constexpr lambda. Fold expression. Attributes. Type deduction.
разобраться с основными нововведениями С++ 17,
понять, в каких случаях они используются,
обойти несколько спорных моментов
10 октября, 20:00 — 21:30
Тема 6: Обзор C++17. If constexpr. Structured bindings. Statements with initializer. Std::filesystem.
разобраться с основными нововведениями С++17
понять кейсы использования
обcудить несколько тонких моментов
научиться пользоваться новым стандартом языка
14 октября, 20:00 — 21:30
Тема 7: Реализация умных указателей
запомнить правило: "взял память - верни, когда больше не нужна",
понять, как следовать этому правилу,
разобраться с разными типами умных указателей
17 октября, 20:00 — 21:30
Тема 8: Идея аллокаторов
осознать важность стратегий аллокации памяти,
понять, что можно использовать разные аллокаторы,
разобраться, как реализовать свой аллокатор,
понять, как расширяется std::vector, и почему именно так
21 октября, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-03. allocator
В это самостоятельной работе реализуем собственный аллокатор, используем его в стандартных контейнерах. Пишем свой контейнер и пробуем использовать аллокатор.

Что требуется сделать:
1. Выполнить задание описанное в 03.homework.pdf

2. На acm.timus.ru выполнить задачи:
1409, 1877, 2001, 1264, 1787

3. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач.
Тема 9: Шаблонная магия
перестать бояться шаблонов,
пообещать себе перестать пользоваться макросами,
читать STL,
искать документацию
24 октября, 20:00 — 21:30
Архитектура
Принципы проектирования ПО, GRASP, шаблоны GoF, STL, Boost
Тема 1: Принципы проектирования ПО
разобраться, зачем нужны принципы;
научиться пользоваться принципами;
научиться читать UML диаграммы.
28 октября, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-04. Doxygen
В это самостоятельной работе применяем полученные знания про шаблоны, реализуем функционал вывода IP-адреса в общем виде, подключаем к своему проекту doxygen и генерируем документацию.

Что требуется сделать:
1. Выполнить задание описанное в 04.homework.pdf

2. Решить первые 15 задач на acm.timus.ru (от простых к сложным). Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty

3. Сделать ревью решений ДЗ-02 двух коллег (которые его выполнили)

4. Опционально: предоставить примеры, из своей практики, использования Принципов Проектирования

5. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- ссылки на выполненные ревью.
Тема 2: GRASP
обращать внимание на архитектурные детали кода,
улучшать метрики кода,
находить ошибки в коде коллег
31 октября, 20:00 — 21:30
Тема 3: Шаблоны GoF. Порождающие.
читать и использовать паттерны проектирования,
понять ценность экспериментов с паттернами
4 ноября, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-05. Editor.
В это самостоятельной работе разрабатываем архитектуру проекта, применяем полученные знания принципов проектирования, используем паттерны, генерируем документацию.

Что требуется сделать:
1. Выполнить задание, описанное в 05.homework.pdf

2. На acm.timus.ru решить любые 3 задачи с уровнем сложности от 100 до 150.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Сделать ревью решений ДЗ-03 двух коллег (которые его выполнили).

4. Опционально: сделать ревью на ревью ДЗ-02.

5. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- ссылки на выполненные ревью;
- опционально: ссылку на ревью на ревью.
Тема 4: Шаблоны GoF. Структурные
читать и использовать паттерны проектирования,
понять ценность экспериментов с паттернами
7 ноября, 20:00 — 21:30
Тема 5: Шаблоны GoF. Поведенческие. Command, Interpreter, Iterator, Mediator, Memento, Chain of responsibilily
читать и использовать паттерны проектирования,
понять ценность экспериментов с паттернами
11 ноября, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-06. Matrix.
В это самостоятельной работе создаём проект бесконечной разряженной матрицы с использованием паттернов проектирования, не забываем про принципы и документацию.

Что требуется сделать:
1. Выполнить задание, описанное в 06.homework.pdf

2. На acm.timus.ru решить любые 3 задачи с уровнем сложности от 151 до 200.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Сделать ревью решений ДЗ-04 двух коллег (которые его выполнили).

4. Опционально: сделать ревью на РЕВЬЮ ДЗ-03.

5. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- ссылки на выполненные ревью;
- опционально: ссылку на ревью на ревью.
Тема 6: Шаблоны GoF. Поведенческие. Observer, State, Strategy, Template method, Visitor
научиться читать паттерны проектирования,
научиться использовать паттерны,
понять ценность экспериментов.
14 ноября, 20:00 — 21:30
Тема 7: STL. Контейнеры.
понять, какие типы контейнеров есть в STL;
настраивать поведение контейнеров.
18 ноября, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-07. cmd
В это самостоятельной работе реализуем проект обработки последовательностей команд фиксированного и произвольного размера. Стремимся к снижению зависимостей между модулями.

Что требуется сделать:
1. Выполнить задание, описанное в 07.homework.pdf

2. На acm.timus.ru решить 3 любые задачи с уровнем сложности от 201 до 300.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Сделать ревью решений ДЗ-05 двух коллег (которые его выполнили).

4. Опционально: сделать ревью на ревью ДЗ-04.

5. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- ссылки на выполненные ревью;
- опционально: ссылку на ревью на ревью.
Тема 8: STL. Алгоритмы.
понять, зачем нужны алгоритмы в STL и почему их так много;
использовать алгоритмы в STL
21 ноября, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-08. timus
В это самостоятельной работе практикуемся в использовании STL, стараемся использовать разные контейнеры и алгоритмы для решения разных задач.

Что требуется сделать:
1. Выполнить задание, описанное в 08.homework.pdf

2. Опционально: на acm.timus.ru решить 3 любые задачи с уровнем сложности от 301 до 400.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Сделать ревью решений ДЗ-06 двух коллег (которые его выполнили).

4. Опционально: сделать ревью на ревью ДЗ-05.

5. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- ссылки на выполненные ревью;
- опционально: ссылку на ревью на ревью.
Тема 9: Boost. Разное.
понять философию проекта Boost,
читать документацию Boost,
выбирать и применять библиотеки
25 ноября, 20:00 — 21:30
Тема 10: Boost. Паттерны проектирования
посмотреть на реализацию паттернов проектирования с использованием Boost,
расширить знания про библиотеку.
28 ноября, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-09. Boost Concept Check Library
В это самостоятельной работе разбираемся с понятием концептов, практикуемся в использовании реализации концептов в библиотеке Boost (BCCL).

Что требуется сделать:
1. Выполнить задание, описанное в 09.homework.pdf

2. Опционально: на acm.timus.ru решить 3 любые задачи с уровнем сложности от 401 до 450.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Сделать ревью решений ДЗ-07 двух коллег (которые его выполнили).

4. Опционально: сделать ревью на ревью ДЗ-06.

5. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- ссылки на выполненные ревью;
- опционально: ссылку на ревью на ревью.
Параллельные вычисления
Многопоточность, шаблоны многопоточности, асинхронное программирование, Lock-free, Атомарные типы данных и модели памяти.
Тема 1: Многопоточность
использовать потоки в своих приложениях,
решать основные проблемы многопоточности,
использовать инструменты стандартной библиотеки
2 декабря, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-10. Многопоточная версия cmd
В это самостоятельной работе практикуемся в использовании потоков.

Что требуется сделать:
1. Выполнить задание, описанное в 10.homework.pdf

2. Опционально: на acm.timus.ru решить 3 любые задачи с уровнем сложности от 451 до 500.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Опционально: сделать ревью решений ДЗ-09 двух коллег (которые его выполнили).

4. Опционально: сделать ревью на ревью ДЗ-07.

5. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- ссылки на выполненные ревью;
- опционально: ссылку на ревью на ревью.
Тема 2: Шаблоны 5
понимать многопоточные паттерны,
использовать многопоточные паттерны для решения задач
5 декабря, 20:00 — 21:30
Тема 3: Асинхронное программирование
понять разницу между многопоточностью, параллельностью и асинхронностью,
выбирать подходящее решение для своей задачи,
использовать возможности стандартной библиотеки
9 декабря, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-11. Асинхронная версия cmd
В это самостоятельной работе используем асинхронный подход для решения задания. На этот раз разрабатываем библиотеку, а не исполняемый файл.

Что требуется сделать:
1. Выполнить задание, описанное в 11.homework.pdf

2. Опционально: На acm.timus.ru решить 3 любые задачи с уровнем сложности от 501 до 550.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Опционально: сделать ревью решений ДЗ-10 двух коллег (которые его выполнили).

4. Опционально: сделать ревью на ревью ДЗ-08.

5. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- ссылки на выполненные ревью;
- опционально: ссылку на ревью на ревью.
Тема 4: Lockfree DS
разобраться в том, что такое lock-free подход,
видеть сценарии его использования,
читать lock-free код
12 декабря, 20:00 — 21:30
Тема 5: Атомарные типы данных
использовать атомарные операции в своём коде,
разобраться в принципах и стоимости их работы
16 декабря, 20:00 — 21:30
Сеть
Сетевое взаимодействие, асинхронный ввод-вывод (Boost.Asio)
Тема 1: Сетевое взаимодействие
понять, зачем нужна сеть в программах на C++ и как решать возникающие проблемы
19 декабря, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-12. Асинхронная сетевая версия cmd
В это самостоятельной работе используем асинхронный подход для решения задания. На этот раз разрабатываем библиотеку, а не исполняемый файл.

Что требуется сделать:
1. Выполнить задание, описанное в 12.homework.pdf

2. Опционально: На acm.timus.ru решить 2 любые задачи с уровнем сложности от 551 до 600.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Опционально: сделать ревью решения ДЗ-11 двух коллег (которые его выполнили).

4. Опционально: сделать ревью на ревью ДЗ-09.

5. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- опционально: ссылки на выполненные ревью;
- опционально: ссылку на ревью на ревью.
Тема 2: Асинхронный ввод/вывод
использовать библиотеки для работы с сетью,
выбирать подходящие инструменты.
23 декабря, 20:00 — 21:30
Хранилища
РСУБД, NoSQL, MapReduce, ORM
Тема 1: РСУБД
использовать хранилища данных в своих проектах
26 декабря, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-13. outer join
В это самостоятельной работе создаём сервер по принципу РСУБД. Реализуем несколько операций над данными.

Что требуется сделать:
1. Выполнить задание, описанное в 13.homework.pdf

2. Опционально: На acm.timus.ru решить 2 любые задачи с уровнем сложности от 601 до 650.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Опционально: выполнить ревью решения ДЗ-12 двух коллег (которые его выполнили).

4. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- опционально: ссылки на выполненные ревью.
Тема 2: Key Value
разобраться в том, что же такое NoSQL,
выбирать решение под задачу.
30 декабря, 20:00 — 21:30
Тема 3: Много данных
разобраться в идеологии map reduce,
немного поэкспериментировать при ее реализации
2 января, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-14. mapreduce
В это самостоятельной работе реализуем каркас mapreduce с использованием полученных на занятии знаний. Получившийся каркас используем для решения задачи нахождения минимального префикса для идентификации строки.

Что требуется сделать:
1. Выполнить задание, описанное в 14.homework.pdf

2. Опционально: На acm.timus.ru решить 2 любые задачи с уровнем сложности от 651 до 700.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Опционально: выполнить ревью решения на решения ДЗ-13 двух коллег (которые его выполнили).

4. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- опционально: ссылки на выполненные ревью.
Тема 4: ORM
разобраться, зачем нужны ORM,
применять их в своих приложениях
6 января, 20:00 — 21:30
ML
Задачи ML, кластеризация, классификация, регрессия.
Тема 1: Dlib. Кластеризация.
разобраться, зачем нужно машинное обучение,
решать базовые задачи ML,
читать документацию Dlib
9 января, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-15. Кластеризация
В это самостоятельной работе с использованием библиотеки dlib решаем задачу кластеризации с помощью машинного обучения.

Что требуется сделать:
1. Выполнить задание, описанное в 15.homework.pdf

2. Опционально: На acm.timus.ru решить 1 любую задачу с уровнем сложности от 700 до 800.
Отсортированный по сложности список:
http://acm.timus.ru/problemset.aspx?space=1&page=all&skipac=False&sort=difficulty
Если выбрать сложно, есть ещё списки задач по темам (ближе к концу страницы):
http://acm.timus.ru/problemset.aspx

3. Опционально: выполнить ревью решения на решения ДЗ-14 двух коллег (которые его выполнили).

4. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com;
- ссылку на аккаунт на acm.timus.ru со списком принятых задач;
- опционально: ссылки на выполненные ревью.
Тема 2: Dlib. Классификация.
разобраться с принципами классификации и решать задачи
13 января, 20:00 — 21:30
Тема 3: Dlib. Регрессия.
разобраться с формулировкой и решение задачи регрессии
16 января, 20:00 — 21:30
Домашние задания: 1
1 ДЗ-16. Недвижимость
В это самостоятельной работе с использованием библиотеки dlib решаем сразу несколько задач кластеризации и классификации, выдаем рекомендации.

Что требуется сделать:
1. Выполнить задание, описанное в 16.homework.pdf

2. Да и хватит на этом. Пора приступать к проекту.

3. Отправить на проверку в "Чат с преподавателем":
- ссылку на свой репозиторий на guthub.com;
- ссылку на проект на travis-ci.org;
- ссылку на репозиторий bintray.com.
Проектная работа
Заключительная часть курса о программировании на С++ посвящена проектной работе.
Мало что доставляет столько же удовольствия, как самостоятельно реализованный проект на выбранную самостоятельно тему на основе знаний, полученных на курсе.
В процессе написания (и даже в процессе выбора темы) можно получить консультации преподавателей.

При удачном стечении обстоятельств (в основном, при наличии должного усердия со стороны студента) проект станет достойным примером кода, который можно будет показывать потенциальным работодателям в качестве портфолио. Таким образом обучение программированию завершится большой практической работой, и вы будете гордиться тем, что сделали своими руками.
Тема 1: Защита проектной работы
защитить свой проект и получить рекомендации экспертов
20 января, 20:00 — 21:30
Домашние задания: 1
1 Проектная работа
Преполагаемые этапы выполнения:
1. Проработанные требования к реализации
2. Планируемая архитектура
3. Полная итоговая реализация.
Сдавать можно как по частям, так и сразу итоговый вариант.

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


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

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

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

— очередь с моделью подписчиков
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Сборка проектов на C++ с использованием CMake
Сергей Кольцов
День открытых дверей
21 июня в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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