Как перестать прыгать по цепочке обучения и действительно с чего-то начать?

Вот что я чувствую, когда нахожу что-то интересное и хочу этим заняться:

  1. О, так мне нравится X (компьютерная графика), позвольте мне прочитать статьи/книги об этом.
  2. Хорошо, позвольте мне начать с чтения Y (OpenGL)
  3. Но Y нужна W (линейная алгебра)
  4. Что ж, чтение Z (вероятность) в первую очередь имеет больше смысла.
  5. Хм, вам не следует переходить к Z , не изучив U (перестановка/комбинация).
  6. И почему я забыл о чтении V (теория чисел)
  7. И что "нет..

Я всегда заканчиваю тем, что ищу и читаю «Лучшие книги для начала A/B/C/D…», вместо того, чтобы заставить себя начать с чего-то. Это поглощает всю мою энергию, и я никогда не начинаю.

В. Сталкивались ли с этим другие? В. Как вы справляетесь с этим и действительно с чего-то начинаете?

Любая помощь могла бы быть полезна.

Предыстория : Я работающий профессионал, имею степень магистра компьютерных наук (увлекаюсь компьютерной графикой и т. д.). Прошло два года с тех пор, как я получил степень магистра, но я все еще скучаю по академическим кругам, своей дипломной работе и другим интересным вещам, которые я там делал. Моя текущая работа тоже довольно интересна и частично совпадает с сферами моих интересов. Тем не менее, помимо работы, я действительно хотел бы продолжать заниматься вещами, связанными с моими мастерами, бок о бок (и МОЖЕТ БЫТЬ получить докторскую степень где-нибудь в будущем). Но непрекращающееся чувство незнания чего-либо берет верх.

Дело не в том, что меня заставляют изучать что-либо из этого. Это чисто для моих личных интересов, что я хочу преследовать его.


Обновление 1:

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

https://www.ted.com/talks/tim_urban_inside_the_mind_of_a_master_procrastinator

«Но нескончаемое чувство незнания чего-либо берет верх». Это то, к чему вам нужно привыкнуть в докторантуре, так что у вас уже есть хорошая квалификация. ;-)
Вы выполняете поиск в глубину . Вместо этого подумайте о ширине.
Есть причина, по которой у нас есть библиотеки с четко определенными API ( интерфейсы прикладных программ для людей, не связанных с CS), такие как OpenGL. Вся идея заключается в том, что если вы хотите создать программу с какой-либо причудливой графикой, вам не нужно знать или заботиться о том, что происходит ниже API . Вы верите, что человек, который это написал, понял, и вы можете сосредоточиться на деталях более высокого уровня, таких как создание Half-Life 3 или разработка нового программного обеспечения компьютерного зрения для ваших исследований. (1/2)
Исключение, конечно, если вы планируете улучшить то , что находится под капотом. Но тогда, вероятно, есть какой-то более низкий уровень, о котором вы все еще не заботитесь, например, о том, как расположены транзисторы на вашем графическом процессоре. Дело в том, что иногда интересно понять, как это работает под капотом. Но не позволяйте этому отвлекать вас от конечной цели — написать свою программу/статью/диссертацию/что у вас есть! (2/2)
Вы не единственный, как видно из этого вопроса от Maths.SE: math.stackexchange.com/questions/617625/…
Взять класс. Это даст вам некоторую внешнюю структуру. // Немного похоже, но может оказаться полезным: academia.stackexchange.com/a/78073/32436
@tonysdg Вам все еще нужно знать некоторые из них. Вы не можете использовать OpenGL в полной мере, не разбираясь в векторах и матрицах или не зная о написании шейдеров, различных видах освещения и т. д. Вам не обязательно знать все о том, как эти вещи работают, но вам нужно знать достаточно, чтобы знать, что вы хотите. делать неправильно, когда вы ошибаетесь (например, понимание расположения вектора полезно, когда ваша проблема заключается в том, что вы случайно оказались с транспонированной матрицей).
Зачем вам вероятность до линейной алгебры.
Как человек, работающий в графической индустрии, если ваша цель — стать экспертом в X , вам действительно не нужно идти намного дальше, чем около 10% пути через W.
Я слышал, что дилемма описывается как «Фокусник против Писца». «Фокусник» просто собирает кусочки воедино, чтобы что-то заработало. А «писец» полностью читает и понимает документы перед началом работы. В каком режиме вы находитесь и когда, полностью зависит от вас. Но и то, и другое время от времени полезно... но окончательное решение остается за вами.
Линейная алгебра, безусловно, поможет с компьютерной графикой, но не является строго обязательным условием — вы, вероятно, можете обойтись просто знанием того, как реализовать переводы и повороты, но многие вещи будут сбивать с толку. Хотя я не вижу, при чем здесь вероятность. (Если только вы не хотели оценить, как далеко вы могли бы зайти, не зная линейной алгебры? :P)
Аналогия «сначала в глубину» и «сначала в ширину» великолепна. Вы в области CS, так что вы, вероятно, понимаете это. Но в целом эта дилемма возникает не только в CS, но и в других областях. Вы также можете называть это подходом «сверху вниз» и «снизу вверх» . Кроме того, исходя из CS, я обнаружил, что склонен проводить слишком много времени в «режиме снизу вверх», и просто сдвиг в мышлении, чтобы явно попробовать подход сверху вниз (сделав необходимые компромиссы), помогает остановить великий спуск в бездонную яму. знаний.
Абстракция является ключевой. Вы должны иметь возможность работать с определенными свойствами чего-либо и верить, что они верны. Например, вам вообще не нужно знать, как работает компьютерный чип, чтобы создать веб-сайт, даже если он в конечном итоге выполняется на компьютерном чипе (во время интерпретации).
Если вы учитесь исключительно для личного интереса и не имеете никаких целей, то, по моему мнению, то, что вы делаете, совершенно нормально, если это приносит вам счастье. (Если вам все равно, куда вы попадете, то все равно, каким путем вы пойдете, — как сказал Алисе Чеширский Кот.) Но, возможно, вы не в восторге от этого явления, поэтому и задали этот вопрос. …
@NateEldredge Я думаю, что ваш комментарий можно превратить в отличный ответ. Не могли бы вы попробовать?
Я сделал что-то подобное, когда изучал машинное обучение, а затем закончил пару онлайн-курсов в конце моего поиска в глубину. Это выглядит мне совсем некогда.
См. также: "бритье яков" (одно ведет к другому...) и "сброс велосипедов" (сначала делаются веселые/неважные вещи).

