Немного об опыте бесплатного обучения.
По наводке очень хорошего человека попробовал такую вещь, как хэндбуки Яндекса. На текущий момент готово шесть разных хэндбуков: основы Python, основы C++, основы алгоритмов, основы Flutter, основы машинного обучения и основы чего-то там с соцсетями, не помню.
Я взял погонять хэндбук по Python, поскольку в своей карьере этим языком не пользовался (так получилось, знаете), а дочь сейчас именно его осваивает, хочу тоже в курсе быть.
По структуре. Хэндбук по Python (по крайней мере) состоит из блоков, в каждом из которых несколько параграфов. У каждого параграфа есть флажок «прочитано» и от нуля и более (где десять, где двадцать) задач. Задачи состоят из условия и нескольких тестов (из которых открыты данные только по двум). Решение задачи – рабочий код, который делает то, что указано в условиях задачи, укладываясь при этом в разумные ограничения по пространственно-временной сложности.
По плюсам. Довольно неплохое покрытие тем. В одном хэндбуке рассмотрены темы от самых простых, типа условных операторов и циклов, и вплоть до таких, которые не на каждом бесплатном ресурсе имеются, типа декораторов.
По минусам. Собственно, их (хочется надеяться, что временно) немало:
• в условиях бывают перечислены не все критерии оценки результата (например, задача на красивый вывод данных, в примерах все числа однозначные, а в тестах встречаются двузначные, и при выравнивании по левому краю тест принимается, а по правому отвергается, ну или наоборот, не помню, но факт в том, что до этого надо дойти);
• бывает, что тестовые данные не соответствуют условиям (как минимум одну задачу встретил, где в условии отдельно сказано, что гарантируется уникальность входных данных, а по факту в них есть повторы, поэтому решения, закладывающиеся на уникальность, тест проваливают);
• нет менторов (в хэндбуке в каждом параграфе есть красивые врезочки с приглашением подписаться на канал на телеграме, но по факту на этом канале тусят самые разные люди, от действительно разбирающихся и вплоть до гоношистого петушья с интеллектом сотрудника ростелекома или подобного, по итогу ждать ответа на вопрос, если таковой возникает, не особо имеет смысл, сам догадаешься гораздо быстрее);
• банально оболочка сыроватая (бывает, переходишь между уже решёнными задачами, в редакторе кода ранее отправленный код видишь со сдвигом на одну задачу).
В целом впечатление – как с абсолютно каждым продуктом Яндекса, задумка хорошая местами до замечательной, но работать над ней ещё и работать.