Я преподаю в школе Flatiron School уже несколько месяцев. Я думал, что моя жизнь быстро изменилась, когда я прошел через саму программу, но я вырос в геометрической прогрессии, находясь по другую сторону от нее. Я не осознавал, сколько усилий прилагается к обучению, потому что я привык опускать голову и «просто делать это». Я наблюдал, как мои ученики переходили от миллиона и одного вопроса о хешах к созданию приложений JavaScript и спрашивая меня, почему их отладчик не работает внутри выборки.

Одна важная вещь, которую я узнал, находясь по ту сторону экрана?

Оставайтесь на связи.

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

Например, я обнаружил, что веду студента через «сокращение» в Ruby. В документации говорится:

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

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

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

[ 1 ,2, 3, 4]

Мы шаг за шагом поговорим о том, как сложить все в массив.

0 + 1
1 + 2
3 + 3
6 + 4
=> 10

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

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

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