Только что закончил первую итерацию домашнего задания №6. Первая итерация потому, что скорее всего по опыту 5 домашнего задания эту тоже придется дорабатывать и уточнять по замечаниям преподавателя. Это два самых часто перерабатываемых и сложных домашних задания на курсе.
Попробую привести здесь итоги своих наблюдений о том, что не получается у меня. Для себя выделил три довольно неожиданных и, как мне кажется, неочевидных момента.
1) Опыт с кортежами при типизации в домашнем задании 5.
Был удивлен тем фактом, что из 13 человек в нашей группе НИКТО не ввел пользовательский дополнительный тип при выполнении домашнего задания 5. Простое на первый взгляд задание победило всех! Меня это застигло врасплох, потому что обычно со мной такие вещи не происходят. Стал думать, почему так получилось, что не сработало лично у меня? Ведь в задании черным по белому написано:
Если хотите добавить свои собственные типы поверх базовых — добавьте! Но важно понимать: как и для чего вы будете их использовать, а также как ваши типы связаны с базовыми.
С одной стороны, вроде бы есть слово “если”, которое делает эту часть задания необязательной. С другой стороны есть два весомых контраргумента, которые обязаны были меня насторожить:
а) В курсе ничего не формулируется случайно. У всего есть цель и смысл.
б) Во время выполнения задания стандартных трех типов действительно не хватало!!! Пытаясь вписать свои концепты в три базовых типа часто казалось, что ни один не подходит идеально. А принимая во внимание первый аргумент - это уже фактически готовое указание к действию: “Создай свой тип!”
Но это сейчас так кажется… А в реальности во время выполнения я действовал следующим образом: просто шел по блок-схеме с описанием типов
и воспринимал ее как догматическую. То есть бывает вот так и никак иначе! И дальше мозгом было найдено идеальное решение, которое с точки зрения обучения нанесло двойной ущерб.
-
Я не разобрался достаточно ясно для себя, что такое кортеж. Не сформулировал конкретные и достаточно разнообразные примеры, не стал задавать вопросы в чате. НИЧЕГО! Просто оставил серое пятно с надписью: “Уточнить позже!”
-
Этот прием позволил мне все непонятное, не подходящее под другие базовые типы относить к кортежам!!! Я так и сделал! И самое важное, что на задание я потратил довольно много времени и мучительных размышлений. То есть небрежности не было.
И вот этот механизм понял только через два дня после по семинара, на котором мы подробно разбирали ошибки в выполнении 5 домашнего задания.
Важно еще, если я не ошибаюсь, что ни у кого в группе не получилось сделать это с первого раза. Отсюда делаю вывод, что просто емкости моего внимания при первом заходе на эту работу не хватило. Мозг взял ту часть, которую смог. А остальное отложил, найдя для себя компромисс, в моем виде под девизом “все непонятное отнесем к кортежам!”
2) Опыт с удержанием контекста во внимании.
Вторая ошибка была по утверждению преподавателя типичной, но для меня совершенно незаметной. Во время типизации при выполнении домашнего задания 5 я так увлекался размышлениями и моделированием классов, физических объектов и кортежей, что терял из виду собственно самое важное, что придавало этим размышлениям смысл - контекст! Я терял контекст собственных размышлений! Как это ни удивительно, но это факт! Обратил внимание на эту особенность и решил, что буду обращать дополнительное особое внимание именно проверке рассуждений на соответствие контексту.
3) И снова: “Здравствуйте!”.
Практика - вещь суровая. Принимать решения - хорошо, но выполнять их - совсем другое дело. Вооружившись опытом выполнения домашнего задания 5 и твердо решив особое внимание уделять удержанию контекста во внимании при типизации, я приступил к работе. Потратил на нее более 3 часов, дважды переписал отдельные фрагменты… Поставил статус “Готово к проверке” и довольный занялся другими задачами.
Здесь важно отметить один момент. Обычно я стараюсь делать домашние задания первым в группе. Так было с самого начала курса до 5 задания включительно. В этот раз неделя выдалась нагруженная и когда с сделал свою домашку, один из студентов уже сделал 6 задание и я, после того, как закончил работу над своим, решил посмотреть, выбрал ли он для типизации “старый текст” из 5 задания или взял новый.
Смотрю его работу и вдруг понимаю, что снова попался на той же ошибке… я снова потерял контекст и поэтому сформулировал свои рассуждения не вполне точно. Не знаю, какой механизм тут сработал, Видимо, изучая чужую домашку и продолжал в фоне анализировать свою. Но в моем пример главное не это, а то, насколько контр-интуитивный этот навык для укрепления на практике. По крайней мере, в моем случае.
И еще, наверное, стоит отметить, что тексты я пишу часто и не простые. Как правило, стараюсь делать их ясными и получается это выше среднего. И тем не менее, в двух заданиях две подряд ошибки одного типа…
Промежуточные выводы:
После этого щелчка по носу, вернулся в домашку, внес уточняющие правки. Еще раз убедился, что самый полезный опыт “малозаметный” и контр-интуитивный. Жду обратную связь от преподавателя. Посмотрим, насколько результативна работа над ошибками)))