Как я приручил MIT-овский курс по Computer Science

scott-yong-mitchallenge

«В ближайшие 12 месяцев я собираюсь пройти всю 4-летнюю программу курса Computer Science в MIT через интернет». Так начинался пост Скотта Янга под названием ‘MIT Challenge‘. Затея удалась. Он не только управился в поставленный срок, но и делился своим опытом в блоге. Статья, написанная по просьбе Кэла Ньюпорта, дает представление о том, какие методики Скотт использовал в процессе самообразования.

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

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

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

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

Сегодня мне хочется поделиться стратегией, которую я использовал, чтобы уместить в 12 месяцев 4-летнюю MIT-овскую программу по computer science. Эти техники я отточил на материале 33 предметов, разбираясь с тем, что помогает мне учиться быстрее, а что — нет.

Почему зубрежка не срабатывает

У многих идея освоить 4-летнюю программу университета может вызвать усмешку. В конце концов, может я просто зазубрил весь материал и сдал экзамены, ни в чем не разобравшись?

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

Вместо зубрежки мне пришлось искать способ ускорить процесс понимания материала.

Можно ли ускорить понимание?

Каждый может вспомнить тот момент, когда «Ага!» и что-нибудь наконец-таки стало понятным. Проблема в том, что у большинства из нас нет систематического способа достижения этого состояния. Типичный студент просто ходит на лекции, читает учебник, и, если этого мало, работает с практическими заданиями или просто перечитывает свои записи.

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

Да и само понимание не похоже на тумблер с положениями «вкл/выкл». Скорее, оно напоминает многослойную кожурку луковицы: начинаем с поверхностных суждений, потом глубже, к пониманию, а совсем глубоко уже спрятались научные революции. И процесс очистки луковицы понимания обычно совсем непонятен.

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

1. Установление связей
2. Исправление ошибок

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

Я мучался с преобразованием Фурье, пока меня не осенило, что это что-то вроде превращения напряжения в частоту или излучения в цвет. Подобные озарения пробрасывают связи между тем, что вы уже понимаете, и тем, что еще только пытаетесь понять.

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

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

Метод погружения: как учиться быстрее

За год моего эксперимента я получил совершенный метод скоростного обучения.

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

Мой метод можно условно разделить на три этапа:
1. Обзор материала
2. Практика
3. Озарение

Я расскажу о каждом этапе и о том, как вы можете работать максимально эффективно на примерах из своего опыта.

Первый этап: обзор материала

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

Если речь об учебном курсе — просмотрите лекции или прочтите учебники. Если речь о самообразовании — прочтите несколько книг по теме и соберите информацию.

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

Если вы смотрите видеолекции, хорошей идеей будет смотреть их на ускорении в 1.5 или 2 раза. Для этого скачивайте видео, а потом используйте функцию ускорения в приложениях-проигрывателях, например в VLC. Я однажды просмотрел семестр лекций за два дня при помощи этого метода.

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

Вот так, например, выглядят мои заметки, которые я вел во время занятий по машинному зрению.

Второй этап: Практика

Выполнение практических заданий ускоряет ваше понимание, но есть две основные ловушки, в которые вы можете угодить и потерять в эффективности:

№1 Нет мгновенной обратной связи

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

№2 Размельчение задач

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

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

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

Третий этап: Озарение

Первые два этапа нужны, чтобы вы могли понять, что именно вы не понимаете. Это совсем не так просто, как может показаться. Бывает, нам лишь кажется, что мы с чем-то разобрались. Или, например, в общих чертах тема нам ясна, а какие-то детали — нет, и не ясно, какие именно.

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

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

Фейнмановская техника

Я впервые столкнулся с этим методом в автобиографии нобелевского лауреата по физике Ричарда Фейнмана. Он рассказывал о том, как мучался с каким-то сложным исследованием и решил тщательно разобраться с каждой-каждой деталью задачи, осваивая все доступные материалы, до тех пор, пока не придет понимание исходной задачи.

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

Вот короткое видео, которое описывает эту технику.

Суть проста:

1. Возьмите лист бумаги
2. Запишите идею, с которой хотите разобраться, в верхней части страницы
3. Опишите эту идею так, будто объясняете ее кому-то другому

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

Берете эти пропуски, формулируете вопросы и ищете ответы в учебнике, у преподавателя или в сети. Обычно искать эти ответы становится гораздо проще, как только вы обнаружили, что именно было неясно.

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

Когда совсем ничего непонятно

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

Вот так у меня получилось разобраться с фотограмметрией.

Для освоения методик

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

Пример: как я разбирался с тем, как использовать grid acceleration.

Для формул

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

Вот так я разбирался c преобразованием Фурье.

Для проверки памяти

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

Вот так я на экономике разбирался с идеей хищнического ценообразования.

Глубокие знание

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

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

Аналогии

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

Визуализации

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

Упрощение

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

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

Честно говоря, сплагиатить чей-то инсайт — это тоже ок. Не обязательно понять что-нибудь каким-то уникальным способом. Например, представление комплексных чисел в двумерном пространстве едва ли можно назвать оригинальным, но это срабатывает. Процесс репликации ДНК, описанный как «расстегивание застежки-молнии только в одну сторону» не очень-то хорошая аналогия, но когда вы понимаете, что к чему, это тоже срабатывает.

Способ учиться быстрее

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

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

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

А если я не студент?

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

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

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

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


Оригинальный пост в блоге Кэла Ньюпорта (английский).

Скотт Янг

Писатель, блогер, разработчик, learning-hacker. За год самостоятельно изучил 4-летнюю программу MIT курса Computer Science.

  • MaX

    Спасибо за перевод!
    Хорошая статья! :)

  • Andrey Kuskov

    Спасибо, добавил в закладки. Буду делиться с другими.

  • Nikolai Rozhkov

    Спасибо вам за перевод.
    Есть в нём конечно небольшие неточности, одна из вопиющих — это перевод предложения:

    «Practice problems should be used to highlight areas you need to develop a better intuition for.»
    как
    «Практические задания нужно использовать, чтобы прокачать свою интуицию в рамках данной темы.»

    Тут же говорится немножечко о другом, на сколько я понял, что-то типа:
    «Практические упражнения нужны чтобы ВЫЯВИТЬ те ОБЛАСТИ для которых уже нужно прокачивать интуицию (то самое более глубокое понимание)». А уже для этого техника Фейнмана подходит лучше, чем тупо застревание на этапе перемалывания задач.

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