Ответы (15)

Ответ Дэна очень хорош, и я хочу добавить еще один момент:

Смиритесь с тем, что с первого раза вы не сможете полностью понять тему. Учтите, что существуют десятилетия, а иногда и столетия (по крайней мере, для математики) исследований, поддерживающих тему, которую вы изучаете. Думать, что вы сможете «докопаться до сути» за несколько месяцев, не говоря уже о неделе или двух, нереалистично. Выберите тему и постарайтесь понять ее как можно лучше. Делайте заметки по другим интересным темам по пути, но не отвлекайтесь на них; просто примите их как предположения и двигайтесь дальше. Вы можете вернуться к ним позже.

Я думаю, что это правильно. Обычно, когда я читаю учебник в первый раз, я ожидаю только высокого уровня понимания предмета. Обычно я просматриваю большие части. Если это хороший учебник, может быть, через год или два я пересмотрю его более внимательно и сделаю несколько упражнений.
Хороший ответ, но вам следует убрать фразу «при первом проходе».
Первый проход точен на imo. С подросткового возраста любую книгу читаю на скорость от корки до корки, и только потом читаю в более медленном темпе, чтобы попытаться что-то понять
@JeffE Я не согласен. Здесь важен первый проход. Дальнейшие проходы улучшат ваше понимание. Вы не можете гарантировать, что кто-то не полностью поймет тему после нескольких тысяч проходов - и потратил много лет на обучение для получения докторской степени.
Если бы кто-то мог полностью понять любой предмет, не было бы исследований. Вот что такое исследование — найти что-то, что никто не понимает, и понять это лучше. Всегда есть чему поучиться.
@JeffE - Ваша точка зрения совершенно верна. Я оставляю эту фразу, поскольку она подчеркивает то, что новички должны услышать, они не узнают всего с первого раза. Тот факт, что они не узнают всего этого на втором, третьем или n-м проходе, также является правдой, но (для меня) это второстепенное сообщение.
Я только что закончила бакалавриат, и я усвоила этот урок на собственном горьком опыте.
Наивный вопрос здесь: где ответ Дэна? Кажется, я не могу найти...
@VincentFourmond - Дэн теперь "user24098".

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

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

  • Составьте план для себя. Вы можете начать с мозгового штурма всех связанных тем, которые вас интересуют (вроде того, что вы сделали в своем вопросе). Затем возьмите этот список и начните расставлять приоритеты. Какие темы вас больше всего интересуют? Сколько времени вы реально должны потратить? Сократите его до списка нескольких книг или ресурсов, которые вы надеетесь завершить в течение следующих нескольких месяцев.
  • Поставьте конкретную цель. Это может просто вытекать из составленного вами плана: «Этим летом я прочитаю эти четыре книги». Или это может быть отправной точкой для вашего обучения, которое задает направление, которое вы выберете. «Я узнаю, как работает X». Это может быть проект типа «Я создам небольшой рабочий пример программы, которая делает Y».
  • Используйте онлайн-ресурсы для обучения. Существует множество бесплатных онлайн-курсов по компьютерной графике и смежным темам. Кроме того, многие преподаватели колледжей публикуют свои учебные программы в Интернете, которые вы можете просто использовать в качестве списка для чтения.
