Chevron Left
Retour à Основы разработки на C++: красный пояс

Avis et commentaires pour d'étudiants pour Основы разработки на C++: красный пояс par Institut de physique et de technologie de Moscou

4.8
étoiles
441 évaluations
61 avis

À propos du cours

Этот курс является продолжением курса "Основы разработки на C++: жёлтый пояс". Основная цель курса — научить писать на С++ эффективный код. Кроме того рассмотрены некоторые возможности С++, которые не попали в предыдущие курсы. В курсе рассмотрены: - макросы - шаблоны классов - принципы оптимизации кода - эффективное использование потоков ввода/вывода - оценки сложности алгоритмов - модель памяти в С++ - эффективное использование линейных контейнеров (vector, deque, list, string) - move-семантика - введение в многопоточное программирование Кроме того, в курсе продемонстрировано, как, пользуясь знаниями только "Белого", "Жёлтого" и "Красного" поясов, разработать свой собственный профайлер. Так же, как и в предыдущих курсах, в конце вас ждёт финальный проект. Было бы странно в курсе от Яндекса не попросить вас создать свою поисковую систему! Именно этим вам и предстоит заняться в финальной задаче. Курс разработан ведущими специалистами Яндекса и преподавателями Школы анализа данных. За их плечами – годы разработки сервисов поиска, рекламы и инфраструктуры. Кроме того в подготовке заданий участвовали 1. Сотрудники Яндекса: - Алексей Аверченко - Даниил Петров - Константин Меренков - Алексей Зобнин 2. Выпускники «Жёлтого пояса по С++»: - Борис Егоров - Ольга Марчевская 3. Сотрудник Института проблем информатики РАН Олег Яковлев В создании урока «Шаблоны классов» принимал участие преподаватель Белого и Жёлтого «поясов» Евгений Парамонов....

Meilleurs avis

KI
19 nov. 2021

Интересный курс. Для начинающе-продолжающих. Очень понравилось, что после окончания есть в памяти некоторые "заготовки полезных структур", которые могут облегчить жизнь дальше. Рекомендую!

AK
26 mai 2020

Хороший курс. Иногда стоит отвлечься, чтобы решить задания, особенно те, которые составлял лектор из ЛКШ.

Filtrer par :

1 - 25 sur 63 Avis pour Основы разработки на C++: красный пояс

par Yan B

2 sept. 2019

Красный пояс - логическое продолжение "белого" и "желтого" поясов специализации по C++. Курс продолжает радовать качественными лекциями с хорошими примерами из реальной практики и дает больше, чем просто обзор возможностей языка: в красном поясе так же рассмотрены основы computer science - сложность алгоритмов, базовые структуры данных, принципы оптимизации. Таким образом возможности языка изучаются не на абстрактных примеров (что сильно затрудняет понимание), а в контексте реальных задач с демонстрацией внутреннего устройства компонентов стандартной библиотеки. Это очень здорово.

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

В первую очередь можно отметить следующее: наличие тем computer science делает прохождение курса более сложным: помимо освоения самого языка С++ необходимо еще и разобраться в computer science, что создает дополнительную нагрузку. Само по себе это не является недостатком, т.к. несмотря на повышенную сложность сочетание двух этих тем, как сказано выше, в сумме дает значительно лучший эффект, чем каждая из тем по отдельности: есть возможность не только увидеть инструменты языка "в действии", но и получить настоящий код, реализующий теоретические концепции computer science. Но к повышенная сложность умножается недоработками курса, что делает его очень трудным для прохождения.

Первая из таких недоработок: практические задания. Несмотря на высокое качество подбора тем и адекватную сложность, система оценки заданий во многих случаях требует угадывания решения, задуманного авторами. Это добавляет стресса в процессе прохождения, но и с этим можно было бы справиться, если не бы не дальнейшие недостатки.

Второй недостаток - непрозрачность системы тестирования. Если отправленное вами решение не проходит тестирование (не зачтено), в редких случаях вы получите полезное сообщение об ошибке, но чаще - поверхностное объяснение о том, что не так с решением: превышен лимит времени или "ответ неправильный". Такой подход имеет место быть (к примеру если вы изучаете криптографию - это был бы очень логичный подход), но он снова повышает сложность и добавляет стресса к прохождению курса. Мало того, что вам нужно угадать решение авторов, так вы еще и без понятия, что именно в вашем решении работает иначе. С этим уже достаточно неприятно, но на этом список недостатков не заканчивается.

Следующее неприятное открытие, с которым вы сталкиваетесь - в лекциях авторы рассказывают "как и зачем" о возможностях языка, но не обучают навыку troubleshooting: что делать, если ваша программа выводит "signal 11", "bus error: 10" или "abort trap 6". C++ - мощный язык с весьма недружелюбным к пользователю интерфейсом, и умение расшифровывать и устранять ошибки является необходимым для успешной работы навыком. В видеолекциях часто рассматриваются случаи "наша программа не скомпилировалась - давайте посмотрим на сообщения об ошибках", но этого недостаточно для успешного выполнения заданий. Таким образом в добавок к угадыванию решения иногда ваше решение "просто не работает" и вы без понятия почему.

