Курс на Stepik
Обложка курса «Многопоточное программирование на С/С++» на Stepik
Бесплатно

Многопоточное программирование на С/С++ 4.271

Открыть на
STEPIK.ORG

В курсе принцип многопоточного программирования рассматривается в контексте разработки сетевых и высоконагруженных систем. Ядром курса является обучение межпроцессному взаимодействию (IPC) и синхронизации потоков. Пройдя курс, вы сможете разработать собственный веб-сервер, который позволит отработать полученные навыки.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Многопоточное программирование на С/С++»Учеников на курсе 22 395
Сертификаты, выданные на курсе «Многопоточное программирование на С/С++»Сертификатов выдано 478
Отзывы о курсе «Многопоточное программирование на С/С++»Отзывов получено 48
Рейтинг курса «Многопоточное программирование на С/С++»Рейтинг курса 4.271
Уроки в курсе «Многопоточное программирование на С/С++»Количество уроков 30
Тесты в курсе «Многопоточное программирование на С/С++»Количество квизов 36
Задачи с кодом в курсе «Многопоточное программирование на С/С++»Количество задач с кодом 19
Время прохождения курса «Многопоточное программирование на С/С++»Время прохождения курса
Обновления курса «Многопоточное программирование на С/С++»Обновления курса
Дата публикации курса «Многопоточное программирование на С/С++»Дата публикации курса
Последнее обновление курса «Многопоточное программирование на С/С++»Последнее обновление
Сложность normal
4.271
из 5
48 отзывов
★★★★★
31
★★★★
8
★★★
4
★★
1
4
Alexey Dobronadezhdin
Alexey Dobronadezhdin
9 месяцев назад

Весь курс - это описание API различных функций и библиотек С. На мой взгляд курс не содержит ничего полезного в отношении многопоточного программирования.

Andrej V. Marinchenko
Andrej V. Marinchenko
2 года назад

Даже если Вы прослушаете внимательно полный курс, и выполните все доступные тесты, Вы не получите сертификат и потратите время зря, т.к. платформа уже не поддерживает те задания которые заложил когда-то в этот курс автор. Уже прошло полгода, но ничего не изменилось. Очень обидно и жалко потраченного времени, платформа обещала изменить ситуацию, но видимо обещанного 3 года ждут, а потом забывают.

Марат Абузяров
Марат Абузяров
2 года назад