+1 за конкретную цель: испачкать руки — лучший способ научиться
Бесцельное изучение не всегда непродуктивно. В противном случае отличный ответ.

Если вы действительно новичок в какой-то теме, то статьи по ней, вероятно, вам недоступны.

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

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

(полное раскрытие, я когда-либо делал это только с темами по математике, возможно, это не работает в других местах)

Первое предложение очень важно. В остальном... учебник может быть лучшим, а может и не быть, в зависимости от личного стиля обучения - важно начать с вводного материала . И практикую .
*вызывающе --> обязательно
Однако это, похоже, не решает проблему OP. Я думаю, что проблема ОП не столько в том, чтобы читать статьи по сравнению с учебниками или начинать с чего-то высокого уровня по сравнению с низким уровнем, а скорее в том, что, читая что-либо интересное, он найдет более интересные вещи на более низком уровне и перейдет к ним. Даже если он начнет с учебника самого низкого уровня, который сможет найти, позже он обнаружит, что есть темы еще более низкого уровня, и перейдет к изучению их по своей привычке.
@jlmg конечно, но у меня складывается впечатление, что OP хочет читать темы более низкого уровня, потому что они считают, что это поможет с темой более высокого уровня. Я хочу сказать, что если вы начнете с учебников, предназначенных для старшекурсников, вам не нужно будет изучать тему более низкого уровня, потому что соответствующие части будут представлены по мере необходимости.

Создавайте что-то и учитесь в процессе

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

Может быть, это менее подходит для чисто теоретических областей, но определенно работает для практических областей, таких как информатика и, конечно же, компьютерная графика.

Именно это. У меня на жестком диске 101 заброшенный наполовину законченный проект, но я могу объяснить, как работает каждый из них.
Мои исследования переходят от системной информатики (языки программирования, компиляторы, проектирование производительности) к теории, и этот подход отлично работает и там.
Точно. Я хотел бы сравнить это с «гибкой» разработкой программы (сделать что-то полезное/осязаемое быстро) с «водопадом» — ожиданием, чтобы получить отличный результат за один раз.

