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

學生對 莫斯科物理科学与技术学院 提供的 Основы разработки на C++: красный пояс 的評價和反饋

4.8
189 個評分
20 個審閱

課程概述

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

熱門審閱

SS

Jan 11, 2019

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

AG

Nov 27, 2018

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

篩選依據:

1 - Основы разработки на C++: красный пояс 的 23 個評論(共 23 個)

創建者 Сергей С

Oct 29, 2018

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

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

創建者 Бутов П А

Nov 13, 2018

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

創建者 Yan

Sep 02, 2019

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

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

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

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

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

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

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

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

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

創建者 Емелин А П

Apr 18, 2019

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

創建者 Alexander Z

Jul 31, 2018

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

創建者 Alexey G

Nov 27, 2018

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

創建者 Sergey

Jan 11, 2019

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

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

創建者 Константин

Feb 18, 2019

Отличный курс. Рекомендую!

創建者 Oleg R

Mar 30, 2019

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

創建者 Роман

Feb 12, 2019

Отличный курс!

創建者 Viacheslav O

Mar 05, 2019

Отличный курс!

創建者 Nikita L

Oct 09, 2018

Замечательный курс!

創建者 Кадохов З М

Oct 09, 2018

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

Рекомендую!

創建者 Емельянов А В

May 12, 2019

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

創建者 Anton

Aug 01, 2019

Very interesting

創建者 Мишутка

Jul 13, 2019

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

創建者 Pshenychnyi K Y

Sep 02, 2019

Awesome course. Allows to strain your brain and make it think in modern C++ actually, though old approach is also considered a bit (new, raw pointers and so on).

創建者 Виталий

Sep 16, 2019

Отлично!

創建者 Vladimir N

Sep 19, 2019

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

創建者 Булах И

Oct 15, 2019

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

創建者 Anton S

Oct 18, 2019

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

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

創建者 Глазов И В

Oct 20, 2019

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

創建者 Maksim Z

Feb 24, 2019

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