Программисту есть чему поучиться.

Но материала нужно запомнить и вспомнить ровно столько же.

Вы не хотите заново учить SQL, потому что не касались его уже несколько недель. Вы не хотите терять свое преимущество с HTML, когда узнаете о базах данных.

Мы хотим оставаться в курсе старых тем по мере изучения новых.

Представьте себе простой способ сохранить то, что вы приобрели. Есть: Anki, программа для карточек.

Важно не только использование программы с карточками. Но это еще и как вы его используете.

Получите и сохраните

Как программисты, мы тратим много часов на изучение ряда тем программирования. Нам нужно запоминать и быстро вспоминать информацию, которую мы уже усвоили с течением времени.

Anki помогает нам в этом.

Сегодня утром за своим постоянным столом я открыл приложение Anki на своем компьютере и открыл колоду карточек «CSS». Я просмотрел столько карточек, сколько смог за десять минут.

Затем я закрыл его и следующие два часа потратил на создание веб-приложения.

Закончив работу, я снова подключил Anki.

На этот раз я открыл свою колоду «JSON / Запросы» и просмотрел как можно больше карточек за двадцать минут. Не много, потому что я застрял.

Это одна из причин, по которой я использую Anki так же часто, как и я: чтобы определить области, над которыми нужно немного поработать.

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

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

Вот почему я намеренно выбираю колоды карточек, которые отличаются от того, что я изучаю или над чем сейчас работаю. Это помогает мне вспоминать старые материалы по мере изучения нового.

Space It Out

Anki полезен из-за порядка, в котором появляются карточки. Он использует интервальное повторение.

Это метод обучения, при котором вы постоянно пересматриваете тему. Например, сегодня вы можете увидеть новую карточку. Затем вы можете увидеть это снова через десять минут, день, неделю, десять дней, несколько месяцев и так далее.

Вы влияете на то, как быстро вы снова видите карту, в зависимости от заданных периодов времени, которые могут варьироваться.

Допустим, вам дали карточку, но вы неправильно ответили. Или вы сочли это довольно сложным и хотите скоро увидеть это снова. Если вы выберете «‹ 1 мин. », Вы увидите карточку менее чем через минуту.

С другой стороны, если вы получили правильный ответ или сочли его простым, вы можете выбрать более поздний временной интервал, например «4d» (четыре дня). Через четыре дня, когда вы снова увидите карточку, вы можете получить другой набор временных интервалов на выбор: например, одна неделя, десять дней или 1,6 месяца.

Идея состоит в том, что вы извлекаете информацию с течением времени с разными интервалами. Сложные карты показываются чаще, чем более простые.

Такая практика дает два преимущества.

Во-первых, мои карты перемешаны в том, что мне кажется случайным. Это означает, что я всегда должен быть готов.

Я делаю новую колоду карточек для каждой изучаемой темы, включая Git, HTTP, SQL, JavaScript и Python. Мне нужно быть готовым задать любое количество вопросов в рамках этой конкретной колоды.

В моей колоде «Python» я мог бы получить карточку о переменных класса. Еще один о словарных словах. А потом еще о генераторах.

Вы уловили идею; Мне нужно быть готовым ко всему.

Во-вторых, повторение через интервалы очень помогает при припоминании.

Я продолжаю возвращаться к темам, хотя и через разные промежутки времени, спустя долгое время после того, как выучил их. Это помогает мне понимать ранее изученный материал.

От интервалов между повторениями есть более широкое преимущество: они повышают вашу уверенность в себе.

Одно дело вспомнить, как решить рекурсивную задачу, когда вы изучаете рекурсию. Другое дело, когда вы можете вспомнить его через несколько дней, недель или месяцев.

Признаюсь, я не всегда могу это сделать, поэтому Anki полезен.

Но со временем повторение приводит к знакомству, что, следовательно, увеличивает мою уверенность в себе.

Смешать

Важно не только то, как работает Anki.

Именно то, как я ее использую, делает эту практику такой ценной.

Вы пишете SQL-запросы сегодня утром, но вам нужно решить проблему с JavaScript сегодня днем. Вы должны постоянно владеть несколькими языками. Вам нужно быстро вспомнить, как перемещаться по командной строке.

Другими словами, вы должны уметь поворачиваться. При разумном использовании Anki поможет вам подготовиться к этому.

Этот танец между новым и старым идет вразрез с тем, как большинство из нас училось в школе: линейно.

Начните с первой главы и двигайтесь последовательно, пока не дойдете до конца. Узнайте все по этой теме, а затем узнайте все по этой теме. Пройдите тестирование по одной теме за раз.

Такой линейный подход проблематичен для сохранения информации.

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

Изучая новые технологии, мы не хотим забывать о тех, которые узнали несколько месяцев назад. Мы хотим сохранить полученную информацию, а не переучивать ее.

Альтернативный вариант - чередовать изучаемые темы. Это когда вы смешиваете несколько тем или навыков во время практического занятия.

Вместо того, чтобы сосредотачиваться исключительно на одном, а затем на следующем, смешайте это: практикуйте несколько взаимосвязанных навыков вместе, - объясняет Scientific American. Пианист попеременно практикует гаммы, аккорды и арпеджио, в то время как теннисист попеременно практикует удары справа, слева и залп.

Вот как вы можете чередовать свою практику программирования с Anki:

  • Посвятите первые пятнадцать минут своей практики просмотру своей колоды «JavaScript», прежде чем углубляться в проблему с Python.
  • После часа работы над веб-страницей потратьте пятнадцать минут на просмотр своей колоды «Git».

Дело в том, что колода Anki, которую вы изучаете, должна отличаться от вашей основной программной деятельности. Это поможет вам понять ранее изученный материал.

Сделайте это активным

Я узнал кое-что важное об обучении: информация остается неизменной, когда обучение активно.

Когда я использую Anki, я не пассивно просматриваю карточки, «размышляя» над ответами. Напротив, это активный процесс.

  • На карточке меня просят написать SQL-запрос. Поднимаю DBeaver и пишу.
  • Другая карта просит меня перевернуть строку. Я открываю свой редактор, пишу функцию и запускаю ее.
  • И еще один просит меня запустить команду в командной строке. Я подхожу к своему терминалу и набираю его.

Я физически делаю то, что просит карта.

Это как мышечная память для пальцев.

Кроме того, я обнаружил, что если я просто «думаю» над ответом, я ускорю процесс и упущу одну или две детали. Потраченное время на написание команды или строки кода помогает укрепить мысленную модель, которую я пытаюсь построить.

Небольшие инвестиции

Вы тратите уйму времени и энергии на изучение некоторых сложных тем. Будьте внимательны и сохраняйте то, чему вы научились с Anki.

Для меня пятнадцать минут тут и там изучения карточек Anki - это крошечный вклад.

Это похоже на начисление процентов. Небольшие вклады в течение определенного периода времени могут принести большую прибыль.

Через призму программирования это означает оставаться на вершине горы материала и иметь возможность последовательно и быстро вспоминать огромное количество информации.

Я пишу об обучении программированию и о том, как это лучше всего делать ( amymhaddad.com).

Эта статья изначально была опубликована на сайте amymhaddad.com.