Я испытал то же самое как в академической среде (MSEE), так и в трудовой жизни, особенно в начале:

  1. Жизнь — это не соревнование академических знаний, поэтому не нужно чувствовать себя неполноценным . Всегда найдутся люди, умнее или знающие вас в какой-то конкретной теме/нише (см. 6. ниже), с большим количеством букв после имени. Сначала идите вширь, а не в глубину (как сказал @NateEldredge).
  2. Руководствуйтесь изучением минимума, необходимого для выполнения конкретной задачи. Всегда имейте в виду конкретное приложение и пропускайте все, что не имеет отношения к его достижению (будьте стратегически ленивы, в смысле целенаправленности). Если у вас нет цели, вы будете просто ходить по кругу. Вы всегда можете добавить статью/документацию/учебник в закладки и вернуться и прочитать ее позже, когда/когда/когда вам понадобится узнать больше. Не пытайтесь запомнить то, что вам не нужно, а это 99,99% того, что вы когда-либо прочтете.
  3. Документы: Учебники могут быть лучше газет. Веб-страницы могут быть лучше, чем газеты. Онлайн-уроки могут быть лучше бумажных. Вебинары, официальные документы, демонстрации продаж (по крайней мере, хорошие) могут быть лучше, чем документы. Пойти на встречу или поговорить с умным другом за выпивкой может быть лучше, чем газеты. Часто статьи представляют собой демонстрацию того, насколько умен, упоминает имя или связан ли автор (или даже хвастается своим финансированием или размером своих серверов), а не предоставляет краткую и своевременную доступную информацию непрофессиональной аудитории (и я говорю все это как кто-то, кто опубликовал статьи в моем MSEE и прочитал/просмотрел не менее 10 000 статей из разных дисциплин). Даже когда автор искренне пытается добраться до сути, он может быть не так хорош в общении, как другие каналы, о которых я упоминал выше.
  4. Десять 5-минутных молниеносных докладов или постерных сессий могут быть лучше, чем одно часовое выступление. Часто плотность информации пропорциональна log(duration) . Коммерческие конференции могут быть лучше академических (иногда). Разговоры в коридоре могут быть лучше, чем лекции.
  5. Используйте правильный ресурс. Списки рассылки, пользовательские форумы и возможность задать свой вопрос на мероприятии Meetup — отличные способы быстро узнать мнение толпы. Пока вы показываете, что сначала сделали основную домашнюю работу, и что вы не вампир-помощник. (Наоборот, отдавай тоже, когда можешь)
  6. Найдите стратегии борьбы с информационной перегрузкой/синдромом самозванца. В общем, осознайте и отбросьте все это, неадекватность, вину, горе, экзистенциальную тревогу, информационный перегруз из-за того, что не прочитали все сноски и цитаты и продирались по строчкам корректуры. Информация генерируется на порядки быстрее, чем мы можем когда-либо обрабатывать за всю свою жизнь, и с ускорением. Все, что мы можем сделать, это отфильтровать постоянно уменьшающуюся щепку, которая нам нужна, чтобы жить дальше. «Я всегда выберу ленивого человека для сложной работы. Потому что он найдет легкий способ ее выполнить» - Билл Гейтс. Лично я знаю одного парня, который обучил пакет машинного обучения автоматически суммировать 10 000 страниц ежеквартальных технических отчетов, которые ему приходилось держать в курсе в своей области (ИТ-безопасность). Он блестящий парень. Этого даже не было в его должностной инструкции. Всегда старайтесь срезать углы, автоматизировать, обобщать, абстрагироваться, использовать сторонние библиотеки с открытым исходным кодом.
  7. Дружба, профессиональные знакомства и контакты имеют значение . Знакомьтесь с умными людьми и избегайте бесполезных («ленивых» != «бесполезных»). Работайте со своей сетью. Никогда не обедайте в одиночестве (ТМ). И так далее. Теперь вы можете подключиться к 1000 человек, собирая всю информацию и опыт. Опять же, не злоупотребляйте им, отдавайте столько, сколько берете, и постоянно записывайте, что вы можете сделать, чтобы помочь каждому из этих людей. Свежий взгляд, поддержка, поощрение или даже какое-то расслабляющее занятие, позволяющее отвлечься от проблемы, или упражнения — все это складывается.
  8. Перфекционизм. Не позволяйте лучшему быть врагом хорошего . Удивительно часто «правильный» способ сделать что-либо не очевиден или не задокументирован, либо спорен, либо зависит от контекста. Вы должны найти баланс между пробами, прототипированием («код лучше аргументов»), взломом, ошибкой и быстрым обучением, а также поиском ответа. Академия склонна склонять нас к последнему и отталкивать от первого. Код версии 0.1 обычно не ориентирован на оптимальность (хотя в редких случаях, когда почти оптимальность может быть достигнута просто и быстро, мы должны стремиться к этому). Обязательно вернитесь и отшлифуйте/упростите/обобщите код по мере необходимости позже, когда позволят приоритеты.
Для фантомного downvoter, если у вас есть какие-либо конструктивные комментарии или критические замечания, пожалуйста, выскажите их.
Проблема с 2 заключается в том, что он делает недействительным обучение ради него.
@ВекарЕ. это правильное замечание, но я думаю, что это все же полезный способ ограничить себя, если у вас возникли проблемы с ограничением объема вашего исследования, как в OP.
@ВекарЭ. но то же самое можно сказать и о любом прагматическом наборе требований или сроков, или несовершенной существующей кодовой базе. Согласно 8., обучение состоит не только в чтении опыта и советов других людей. Одна вещь, которую я нашел полезной, — это вести набор заметок («Выясните, почему они реализовали X именно так…» «Каков рекомендуемый способ?») , к которым вы можете вернуться, когда позволит время.
@WeckarE.: Я имею в виду, не доводите это до крайности, но будьте внимательны, когда вы выходите за рамки изучения необходимого; вы всегда можете вернуться к нему позже. По моему опыту, более 75% содержания учебника можно было пропустить. А при чтении статьи я бегло просматривал введение, прыгал, чтобы посмотреть, есть ли какие-либо выводы и были ли они полезными, а затем просматривал методологию, прежде чем решить, стоит ли тратить на нее свое время. Иногда абстрактные обещания преувеличены, а результаты недостаточны, иногда нет, иногда статья бессвязна или излишне заумна.
@WeckarE.: это два типа обучения: обучение на писаниях других людей и обучение самостоятельно методом проб и ошибок. (Илон Маск, к примеру, является сторонником второго и резко критикует первое. Академия склонна предрасполагать нас к первому и пренебрегать вторым. Баланс существует.)

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

