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

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

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

Типы сократовских вопросов

  • Вопросы, уточняющие
  • Вопросы, которые исследуют цель
  • Вопросы, которые исследуют предположения
  • Вопросы, которые исследуют причины и доказательства
  • Вопросы о точках зрения и перспективах
  • Вопросы, которые исследуют последствия и последствия
  • Вопросы о вопросах
  • Вопросы, которые исследуют концепции
  • Вопросы, которые исследуют выводы и интерпретации

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

Сэнди: Что в этом объекте затрудняет рефакторинг?

Класс: не открытый (для рефакторинга).

Сэнди: Почему не открывается?

Класс: объект тесно связан с другим объектом и зависит от него.

Сэнди: Есть что-нибудь еще?

Класс: объект делает слишком много.

Сэнди: К чему это может привести?

Класс: это может усложнить поддержку кода.

Сэнди: Итак, что мы можем сделать, чтобы упростить рефакторинг?

… и так далее.

Целевые концепции часто были просты для понимания. Но этот метод гарантировал, что будет время подвергнуть сомнению эти концепции. Задавая им вопросы, это часто приводило к прочному пониманию.

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

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

Ссылки и ресурсы

Другой

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