Попробовал залезть в курс после 5 лет разработки на С++. Могу сказать что очень даже годно. Несмотря на то что уже утверждён C++26. Уважение за Метапрограммирование - было сложно, но мы держались. Вряд ли это кому-то пригодится на практике в достаточном объёме, но вы крутые что смогли это объяснить. Задачи классные, реализацию shared_pointer видел на тестовых заданиях.
Прекрасный курс
Мне нравится структура курса
Отличный курс.
Выбирал курс чтобы освежить знания по языку, но получилось что узнал достаточное количество разных тонкостей. Курс охватывает достаточно широкий спектр тем, но не погружается в каждую глубоко. С "наскока" пройти задания будет не так просто, обычно для их прохождения требуется поиск дополнительной информации вне рамок курса. В заданиях встречаются расплывчатые формулировки, приходится уточнять какие-то моменты в комментариях из тех кто прошёл и "подобрал ключи" к этим заданиям. В целом курс рекомендую, к тому же он бесплатный.
Курс оставил у меня в целом хорошие впечатления. До его прохождения у меня уже был опыт коммерческой разработки на C++, однако этот курс давно находился в моём бэклоге, и я решил, что это хорошая возможность проверить и систематизировать свои знания. По содержательной части курса, в целом, претензий нет. Возможно, хотелось бы увидеть больше заданий по многопоточности и хотя бы несколько задач с использованием Boost. Это довольно большие темы, но в курсе они затронуты лишь вскользь. Часть контента может показаться немного устаревшей, однако для общего развития и расширения кругозора материал всё равно полезен. Вероятно, если вы совсем не знакомы с языком и проходите курс без какого-либо опыта программирования на C++, он может оказаться для вас слишком сложным. В комментариях часто можно встретить жалобы на то, что задания не соответствуют содержанию курса и оказываются значительно сложнее. Лично мне это показалось верным лишь отчасти: некоторые задания действительно подобраны не лучшим образом, однако сильного разрыва между материалом курса и практикой я не почувствовал. Преподавательский состав показался мне вполне адекватным - этого, на мой взгляд, иногда не хватает в других курсах CSC. В целом курс мне понравился. Это отличный материал для повторения уже известных тем или более углублённого изучения языка.
1. Общее понимание. 2. Подача материала была лучше, чем в 1 курсе. 3. Да трудно сказать, возможно задач побольше. 4. Первый курс по поиску, из бесплатных, который приглянулся.
Курс по C++ за первые ~80% даёт сильный фундамент именно там, где обычно “ломаются” начинающие и даже многие практики: Контейнеры STL и итераторы: стало понятно не только как пользоваться, но и почему разные контейнеры ведут себя по-разному (инвалидация, сложность операций, vector/list/deque/forward_list, ассоциативные контейнеры). Алгоритмы: важное ощущение “алгоритмы + итераторы = язык”, особенно на задачах вроде remove_nth, count_permutations, кастомных предикатов и нюансов копирования функторов. RTTI, typeid/type_index, мультиметоды: редкая тема для базовых курсов, но крайне полезная — развивает архитектурное мышление и понимание динамического полиморфизма. Исключения и гарантия безопасности: хорошо, что разобраны строгая/базовая гарантия, RAII и запрет на «летящие» исключения из деструкторов. Это тот слой зрелости, который напрямую влияет на качество промышленного кода. noexcept, trait’ы, declval: сильный блок про “типовую метапроверку” и реальную практику — как писать обобщённый код, который не превращается в минное поле. Что можно улучшить (по делу): В тестах иногда есть двусмысленные формулировки (“всегда”, “в начало/конец” для ассоциативных контейнеров), из-за чего правильный смысл приходится угадывать по ожиданиям проверяющей системы, а не по стандарту. Хотелось бы либо уточнения условий, либо пояснений после ошибки. Полезно было бы добавить больше задач, где нужно написать минимальный корректный код под C++11/14, потому что многие среды обучения компилируют не C++17, и это влияет на решения (if constexpr, init-statement в if и т.д.). Итог: материал реально обучает не “синтаксису”, а инженерному C++: думаешь про контракты, исключения, сложность, корректность итераторов и требования к типам. После такого блока проще читать чужой код, писать шаблонные утилиты и не бояться STL.
Было сложно, интересно, но теперь я еще больше хочу писать на Rust вместо C++