- PVSM.RU - https://www.pvsm.ru -

Новости онлайн-курсов Mail.Ru Group: перезапуск «Углублённого программирования на С++»

image

17 апреля мы перезапустили онлайн-курс «Углублённое программирование на С/С++» на платформе Stepik. Это курс для тех, кто знает С++ и хочет научиться использовать его в промышленной разработке. Мы упростили доступ к модулям, чтобы вы прошли курс в удобное время и получили сертификат. Но обо всём по порядку.

Для кого этот курс?

Курс подойдет студентам старших курсов, которые разбираются в конструкциях языка. Вряд ли он будет полезен тем, кто ежедневно работает с С++ и следит за изменениями в отрасли. Однако курс поможет разобраться в материале тем, кто что-то пропустил.

Автор программы Алексей Петров рассказывает о курсе

Содержание курса

Аспекты языка С++

Треть курса посвящена аспектам языка С++: наследованию, конструкторам, move-семантике, виртуальным функциям и стандартной библиотеке шаблонов STL.

Промышленные библиотеки

Вы познакомитесь с библиотеками семейства Boost [1]. Это оболочки над языком программирования и системными вызовами. Благодаря им удобно работать с сетями, потоками, корутинами (сопрограммами), структурами данных, датами и т. п. Кроме того, они предоставляют фреймворк для юнит-тестов.

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

Вы узнаете классические шаблоны из книги «банды четырех [2]»: фабричный метод [3], строитель [4], прототип [5], одиночка [6] (синглтон), адаптер [7], декоратор [8], мост [9]. Эти подходы облегчают построение программы, делают код стабильным и гибким. Благодаря им вы сможете легко написать расширяемое приложение.

Результат курса

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

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

Например, на аналогичном курсе в Технопарке студенты создали приложения для управления умным домом, распознавания картин, консольный мессенджер, сервис для доставки грузов с помощью БПЛА, плеер подкастов для изучающих иностранные языки и музыкальное приложение под Android. Все подробности этих проектов есть в видеозаписи с публичной защиты.

Защита проектов курса «Программирование на С++» студентами Технопарка

Итоги прошлого запуска

На первый запуск курса записалось 3 тысячи человек. Однако дойти до конца смогли меньше 5 % поступивших. Обычно количество окончивших курс примерно в два раза больше. Мы проанализировали ситуацию и упростили сдачу заданий, чтобы увеличить возможность пройти курс. Изменения не коснулись его содержания.

Открываем модули

Курс разделён на четыре модуля по две недели каждый. Раньше вы получали доступ к новому модулю только если набрали достаточно баллов в предыдущем. Такой подход оказался тяжелым для студентов курса — только 20 % смогли пройти во второй модуль.

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

Отзывы о курсе

Мы попросили участников поделиться своими мнениями. Вот некоторые из отзывов.

image

Я получил общие знания о POSIX и стандартах качества разработки ПО. Сложности были почти в каждом опроснике. Не помню точно, но, возможно, на пару вопросов пришлось отвечать перебором вариантов :). Благодаря курсу я получил нужную мотивацию и «вынужденно» приступил к созданию своего проекта. Я делал программу, которая готовит текст книг для их последующего озвучивания.

Смог начать проектную часть (разработку ТЗ), изучил UML и реализовал диаграмму, опробовал на проекте все технологии курса (шаблоны проектирования, boost, статический анализ). Заодно заставил себя поставить Linux и начал его «трогать», а то всё руки не доходили. А ещё зарегистрировался-таки на GitHub и стал пользоваться Git’ом.

Сразу после прохождения курса я свой проект остановил, так как для его реализации у меня недостаточно знаний. Зато созрел для стандарта С++ и понял, что именно нужно читать. Благодаря курсу я сделал многое из того, что откладывал. Моя текущая цель — качественно освоить программирование на С++, чтобы применять эти знания для разработки ПО.

image

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

Самым трудным был раздел управления памятью, я не смог выполнить одно из заданий без копирования со Stack Overflow. Курс открыл для меня дорогу в написание понятного кода, это прежде всего важно для курсовых и лабораторных. Во время прохождения курса я писал игру на SFML, однако дедлайны толкнули меня на клиент-серверное приложение на Qt.

Сейчас перспективным вектором развития я считаю R&D и двигаюсь в этом направлении.

Регистрация на курс

Переходите по ссылке [10], если вы решили попробовать свои силы в изучении С++ и разработке ПО. Или записывайтесь на остальные [11] курсы.

Автор: Olga_ol

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/253036

Ссылки в тексте:

[1] Boost: http://www.boost.org/

[2] банды четырех: http://www.ozon.ru/context/detail/id/2457392/

[3] фабричный метод: https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B1%D1%80%D0%B8%D1%87%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

[4] строитель: https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%BE%D0%B8%D1%82%D0%B5%D0%BB%D1%8C_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

[5] прототип: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D1%82%D0%B8%D0%BF_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

[6] одиночка: https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%B8%D0%BD%D0%BE%D1%87%D0%BA%D0%B0_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

[7] адаптер: https://ru.wikipedia.org/wiki/%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

[8] декоратор: https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BA%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

[9] мост: https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D1%81%D1%82_(%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)

[10] ссылке: https://stepik.org/153

[11] остальные: https://stepik.org/org/mailru

[12] Источник: https://habrahabr.ru/post/326590/