В поисках понимания "что работает не так" вы сталкиваетесь с еще одной недоработкой - со стороны авторов поддержки курса практически не оказывается. "Спасение утопающих - дело рук самих утопающих". Работу авторов курса выполняют участники, уже прошедшие модули, по которым у вас есть вопросы. Самая полезная платформа - телеграм-канал (хотя и на форуме можно найти ценные подсказки), но будьте готовы, что вас отправят искать в истории канала ("уже обсуждалось") и оценят ваше умение программировать, внимательность при чтении заданий и другие личные качества и навыки.

Даже с необходимостью угадывать решение авторов вслепую, с самостоятельным обучением расшифровке ошибок и необходимостью искать идеи для очередного подхода к решению на форуме и в телеграм-канале курс можно проходить. Некоторые задания не вызывают проблем и дают заряд уверенности, с другими нужно поперебирать решения, поспрашивать, почитать, и за пару дней осилить. Но в самом конце курса вас ждет кульминация всех вышеперечисленных недостатков. Здесь особенно пригодятся все навыки: перебор разных вариантов решений, чтение телеграм-канала и форума, попытка угадать ход мысли авторов. Желание разработать действительно решение через некоторое время пропадает и начинается перебор: поменять вот это - посмотреть снова ли система тестирования выведет пустое сообщение и "незачет", сделать очевидно неправильно - посмотреть что будет. В какой-то момент во второй части уже перестает волновать тот факт, что локальные тесты не работают, и, как бы это не было странно, одно из решений из перебора с неработащими тестами вдруг проходит.

В итоге: по получению знаний и навыков - хорошо, но user experience хуже, чем прохождение медосмотра в поликлинике.

par Симонов С Б

29 oct. 2018

Материал курса актуальный, изложение отличное. Задачи практичные и интересные. Узнал много нового, как из лекций, так и в процессе решения предложенных задач. Спасибо!

Но есть и подводные камни, и я честно об этом Вам скажу. По ходу курса предлагаются к решению несколько сложных задач алгоритмическими "заковырками", которые напрямую к темам курса не относятся. Пока Вы их не решите, продолжить обучение не сможете. Без подсказки на поиск правильного решения может уйти не рационально-огромное количество ваших часов (и хорошо, если справитесь)! А с подсказками и обсуждениями есть проблемы. На вопросы не отвечают неделями, форум почти "мертвый", даром что 6 модераторов в нем, обсудить проблемы твоего кода не с кем, возникает ощущение заброшенности и тупика, настроение падает. И это все за Ваши немаленькие деньги. Поэтому с точки зрения временных и денежных затрат курс нельзя назвать продуктивным.

par Бутов П А

13 nov. 2018

Не хватает помощи и комментариев преподавателей на форуме курса.

par Ekaterina G

26 oct. 2019

Вообще отличный курс несмотря на некоторые досадные организационные мелочи.

Замечательные лекторы: Илья Шишков, который всегда очень обстоятельно и доходчиво объясняет основы и всякие мировоззренческие вещи, и Антон Полднев, который рассказывает более утонченные и гиковские темы, которые потом проверяются очень изысканными тестами с каверзными вопросами.

В этом поясе все недели были удачными. На первой неделе Илья замечательно разграничил, когда макросы использовать плохо, а когда без них не обойтись. На второй неделе очень хорошо поговорили на тему, что надо оптимизировать, а что нет, а потом про сложность алгоритмов. Третья неделя была про классический старый C++ с указателями и рукописными деструкторами, как его обычно преподают в универе. На четвертой неделе поговорили про то, что еще есть в природе из линейных контейнеров, кроме вектора, и когда это может быть нужно, и про инвалидацию итераторов. И тут меня немного смутило, что string_view, используя который, надо очень хорошо понимать, что делаешь, потому что иначе очень легко выстрелить себе в ногу, рассказали на красном поясе, а очень полезный и безобидный unordered_map зачем-то отправили в коричневый.

Пятая неделя - самая лучшая. Антон потрясающе рассказал про move-семантику, copy-elision и NRVO: с одной стороны, просто и понятно, не углубляясь в дебри value categories, но, с другой стороны, весьма подробно и на довольно глубоком уровне абстракции. А Илья замечательно рассказал про многопоточность: он как-то любой раздел стандартной библиотеки умеет сделать для зрителей уютным и понятным.

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

И ещё я в этом курсе наконец открыла для себя телеграм-канал курса, и там для курса по C++ оказалось довольно забавно и душевно.

par Емелин А П

18 avr. 2019