Ваш подход состоит в том, чтобы сказать, что вы хотите выучить А, но А использует аспекты Б, поэтому сначала вы выучите Б. И тогда вы обнаружите, что B использует аспекты C, поэтому сначала вы выучите C. О, дорогой, но C использует аспекты D, которые используют аспекты E, которые...

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

Обратите внимание, что мы превратили расходящийся ряд A + B + C + D + ... в сходящийся ряд A + B/10 + C/100 + D/1000 + ... .

Позже, если вы захотите провести реальное исследование в области А, вы, вероятно, обнаружите, что вам нужно узнать немного больше о В, что может означать, что вам нужно немного больше о С, и, возможно, вам придется спросить богов. чтобы открыть вам еще пару тайн D. Очень маловероятно, что вам когда-либо понадобится знать, что E вообще существует.

Как сказал Дональд Рамсфелд:

«[T] есть известные известные; есть вещи, о которых мы знаем, что знаем. Мы также знаем, что есть известные неизвестные, то есть мы знаем, что есть некоторые вещи, которых мы не знаем. Но есть также неизвестные неизвестные - есть вещи мы не знаем, мы не знаем».

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

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

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

Я, конечно, время от времени борюсь с вопросом «читать или делать» — читать о новых вещах весело, но в конечном итоге это не очень полезно (и, честно говоря, приводит к довольно поверхностному пониманию), если вы не делаете что-то с этими новыми знаниями. .

Мне в этом помогает выбор чего-то конкретного, что я собираюсь делать с этими знаниями. (Давайте признаем: «Изучение X» — не очень четко сформулированная задача.) Иногда требуется немного поискать что-то интересное в этой области, но обычно я могу найти что-то интересное . и послушный, не слишком заблудившись в сорняках. Возможно:

  • Воспроизведение работы на какой-либо бумаге, которая кажется интересной
  • Если авторы статьи уже сделали код доступным, играя с ним и пытаясь расширить его простым способом или исправить в нем ошибку
  • Обязательство научить некоторых людей пакету/технике/бумаге – коллегам, выступить с докладом на встрече или мероприятии Papers We Love и т.п.
  • Выберите набор четко определенных тем (обзор пары недавних связанных статей, метод, пакет) и напишите о них несколько сообщений в блоге.

и т.д. Тогда мне становится намного яснее, сколько времени я должен потратить на копание в соответствующем материале: «Поможет ли это мне написать код/исправить код/написать учебник/написать сообщение в блоге?»

Дополнительным преимуществом, особенно последних трех пунктов в списке, является то, что теперь вы вносите какой-то вклад в более широкое сообщество, а внесение полезного вклада — это хороший способ зарекомендовать себя в исследовательской области, если вы решите получить степень доктора философии . . или даже просто продолжить работу. И да, резюме статей (в частности, сравнение/сопоставление недавних статей), учебные пособия, PR-сообщения об исправлении ошибок и т. д. являются полезным вкладом — просто посмотрите, сколько ссылок получают обзорные статьи или сколько людей следят за неустанной работой Адриана Кольера над The ​​Morning Paper .

+1 за «делать что-то с этими новыми знаниями». Примечание. Возможно, вы захотите зарегистрироваться и использовать другое имя пользователя. user_numeric отстой как имя пользователя.
+1 Это подход, который работает лучше всего для меня. Например, в ОП упоминается компьютерная графика; У меня было бы гораздо больше шансов приобрести всесторонние практические знания по этой теме, если бы у меня была острая потребность, скажем, проиллюстрировать книгу для моих детей или сделать анимацию к юбилею моих родителей в следующем году, а не просто общая, теоретическая желание узнать об этом.

Это довольно просто:

  • Возьмите вводный учебник по X.
  • Прочтите его (и выполните упражнения).
  • Трудная часть: не переключайтесь на другой учебник/интернет-руководство/и т. д. по любому основному или связанному предмету, пока не закончите с книгой. В нем достаточно того, что вам нужно.

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

