На протяжении всей начальной школы вам вбивают в голову концепцию ведения заметок. Если вы не делаете конспекты в классе, то учителя думают, что вы либо гений, либо не относитесь к учебе серьезно; часто последнее. Я, как и большинство прилежных людей, думал, что конспектирование способствует обучению. Я перенес эту концепцию в свое путешествие по программированию. Мне потребовалась целая вечность, чтобы пройти учебные модули. Я чувствовал, что я был самым медленным человеком в моем тренировочном лагере, и моя уверенность была в туалете. После ухода из моего первого учебного лагеря по семейным обстоятельствам я пересмотрел свою стратегию обучения. Изучение того, как учатся другие, дало мне понять, что мой способ был неэффективным.

Мой старый метод обучения был:

  1. Слушайте видео или лекцию и делайте заметки
  2. Просмотрите эти заметки позже и задайтесь вопросом, слышал ли я вообще лекцию.
  3. Еще больше расстраивайтесь из-за заметок, потому что формат не имеет смысла, и теперь я переформатирую его.
  4. Надеюсь понять прочитанное и двигаться дальше, или посмотреть видео или лекцию еще раз
  5. Повторение.

Это было утомительно и пустая трата времени. Пришлось прекратить делать записи.

Делая заметки, вы отвлекаетесь

Сосредоточиться — значит направить свое внимание на одну задачу и довести ее до конца или, по крайней мере, до момента, когда имеет смысл сделать паузу. Делая заметки, я должен был сосредоточиться на двух вещах одновременно: слушать и писать. Написание — сложная задача: выполнение ее при одновременном прослушивании видео, учителя и т. д. отвлекает. Мне потребовалось 30 лет, чтобы понять, что конспектирование не работает. Вместо этого я решил сделать заметку о том, что мне нужно пересмотреть. Оттуда я решаю, нужна ли мне тема для запоминания или усвоения концепции.

Флэш-карточки — это мощный инструмент

Когда я прочитал, что люди используют карточки для лучшего понимания сложных понятий, я был поражен. Никогда не приходило в голову, что это было что-то эффективное. Ключ заключается в том, чтобы не использовать эти усталые, устаревшие бумажные карты прошлых лет. Такие приложения, как Anki, позволяют создавать более интерактивные карточки. Я смог создать некоторые, которые, по сути, действовали как небольшая викторина для отработки концепции. Вы можете настроить тип карточки, которую хотите создать. Некоторые берут пользовательский ввод и проверяют его на соответствие предоставленному ответу — очень похоже на логическое значение в программировании. Вы даже можете редактировать HTML карты. Возможности безграничны в том, что вы можете создать.

Резиновые уточки кодируют лучше

Поначалу термин «отладка резиновой утки» был мне незнаком. Общая идея состоит в том, чтобы отлаживать свой код, последовательно проходя программу и объясняя ее неодушевленному объекту — в данном случае резиновой утке. Исследования показывают, что благодаря механизму обучения кого-то еще учитель получает более глубокое понимание темы. Это может быть частью механизма необходимости ссылаться на учебные материалы: было показано, что это увеличивает запоминание информации. Я использовал эту информацию и говорил сам с собой на темы, которые мне нужно было понять более полно. Каждые несколько дней я находил время, чтобы просмотреть главу или концепцию, произнося «речь» на эту тему для себя. Если я замечал, что спотыкаюсь на информации, я делал пометку и возвращался к ней.

Практика, практика и еще раз практика

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

Что делать с этой информацией

Информация — это сила; информация без действия - слабость. Если вы изучаете новый язык программирования, вам следует начать следующий модуль/урок прямо сейчас. Вместо того, чтобы делать заметки по всему модулю, вы должны записать концепции, которые, по вашему мнению, вам необходимо повторить. Когда вы закончите этот модуль, вернитесь и просмотрите то, что вы записали. Это что-то, что вы должны запомнить? Если да, то сделайте флешку. Это концепция, которую вам нужно усвоить? Если да, то сделайте карточку и попрактикуйтесь в этой концепции. Для более крупных понятий (логические значения, циклы, объектная ориентация и т. д.) я бы рекомендовал использовать метод «резиновой утки». Даже когда я знаком с общими понятиями других языков, я обнаружил, что эти темы требуют больше практики, чем другие.

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

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