Алгоритмы: Что стоит знать перед тем, как идти на курс.
Что сделано классно:- Автоматическая проверка заданий на платформе yandex contest. Вы загружаете код в окошко, нажимаете кнопочку и через пару секунд получаете вердикт: сколько времени работал ваш код на разных наборах данных, сколько съел памяти, сколько тестов проходит ваша реализация. Вы можете развлекаться с ним в любое время, попробовать писать код на разных языках или на одном языке, но разными способами, и сравнивать эффективность. Очень крутая штука!- Каждые 2 недели вы получаете новый набор задач. Среди них около 15 необязательных и пара "экзаменационных". Условия прохождения курса - вы решили n процентов необязательных задач и все обязательные. Если вам не хватило времени пройти все задачи - вы можете вернуться к ним в любой момент обучения, это удобно. - Благодаря лимитам времени и памяти, выставленным в contest, вы по новому взглянете на привычные конструкции языка. Вы с удивлением обнаружите, что некоторые привычные вам методы имеют более быстрые аналоги.- Если что-то не получается - можно и нужно задавать вопросы. Мне нравится, что вначале наставники стараются намекнуть на те случаи, которые вы не учли в коде. Такого, чтобы вам сразу дают ответ не будет. Но если вы не понимаете что от вас требуется вам подскажут, расскажут теорию, и, возможно, организуют вебинар с разбором трудных задач.- Милые задачки-квизы в теории заставляют задуматься и разбавляют "лекционные" участки урока. Почитал теорию - порешал квизы - читаешь дальше.Что вам может не понравится:- Вы не поймёте, почему ваш код падает в yandex.contest. Вы увидите только тип ошибки: превышен временной лимит, ошибка при компиляции, неверный ответ в одном из тестов. Какие данные проверялись в тесте вы не узнаете. Мне это нравится - нет соблазна "подогнать код под тесты" и приучает продумывать тесты самостоятельно. Но, судя по чату, некоторых это напрягает. Если вам надоело гадать почему чёртов код падает - вы всегда можете спросить это у наставника.- Часть задач не связана с теорией. В основном это задачи на смекалочку, которые можно решить просто хорошенько подумав. Если в вас нет азарта и любви к програмированию - будете материться "нам этого не объясняли".- Вас добавят в кучу чатов в slack. У каждого чата - своё назначение и свои правила. Вначале это вызывает отторжение, но потом смиряешься)- Если вы решили пройти курс на малознакомом вам языке - вам будет больно. Курс подразумевает, что вы уже знакомы со всеми основами и немножко знаете "фишки" языка. Всё-таки это курс предназначен не для обучения программированию, а для оптимизации ваших подходов.- В описание некоторых задач сложно въехать сходу. Техническое описание обёрнуто историями про персонажей, которые участвуют в теории курса. Иногда это сбивает с толку, например есть задача про то, как один из персонажей выбирает где купить дом. Но эта сторонняя информация вам не пригодится для того, чтобы решить задачу.- Заданий, которые проверяет живой человек, всего пара штук раз в 2 недели (экзаменационные задачи). Именно в них вы получите отзывы о качестве вашего кода и советы по улучшению. В остальных случаях ответственность за отсутствие классного решения лежит на вас. Хотя вы всегда можете попросить наставника подсказать вам, как сделать код лучше. Но инициатива должна исходить от вас.В общем, подводя итоги:Если человек не горит от программирования, плохо знает язык и не любит решать головоломки - ему не сюда. Во всех иных случаях - велком, хотя бы ради изумительного набора задач и приятноструктурированной теории.
Плюсы: Автопроверки, помощь наставников, полезная теория, новые знания о языке
Минусы: Приходится думать, много чатиков, мало проверок людьми.