Курс крайне полезен для тех, кто собирается писать приложения, критичные к ресурсам. Особенно ценной показалась информация об эффективном использовании контейнеров и move семантике.

par Anton S

18 oct. 2019

Кем бы Вы ни были - студентом (в этом случае, однако, лучше начинать с первого, "белого", модуля) или опытным разработчиком, обязательно найдёте что-нибудь интересное и уж точно не соскучитесь от интересных и не самых тривиальных практических задач.

Классный курс, авторам огромное спасибо.

par Alexander Z

31 juil. 2018

Один из лучших курсов, что я проходил в жизни, не то что по языку программирования.

par Vladimir I

27 janv. 2021

Легко встрять в ситуацию когда вы не понимаете почему ваше решение задачи не проходит. Грейдер не даст полезной информации. Вы попытаетесь почитать форум и попросить помощи в телеграм канале. Там вам попытаются помочь такие же студенты как вы. Когда вы так и не сможете получить какую-либо помощь вы задуметесь - а за что я плачу 5к+ рублей в месяц если не могу получить хотя бы 5 минут обратной связи. В целом курс хороший, но отсуствие обратной связи портит все восприятие. Берите курс на свой страх и риск и с осознанием того, что с определенной вероятностю вы можете впасть в депрессию от безвыходной ситуации.

par Vladimir N

19 sept. 2019

Отличный курс для знакомства с С++ или повторения/систематизации накопленных ранее знаний. Большое количество интересных и зачастую непростых задач способствует эффективному закреплению материала. Хочется выразить огромную благодарность авторам за проделанную работу.

par Кадохов З М

9 oct. 2018

Классный курс, спасибо. Очень удачно покрывает ту часть c++, с которой не приходилось до этого работать. Всем совет: каждое слово в задании важное, если дают какие-то гарантии, это не просто так.

Рекомендую!

par Sergey

11 janv. 2019

Отличный курс! Финальное задание заставляет хорошенько поработать над решением.

Спасибо авторам курса за большую и качественную проделанную работу

par Глазов И В

20 oct. 2019

Отличный курс для расширения знаний и навыков работы с многопоточностью и оптимизацией по времени выполнения программы

par Мишутка

13 juil. 2019

Отличный курс. С каждым уровнем сложности все лучше и лучше! Огромная благодарность авторам.

par Олег Р

30 mars 2019

Отличный курс, помог мне разобраться во многих неочевидных моментах C++

par Alexey G

27 nov. 2018

Отличный курс, который рассказывает про оптимизацию и ускорение кода.

par Емельянов А В

12 mai 2019

Отличный курс. Приличная сложность - занимает много времени.

par Igor B

15 oct. 2019

Великолепный курс! Очень интересный и сложный)

par Captain S

15 janv. 2020

Отличный курс, очень крутые лекторы и материал, много новых вещей, даже при том, что я уже имел достаточно много опыта в коммерческой разработке на C++. Не понравилось только пару заданий с слишком нетривиальным решением для прохождения грейдера, в которых было почти нереально догадаться до самого быстрого решения. И финальная задача 2 часть, это просто минус жизнь. По итогу мое финальное решение не было рабочим, я понимал что оно не может работать корректно, но оно единственное прошло грейдер. Решение авторов грейдер тоже не проходит.

par Буров Е В

3 janv. 2020

финальная задача чуть не испортила впечатление от курса. Но к счатью были праздники, на которых все же победил ее.

par Maksim Z

24 févr. 2019

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

par Cold T

6 mai 2020

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

par Artem M

13 juil. 2020

Курс очень слишком завязан на угадывание того, что авторы имели ввиду при постановке задачи. К тому же с минимальной поддержкой на форуме. Все обсуждения на форуме, на момент моего прохождения были удалены. Лекционный материал зачастую не покрывает многих деталей и тонкостей. Эффективнее учить теоретическую часть по сторонним материалам, а здесь сдавать только практические задания.

par Evgeny E

22 avr. 2020

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

par Marc E

1 juin 2020

Overall a very good course with two great instructors. It's a lot of work, but it also teaches a lot. There are a lot of programming exercises which often take a lot of time to solve - the fact that to get the certificate, it is necessary to pass every single rated quiz / programming exercise implies a lot of work because some of the exercises are complex and the test criteria are pretty exacting.

A mild criticism: For some of the exercises, some additional hints could be useful.

par Илья Б

8 mars 2020

Курс очень понравился, видеолекции прозрачно объясняют материал, многочисленные задачи по программированию позволяют, помучась, отпечатать рассказанное (и даже больше) у себя в голове. Чуть-чуть о том, что не понравилось (частные детали): не понял учебного смыла задачи "Статистика web-сервера", также есть претензии к тестированию второй части финального задания. Напишу их в чат.

В остальном огромный респект всем участвовавшим в создании поясов, отличная работа!