17 апреля мы перезапустили онлайн-курс «Углублённое программирование на С/С++» на платформе Stepik. Это курс для тех, кто знает С++ и хочет научиться использовать его в промышленной разработке. Мы упростили доступ к модулям, чтобы вы прошли курс в удобное время и получили сертификат. Но обо всём по порядку.
Для кого этот курс?
Курс подойдет студентам старших курсов, которые разбираются в конструкциях языка. Вряд ли он будет полезен тем, кто ежедневно работает с С++ и следит за изменениями в отрасли. Однако курс поможет разобраться в материале тем, кто что-то пропустил.
Автор программы Алексей Петров рассказывает о курсе
Содержание курса
Аспекты языка С++
Треть курса посвящена аспектам языка С++: наследованию, конструкторам, move-семантике, виртуальным функциям и стандартной библиотеке шаблонов STL.
Промышленные библиотеки
Вы познакомитесь с библиотеками семейства Boost. Это оболочки над языком программирования и системными вызовами. Благодаря им удобно работать с сетями, потоками, корутинами (сопрограммами), структурами данных, датами и т. п. Кроме того, они предоставляют фреймворк для юнит-тестов.
Шаблоны проектирования
Вы узнаете классические шаблоны из книги «банды четырех»: фабричный метод, строитель, прототип, одиночка (синглтон), адаптер, декоратор, мост. Эти подходы облегчают построение программы, делают код стабильным и гибким. Благодаря им вы сможете легко написать расширяемое приложение.
Результат курса
Вы создадите свой собственный проект, написав 3—5 тысяч строк кода и применив технологии курса. Мы не ограничиваем стек технологий, чтобы вы могли придумать любой интересный вам проект и воплотить его в жизнь.
Результатом работы станут не только традиционные мобильные или десктопные приложения, но и решения для носимой электроники, и серверные части web-сайтов.
Например, на аналогичном курсе в Технопарке студенты создали приложения для управления умным домом, распознавания картин, консольный мессенджер, сервис для доставки грузов с помощью БПЛА, плеер подкастов для изучающих иностранные языки и музыкальное приложение под Android. Все подробности этих проектов есть в видеозаписи с публичной защиты.
Защита проектов курса «Программирование на С++» студентами Технопарка
Итоги прошлого запуска
На первый запуск курса записалось 3 тысячи человек. Однако дойти до конца смогли меньше 5 % поступивших. Обычно количество окончивших курс примерно в два раза больше. Мы проанализировали ситуацию и упростили сдачу заданий, чтобы увеличить возможность пройти курс. Изменения не коснулись его содержания.
Открываем модули
Курс разделён на четыре модуля по две недели каждый. Раньше вы получали доступ к новому модулю только если набрали достаточно баллов в предыдущем. Такой подход оказался тяжелым для студентов курса — только 20 % смогли пройти во второй модуль.
Сейчас новый модуль откроется вне зависимости от ваших успехов в предыдущем. Кроме того, вы теряете баллы за просроченные задания медленнее, чем раньше. Надеемся, что это поможет завершить курс в удобное вам время.
Отзывы о курсе
Мы попросили участников поделиться своими мнениями. Вот некоторые из отзывов.
Я получил общие знания о POSIX и стандартах качества разработки ПО. Сложности были почти в каждом опроснике. Не помню точно, но, возможно, на пару вопросов пришлось отвечать перебором вариантов :). Благодаря курсу я получил нужную мотивацию и «вынужденно» приступил к созданию своего проекта. Я делал программу, которая готовит текст книг для их последующего озвучивания.
Смог начать проектную часть (разработку ТЗ), изучил UML и реализовал диаграмму, опробовал на проекте все технологии курса (шаблоны проектирования, boost, статический анализ). Заодно заставил себя поставить Linux и начал его «трогать», а то всё руки не доходили. А ещё зарегистрировался-таки на GitHub и стал пользоваться Git’ом.
Сразу после прохождения курса я свой проект остановил, так как для его реализации у меня недостаточно знаний. Зато созрел для стандарта С++ и понял, что именно нужно читать. Благодаря курсу я сделал многое из того, что откладывал. Моя текущая цель — качественно освоить программирование на С++, чтобы применять эти знания для разработки ПО.
До курса я мало знал о UML, паттернах и подходах к разработке ПО. К получению сертификата я был во всеоружии. Перед тем как писать код, я думал над расширяемостью и скоростью разработки, каждый раз тщательно подбирая инструменты для проектирования. Курс дал мне сверх желаемого.
Самым трудным был раздел управления памятью, я не смог выполнить одно из заданий без копирования со Stack Overflow. Курс открыл для меня дорогу в написание понятного кода, это прежде всего важно для курсовых и лабораторных. Во время прохождения курса я писал игру на SFML, однако дедлайны толкнули меня на клиент-серверное приложение на Qt.
Сейчас перспективным вектором развития я считаю R&D и двигаюсь в этом направлении.
Регистрация на курс
Переходите по ссылке, если вы решили попробовать свои силы в изучении С++ и разработке ПО. Или записывайтесь на остальные курсы.
Автор: Olga_ol