Учебники отличные. Они учат нас делать вещи, выходящие за рамки нашего нынешнего уровня компетенции. Мы также любим смотреть или читать их по другой причине… Наш мозг производит такое же дофаминовое вознаграждение, как если бы мы на самом деле строили что-то. Обратная сторона? Даже если вы программируете во время просмотра учебника, вы все равно не создаете ничего нового. Так что учебная ловушка, она же обучающий ад, — это настоящая проблема.

Хорошо, так что же делать? Вам нужно сбалансировать просмотр учебных пособий и создание новых проектов с тем, что вы узнали. Перестаньте думать, что есть лучший способ, просто начните практиковать как можно скорее.

Персонализируйте пример, приведенный в руководстве

Хотя копирование точного примера, показанного в руководстве, кажется безопасным, если вы просто усвоите суть руководства и измените данный пример, вы сможете узнать гораздо больше. Например, предположим, что учебник хочет, чтобы вы построили таймер для яиц. Не делайте именно то, что показывает учебник. Внесите изменения, например, добавьте разные значения таймера для варки яиц… Например, разные значения таймера для яиц, сваренных вкрутую, и яиц, сваренных всмятку. Вы даже можете взять несколько яиц, сварить их, сфотографировать результаты и использовать их в своем приложении. Скажем, варите яйцо 6 минут, сфотографируйте его и используйте в своем приложении, варите яйцо 8 минут и покажите, какое оно, варите 10 минут и покажите, какое оно. Помните, мы учимся, делая…

Если что-то сделать слишком просто, вероятно, не стоит этого делать

Существует известная гипотеза, которая называется входной гипотезой. Его выдвинул Стивен Крашен. Эта гипотеза действительна для изучения второго языка, но я считаю, что она применима и в компьютерных науках, и во многих других сферах жизни. Согласно гипотезе, если «i» — это текущий уровень владения иностранным языком изучающим язык, то «i + 1» — это следующий непосредственный шаг в континууме развития. Следовательно, для достижения прогресса учащемуся всегда следует предоставлять «понятный ввод», то есть «i + 1». Короче говоря, чтобы быть успешным в вашем учебном путешествии, вы всегда должны искать это «i + 1» и избегать повторения одного и того же «i» снова и снова, а также избегать опережать себя.

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

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

Так что давай, начинай строить свой проект. Вы многому научитесь в процессе.