Моя стратегия, когда я хочу узнать что-то новое:

1) Подумайте о том, чего вы хотите достичь (имейте в виду конечную цель). Для вас это может быть анимация или игра и т.д.

2) Иди как можно дальше в одиночку. В начале это может быть ничего, и это нормально.

3) Изучите ровно столько, сколько вам нужно, чтобы перейти к следующему шагу, затем вернитесь к шагу 2. Повторите цикл.

Я считаю, что слишком много времени, потраченное на изучение справочного материала, приводит к чрезмерным когнитивным издержкам. Зачастую лучше всего начинать с простого и подходить к обучению как к процессу «как раз вовремя» (заимствование из принципа бережливого производства). Возможно, это немного упрощено, но вы, вероятно, уловили идею.

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

Я сталкиваюсь с этой проблемой в вычислениях все время.

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

Затем я извлекаю все доступные источники, чтобы заставить это работать в первую очередь. Источниками являются книги, учебные пособия, поиск в stackoverflow, видеоролики на YouTube (отличный ресурс!) или обращение к кому-то с просьбой помочь мне сделать это (в то время как я документирую все шаги, чтобы я мог повторить это самостоятельно). Если мне понадобится посторонняя помощь для решения проблемы, я переделаю ее снова с нуля, как только человек, который помог, уйдет!

Это дает мне либо быстрый успех, либо быструю причину отложить или сдаться!

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

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

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

Ваш текущий мыслительный процесс

«Мне нужно знать все о V , прежде чем я смогу выучить U »

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

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

«Я немного изучу V , а затем применю эти знания к U , чтобы узнать, как эти две вещи связаны»

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

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

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

С другой стороны, это также описывает классическое поведение с СДВГ (СДВГ) (не говорю, что это вы, но то, как это состояние обычно влияет на людей), поэтому также существуют механизмы преодоления этого направления. В хорошей книге по управлению отвлечением могут быть полезные советы. Может быть, так же просто, как пост-это?

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

Если у вас есть 2 темы (графика и линейная алгебра), то вы можете обнаружить, что вам не нужно изучать одну или знать, «как она связана» с другой.

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

Да, это случается все время — это случилось со мной, несмотря на докторскую степень, академическую карьеру и карьеру в отрасли.

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

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

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

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

Это меееее, о, чувак. Я такой дилетант. Я прощаю себя за это, если это хобби, а не настоящая страсть. Однако это не всегда приятно, и я тебя понимаю. Когда я делаю это, я также усложняю ситуацию, придерживаясь стандартов того, что, как я думаю, могут сделать другие люди. Например, я продолжаю убеждать себя, что если бы я действительно был заинтересован или способен, мне было бы легко заставить себя делать это и придерживаться одного дела. Однако это неправда, поэтому я научился относиться к этому по-другому. Выберите очень конкретную тему, которая вас интересует. Идите вперед и погуглите, но сядьте и скажите себе: «Я собираюсь найти хорошую книгу, чтобы узнать о [этой очень конкретной вещи] и купить ее». Не добавляйте его в свой список пожеланий на Amazon. Иди и закажи. Потом, когда придет, составьте себе примерный план того, как вы хотите пройти через книгу. Придумайте хотя бы представление о том, как часто вы хотите над ним работать, и будьте консервативны, чтобы его было легко поддерживать. Затем выкопайте сумку, возьмите чистый блокнот, ручку или карандаш и положите их вместе с книгой в сумку. Теперь это твоя школьная сумка. В нем больше ничего нет, кроме кошелька, телефона и ключей. В назначенное время возьмите свою сумку и сходите в кафе или библиотеку на ограниченный период времени (запланируйте час в первый раз и посмотрите, как вы себя чувствуете, но заранее определите период и придерживайтесь его). это). и положите их и свою книгу в сумку. Теперь это твоя школьная сумка. В нем больше ничего нет, кроме кошелька, телефона и ключей. В назначенное время возьмите свою сумку и сходите в кафе или библиотеку на ограниченный период времени (запланируйте час в первый раз и посмотрите, как вы себя чувствуете, но заранее определите период и придерживайтесь его). это). и положите их и свою книгу в сумку. Теперь это твоя школьная сумка. В нем больше ничего нет, кроме кошелька, телефона и ключей. В назначенное время возьмите свою сумку и сходите в кафе или библиотеку на ограниченный период времени (запланируйте час в первый раз и посмотрите, как вы себя чувствуете, но заранее определите период и придерживайтесь его). это).

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