Когда вы начинаете учиться программированию, к вам приходит так много новой и насыщенной технической информации. Как вы все это усвоите и запомните?
Это вопрос, который я задавал себе много раз на моем собственном пути программирования. Пытаясь найти ответ, я экспериментировал с множеством обучающих тактик. Однако одно выделяется среди остальных. Я называю это подходом сначала применить, а затем изучить.
Если вы ищете действенный и действенный способ научиться программировать, я предлагаю вам попробовать.
Обучение в действии
Сначала применить, затем изучить означает, что сначала попытайтесь решить проблему. Цель не в том, чтобы получить правильное решение, хотя вы можете. Скорее, найти препятствие. Затем обратитесь к курсу или книге, например, чтобы высвободиться и глубже погрузиться в конкретное проблемное место.
Допустим, вы пытаетесь решить задачу, в которой вам предлагается использовать понимание списка. Вы добиваетесь некоторого прогресса, но застреваете, когда вам нужно использовать условное выражение. Попытка решить проблему сначала помогает осознать препятствие: использование условного оператора в понимании списка. Вы сузили свой фокус до одной вещи, а теперь остановитесь на ней.
И ты будешь. Поскольку вы первым попытались решить проблему, вы будете ссылаться на ресурс с определенной целью. У вас есть конкретный вопрос: как использовать условное выражение в понимании списка? Поэтому вместо того, чтобы пытаться выучить все или заново изучать то, что вы уже знаете, вы сосредоточитесь на одной лекции, в которой говорится об условных предложениях.
Как только вы получите то, что вам нужно - и это важный момент, - примените это к решению возникшей проблемы. Это требует некоторой дисциплины. Не просто пролистывайте лекции, чтобы пролистать их. Поставьте видео на паузу и примените свои знания.
Если вы снова застряли, выполните тот же итерационный процесс:
- Уточните свой вопрос (например, «почему этот цикл while не завершается?»).
- Найдите ресурс и сосредоточьтесь на ответе на свой вопрос.
- Примените то, что вы узнали, к текущей проблеме.
Признаюсь, смотреть видеоуроки проще. Однако когда дело доходит до обучения, легче не значит лучше. «Нас легко заставить поверить в то, что учиться лучше, когда это легче», - утверждают авторы книги Сделай это приклеиваемым, - но исследования показывают обратное: когда ум должен работать, учиться лучше ».
Сначала подайте заявку, а потом изучите, возможно, вам будет немного неудобно. Сначала может показаться, что вы медленно двигаетесь вперед. Но перемотайте на неделю или две вперед, и вы будете поражены тем, как много вы узнали и сохранили. Для этого есть ключевые причины.
Узнай и сохрани
Во-первых, информация, которую вы получаете из книги или курса, гораздо более значима, когда вы сначала пытаетесь решить проблему. Это потому, что ваш разум настороже.
Это как когда вы покупаете новую синюю машину и "внезапно" видите на дороге кучу синих машин. Точно так же, когда вы пытаетесь в первый раз, проблема, на которой вы застряли, оказывается в центре вашего внимания, когда вы сосредотачиваетесь на содержании лекции. Кроме того, информация, которую вы собираете, вызовет больший резонанс, потому что у вас есть конкретная ситуация, к которой можно применить ее.
Еще одна причина, по которой вы узнаете и запомните больше, сначала применив, а затем изучив, заключается в том, что мы склонны вспоминать времена, когда нам трудно. (Помните, насколько тяжелым был пробег на 10 миль? Вспомните, сколько усилий вы приложили, чтобы написать свою первую исследовательскую работу объемом двадцать с лишним страниц?)
«Когда вас просят бороться с решением проблемы, прежде чем вам показывают, как ее решить», - объясняет Make It Stick, - «последующее решение лучше усваивается и запоминается надолго ... показано решение, загорится свет ».
В-третьих, вы разовьете то, что я называю вашей «интуицией программиста». Это означает, что вы начнете выявлять закономерности и устанавливать связи по мере того, как вы изменяете существующие знания новыми и разными способами, просто сначала пытаясь решить проблему.
Внешкольный подход
Сначала подай заявку, а потом учись противоречит тому, как большинство из нас училось в школе: просиди лекцию, а потом сделай домашнее задание. Этот устаревший подход был поддержан многими учебными платформами и учебными курсами: циклически просматривайте бесконечное количество видеороликов. Тогда (возможно) в конце есть практическая задача или проект.
Я стал жертвой этого подхода, когда начал программировать, и обнаружил, что он крайне неэффективен.
Мы думаем, что добиваемся прогресса, потому что циклически просматриваем кучу лекций и бесчисленное количество деталей. Мы думаем, что учимся, потому что наблюдаем за экспертом, который делает процесс таким простым. Мы думаем, что "поняли".
Но часто это иллюзия. Мы не осознаем, что это иллюзия, пока не столкнемся с ситуацией, которая заставляет нас применять наши знания, а затем мы полностью застряли. Неудивительно, что мы так разочарованы прогрессом в программировании: мы тратим уйму времени на просмотр лекций, но не сохраняем информацию, потому что не применяем ее активно.
По этой причине просмотр курса от начала до конца не является способом обучения: информация не сохраняется. «В очень короткие сроки мы теряем около 70 процентов того, что только что услышали или прочитали», - отмечает Make It Stick.
Избыточное количество информации с самого начала бесполезно: хотя есть чему поучиться, вам не нужно знать все прямо сейчас. Также бесполезно читать лекции по уже знакомым концепциям.
Гораздо эффективнее - и определенно более эффективно - сосредоточиться на том, что вам нужно, когда вам это нужно. И способ узнать, что вам нужно, - это сначала попробовать: попытаться решить проблему.
Сделайте это активным
Обратите внимание: сначала подайте заявку, а затем изучите. Допустим, в задаче вас просит написать класс, но вы новичок в программировании, никогда не писали класс и ничего не знаете о классах.
Это ситуация, когда я бы порекомендовал выучить ровно столько, сколько нужно, а затем сразу же подавать заявку. Под словом «достаточно» я подразумеваю получить общую картину и не теряться в деталях. Затем сначала запустите итеративное применение, изучите второй подход: продолжайте решать проблему и проконсультируйтесь с ресурсом, если вы застряли.
Однако часто мы можем использовать имеющиеся знания для решения (или попытки решить) проблему, прежде чем переходить к пассивным способам обучения. Нам просто нужно применить наши знания по-другому или по-новому, а именно к этому вынуждает вас применять подход «сначала применить, а затем изучить». Кроме того, легко попасть в ловушку пассивного просмотра лекций, если вы не будете осторожны.
Чем быстрее вы начнете «делать», тем лучше вы научитесь. Так что сделайте свое обучение активным с самого начала, используя сначала подать заявку, а потом учиться. Старайтесь больше времени уделять тому, что вы хотите улучшить. Ведь повара готовят. Писатели пишут. Программисты.
Программист и писатель: amymhaddad.com | Programmerspyramid.com | Я пишу в Твиттере о программировании, обучении и продуктивности @amymhaddad
Первоначально опубликовано на amymhaddad.com.