Курс в целом считаю очень интересным и полезным для понимания работы и взаимодействия процессов в Linux. Название курса не совсем оправдывает его содержание, но это даже скорее плюс, т.к. для понимания непосредственно заглавной темы нужна хорошая подготовка, которая и обеспечивается последовательно поданным материалом. Сильно пугает диагностический экзамен, который по факту имеет мало отношения к содержанию курса. Например, нигде в курсе не спрашивается про сложность алгоритмов или организацию структуры данных в контейнерах STL, зато обзорно рассказывается на первой неделе, чего, по большому счету, достаточно. Для прохождения курса достаточно владеть базовым синтаксисом C/C++, немножко знать ООП, уметь собирать и запускать простейшие программы под Linux при помощи терминала. Знание Git нужно только в финальном задании, и то он по сути является лишь обёрткой над основным заданием по программированию, чтобы дополнительно напрячь студентов и смотивировать разобраться в теме. Теперь плюсы и минусы. Плюсы: 1) Охватывается широкий спектр тем по организации процессов в Unix-системе, сетевому программированию и видам межпроцессного взаимодействия, в т.ч. написание программ с несколькими потоками. 2) Материал изложен достаточно понятно (я начинающий программист, опыта мало), иллюстрирован понятными схематичными рисунками преподавателя. 3) Задачи вполне по силам решить после просмотра лекций, материала в 95% случаев достаточно. Иногда приходилось подсматривать в конспекты по другим курсам по смежным темам. На самом деле задачи как правило не сложные. Они требуют прежде всего не развитой логики, а просто правильного применения изучаемого инструмента. По сути основная сложность как правило в изучении man-страниц и описании работы с функциями. 4) Лектор - очень колоритный и обоятельный персонаж) Слушать действительно приятно. Это скорее субъективная реакция. Минусы: 1) Очень медленная подача материала. Слушал на скорости х1.5 с редким переключением на х1 и х0.5, когда было сложно разобрать зажеванные слова. Иногда лектор не проговаривает какие-то слова или термины, из-за чего приходится несколько раз переслушивать фразу. 2) Странное произношение англоязычных терминов и слов, которое у опытных слушателей вызывает негодование, которое видно в комментариях. Хоть на это и можно закрыть глаза, но для новичков такое произношение может показаться нормой и они введут это в обиход, что, вообще говоря, неправильно как с точки зрения норм языка так и сложившейся практики среди сообщества программистов. 3) Растянутые лекции по причине того, что у ведущего нет готовых слайдов и он всё рисует с нуля на экране. Это занимает много времени и усложняет конспектирование. Весь код на экране (сигнатуры функций, целые фрагменты кода, схемы и т.д.) рисуется в прямом эфире. Из-за этого часто 3-минутный материал растягивается на 15-20 минут, которые можно было бы потратить на объяснение и разбор сложных или тонких моментов вместо нудной писанины. 4) В лекциях присутствуют степы с видео примеров работы программ в конце почти каждой темы. Однако код зачастую так же не подготовлен и лектор набирает его вручную в редакторе VIM, что по сути так же растягивает хронометраж. При этом видно, что листинг не придумывается на ходу из головы лектора, а он переписывает его с какого-то своего бумажного носителя-конспекта. Почему нельзя было выложить исходник материалов в приложениях к лекциям? 5) Отсутствует конспект лекций вообще в каком-либо виде (листинги, перечни ключевых команд, скриншоты слайдов видео, пояснения и т. д.). В редких случаях в последнем степе темы указывается несколько ссылок на какие-нибудь стандарты или официальные страница библиотек. Выжимки информации (что по сути и определяет понятие «конспект») никогда никакой нет, хотя преподаватель неоднократно объявляет, что «эта тема на самостоятельное изучение будет оставлена в конспекте». Время прохождения курса можно было бы сократить раза в 3, если бы лектор заранее заготовил электронные версии слайдов по темам, которые можно было бы скачать или скопировать себе, чтобы не заниматься тупым переписыванием как с доски в школе. Если была идея таким образом закрепить материал, то лучше бы вставили больше разных практических заданий для отработки навыков, чтобы люди читали документацию и вникали в нюансы, а не занимались машинописью. 6) В тестовых заданиях не всегда удачная формулировка: не ясно что имеет в виду автор и что он хочет получить в качестве результата. Приходится читать комментарии уже наступивших на грабли людей. 7) 80% кода в лекциях приведено на чистом C. Сложно судить об актуальности этого инструментария. Курс вышел в 2015г, на дворе конец 2023г. Но кажется, что даже в 2015 году STL в C++14 предлагал более актуальный инструментарий, чем дан в лекциях. Мне сложно судить, т.к. опыта нет. С другой стороны часто современные инструменты — это лишь обёртки над классическими и, возможно, такая подача даёт более глубинное понимание того, что скрыто под капотом. 8) Мало практических задач. Учитывая кол-во охватываемых тем, кол-во задач следовало бы увеличить раза в 2-3. Очень много тем, по которым задания приведены вообще в виде тестов на понимание материала, а не решения практических задач с кодом. Понимание материала ещё не означает умение им пользоваться! По некоторым темам даже тестовых заданий нет. 9) Проверяющая система проверяет только результат на правильность использования тех или иных инструментов. При этом почти никогда не проверяются отработка программы граничных случаев или корректности ввода данных. Возможно, предполагается, что это курс для опытных людей, которые знают, как правильно обрабатывать ошибки в разных случаях, но вообще было бы полезно узнать, какое поведение программы следует организовывать в качестве хорошего тона в этих конкретных случаях. 10) Проверяющая система для практических задач построена ужасно! Постоянные ошибки из-за недоступности проверяющего сервера. Все задания с кодом надо выполнять в виртуальном терминале, который запускается на удаленном сервере. Терминал открывается через раз, а когда работает, то страшно тупит: работает нормально 1мин, потом на 10-15с зависает (лучше ничего не трогать в этот момент кроме стрелок курсора), потом снова работает нормально. Набирать код в таком терминале — издевательство над студентами! Единственный выход — набирать и испытывать программу локально и потом копировать листинг в удаленный терминал мышью (получается не на всех браузерах). Почему нельзя было просто загружать файлы исходников? Страшно бесит! Итог: несмотря на обилие недостатков курс очень хорош и найти ему альтернативу довольно сложно. Много полезного материала существенно расширяет кругозор и понимание устройства ОС и принципов работы программ, что в любом случае полезно. К прохождению однозначно рекомендую, но нужно быть готовым к тому, что местами он будет серьёзно побешивать.

Алина Алмаева
Алина Алмаева
2 года назад

Курс не понравился, преподаватель не понятно объясняет, терминал в заданиях постоянно заедает и не работает, информация курса уже устаревшая

Andrey Vasiliev
Andrey Vasiliev
2 года назад

1000/1000 Хороший курс, сложный, пришлось помучаться с терминалом местным, но знания важнее. Спасибо, что откликнулись и починили проверочную систему!