Манифест по изучению программирования

Поколение Python: вводная часть из популярного курса, которую я вбил себе в мозг перед стартом обучения.

Манифест по изучению программирования Python

Мы привыкли к обучению по принципу: смотри сюда и повторяй за мной. Обычно так обучают в школах. Такой подход перестает работать классу к восьмому. Ученики задают себе вопрос: зачем делать то, что не приносит удовольствия? В школе пытаются «вбивать» знания в каждого, независимо от его желания. Но обучение неэффективно без главного условия: ученик должен принимать самое активное участие в получении знаний.

Освоить IT-профессию невозможно без тысяч часов самостоятельного решения задач.

Обучение после школы — неважно, в колледже, вузе, на курсах или даже у личного ментора (обратите внимание!) — подразумевает по большей части самостоятельное освоение и проработку материала.

Роль преподавателя (ментора) сводится к следующему:

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

Всю остальную работу учащийся выполняет сам.

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

Хочу выделить 4 принципа изучения программирования, которые по моему опыту работают.

1. В первую очередь тренируйте базовые навыки

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

Именно поэтому наши курсы содержат так много задач.

2. Пишите код

В памяти надежно сохраняется только то, что мы подкрепляем собственными действиями, опытом. Так устроен мозг. Когда читаем чужой код или смотрим видеолекцию, часто все настолько понятно, что кажется: “Зачем мне это повторять, ведь все ясно”. Это иллюзия! Стоит попытаться повторить логику, написать код своими руками, как тут же столкнемся с кучей сложностей и непонятных вещей, которые не удастся разрешить без подсказок. Копирование чужого кода тоже не способствует глубокому пониманию и усвоению навыка.

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

Чтение книг и просмотр лекций — хорошо, но без использования теории на практике мы не учимся.

P.S. Я очень люблю читать книги и смотреть лекции.

3. Занимайтесь регулярно

Рекомендую уделять учебе каждый день по 2-3 часа (можно и больше). Это полезнее, чем 10-часовой интенсив раз в неделю. Нерегулярные занятия абсолютно неэффективны, потому что навыки не закрепляются, знания рассеиваются, про мотивацию и говорить не приходится.

Важно выработать привычку учиться постоянно.

4. Вам должно быть непонятно

Звучит странно, правда? Если вам что-то непонятно и вы тупите, это абсолютно нормально. Не нужно в такой ситуации считать себя недостаточно умным и неспособным изучить программирование. Думаете Senior программисты не тупят? Еще как. Они могут не сразу что-то понять, но не сдаются и изучают вопрос глубже! Даже очень опытные, матерые программисты часто не могут разобраться с чем-то новым. Они не стесняются обращаться за помощью. Но! Здесь есть одно важное “но”. Спрашивать нужно только после того, как с десяток раз попытаетесь разрешить проблему сами.

Классический вопрос на форуме наших курсов: “Что не так с моей программой?” Открываю проблемный код, запускаю программу, сразу выдается ошибка с расшифровкой. Интересно, человек, который задал вопрос, пытался запустить СВОЮ программу? Явно нет. Такой подход не позволит стать хорошим программистом. Задавая вопрос на форуме или в комментариях, нужно уточнять, что конкретно вы уже предприняли для решения, какие ваши шаги оказались безуспешными.

Многие темы наших курсов — например, элементы функционального программирования, анонимные функции, функции высшего порядка, итераторы, генераторы — не самые простые вещи. Требуется время и труд, чтобы эта информация уложилась в голове.

Если кажется, что учиться программированию легко, значит, вы не учитесь.

Вывод

Никакой курс (даже наши курсы 😢) не сделают из вас программиста без самообразования. Курсы — лишь способ достижения этой цели. Они могут сделать путь к успеху удобнее и быстрее.

Цель образовательных курсов — сделать процесс обучения проще и эффективнее. Но никто в мире не сможет учиться за вас.

Тимур Гуев, автор курсов «Поколение Python».

Поделиться
Отправить
Запинить