Почему заметки не работают — и как я заменил их пазлами

от автора

Во время обучения чему-либо часто сталкиваешься с тем, что забываешь, что вообще изучал, особенно детали. Мне 18, я решил 822 задачи на LeetCode со стриком 430+ дней. Количество решённого само по себе ничего не гарантирует, если через пару недель не можешь вспомнить логику без подсказки. Поэтому я решил создать этот проект, но это относится не только к литкоду, но и ко всему остальному.

Начнем с простого. Писать заметки — это вполне рабочий вариант, но здесь есть важный момент: заметки работают эффективно только тогда, когда они заставляют мозг перерабатывать информацию («эффект генерации»), а не просто копировать её.

А теперь подробнее. Начнём с важного заявления психологов Родигера и Карпике, авторов классического эксперимента по retrieval practice: студенты предсказывали, что многократное перечитывание материала даст лучшее долгосрочное запоминание, а активное вспоминание — худшее, хотя на практике всё оказалось ровно наоборот.

Возможно, для многих это очевидно, да? Да, но суть глубже.

Когда человек перечитывает текст несколько раз, при повторном чтении слова «узнаются» легче и быстрее — возникает субъективное чувство беглости (лёгкости обработки). Мозг путает эту лёгкость восприятия с реальным пониманием и прочностью запоминания. То есть «мне легко это читать» ошибочно интерпретируется как «я это знаю». На это важно обратить внимание.

Это работа Роберта Бьорка — он же автор концепции desirable difficulties («желательных трудностей»): вещи, которые кажутся трудными и медленными в моменте (типа вспоминания без подсказок), реально дают куда более прочное обучение, чем лёгкие и приятные способы (перечитывание).

Источники: Generation Effect — Wikipedia; Generation Effect & Memory Encoding — PMC/NIH.

Но тут сразу хочется понять: а что за трудность? Я не думаю, что чем труднее, тем лучше результат — это глупость. У нас есть чёткая граница.

«Желательная» трудность — это трудность в процессе поиска/обработки информации, а не трудность в содержании или условиях.

Примеры:

  • Retrieval practice — трудно вспомнить без подсказки (но информация та же, просто путь к ней труднее)

  • Spacing effect — учить с интервалами, а не зубрить подряд (труднее, потому что забыл часть, но это заставляет мозг заново реконструировать связи)

  • Interleaving — чередовать разные темы/типы задач вместо блочной практики одного типа

  • Varying context — учить в разных условиях/форматах

Что НЕ является «желательной» трудностью:

  • Слишком сложный, непонятный текст, который просто выше уровня ученика

  • Плохо оформленный, нечитаемый материал

  • Отвлекающий шум, стресс, тревога во время обучения

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

Разница в том, что «желательная» трудность создаёт дополнительную, полезную ментальную работу поверх того же материала (усилие в обработке), а «вредная» трудность создаёт барьер к самому материалу (усилие тратится не туда — на дешифровку/фрустрацию, а не на закрепление).

То есть можно сделать вывод: трудность работает, только если это трудность самого усилия вспомнить/связать, а не трудность понимания материала или эмоциональный стресс. Простое усложнение текста или условий не даёт того же эффекта — граница очень тонкая, и именно поэтому нужен продуманный интерактивный формат

Как я попробовал это реализовать

Сначала важно оговорить сам формат: это не «выбери один правильный ответ из списка». Юзер получает набор карточек и должен собрать из них правильную последовательность — расставить шаги в нужном порядке.

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

Так выглядит сам пазл — карточки нужно расставить в правильном порядке (от 3 до 11 стеков):

selfuniversity

selfuniversity

Что убрано (вредная сложность):

Это напрямую связано с cognitive load theory — рабочая память ограничена, и если тратить её на расшифровку формата задания (допустим как на leetcode), на само обучение ресурсов не останется.

  • Не нужно «с нуля» вспоминать формулировку — варианты уже даны текстом. Для общей структуры в голове этого более чем достаточно, нежели вспоминать всё с нуля — в долгосроке «с нуля» не будет эффективным, я бы сказал, это хорошо скорее для повторения.

  • Понятная структура — фиксированное число стеков, видно объём задачи

  • Нет угрозы «чистого листа», когда человек паникует от пустоты

  • Ошибка обратима — можно перетащить карточку по-другому, попробовать ещё, посмотреть краткое объяснение.

Источник: Cognitive Load Theory in CS Education — ACM.

краткое объяснение

краткое объяснение

Это снижает emotional/format difficulty — ту, что мешает вспоминать не потому что мозг работает, а потому что человек тревожится или не понимает, что от него хотят.

Что оставлено (полезная сложность — сам retrieval):

  • Нужно распознать правильную последовательность действий, а не просто узнать текст (это уже выше уровня узнавания — с 4-5 похожими по теме вариантами реальный сценарий заставляет действительно понимать логику, а не угадывать по ключевым словам)

  • Дистракторы (неправильные карточки) специально похожи по теме, но логически неверны — то есть система заставляет дискриминировать правильный retrieval cue от похожего, но неверного (это прямо то, о чём в статье Karpicke пишут про «cue diagnosticity» — способность подсказки указать именно на нужное знание, исключив конкурентов)

Ну тут получается двойная активная нагрузка, а не просто вспоминание.

Обычный retrieval — это «вспомни, что было в тексте», а тут ещё добавляется логика: дистрактор специально сделан похожим и звучит разумно, чтобы нельзя было пройти на автомате. Значит нельзя просто узнать текст по ключевым словам — надо реально включить рассуждение, почему один вариант верный, а похожий на него — нет.

Получается не одна нагрузка (вспомнить), а две (вспомнить + логически обосновать выбор), и вот это уже сильнее, чем чистый retrieval practice из эксперимента Карпике. Но это можно улучшать — некая база получилась типо. Если хочешь подумать над вариантами ответа, можешь нажать на кнопку с «?» и карточка выделится желтым.

  • Порядок имеет значение — то есть тестируется не просто факт, а понимание причинно-следственной цепочки.

Почему мозг сопротивляется этому методу

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

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

Что дальше

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

Пользуюсь сам почти каждый день, и то, ради чего всё затевалось, начинает работать: возвращаюсь к теме через пару дней, или недель — и вспоминаю логику сам, а не читаю заново.

Из того, что уже есть:

  • 500+ задач по темам — устройство HashMap, Java concurrency, архитектуры MVC/MVP/MVVM, компьютерные сети, базы данных и другое

  • Планы обучения — треки подготовки к собесам (Java, Go, Python, Frontend и тд) с отслеживанием прогресса

  • Сообщество — лента, где пользователи делятся прогрессом, постами и тд

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

Есть приложение под андроид + PWA iOS

Скоро добавлю новые типы пазлов — 2D-пазлы для кибербеза и leetcode-style задачи. Об этом — в следующем посте, когда доделаю.

ссылка на оригинал статьи https://habr.com/ru/articles/1066940/