Как стать автором
Обновить

Развитие объектного мышления у студентов

Время на прочтение2 мин
Количество просмотров13K
Всем привет.

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

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

Задача сводилась к следующему. Есть человек и кинотеатр. Человек в кинотеатре может совершать различные действия. Например в кинотеатрах очень часто стоят игровые автоматы и человек может на них поиграть. Отсюда вытекает следующая модель:



Вы понимаете что модель можно еще больше детализировать! Создавать более верную иерархию и т.д.

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

Результат превзошел мои ожидания. :-) Студенты с удовольствием включились в решение задачи и предложили очень интересные и разные модели! Например одна девушка, сделала очень детализированную модель. Где посетитель мог поздороваться с любым другим посетителем, мог потерять жетон или напиться в баре, а также пописать в туалете мимо и вахтерша его за это ругала! :-) Другие углубились в детализацию кинозала, третьи описали очень полно казино в кинотеатре, с возможностью играть в покер и даже возможные комбинации этой игры. :-) А один парень реализовал паттерн команда, даже не подозревая о существование оного. :-)

В общем было очень интересно. :-)

После такого вот задания многие студенты поняли суть наследования на примере продавца. Точнее они сами до этого дошли. Они поняли что, и бармен, и кассир, и бабушка в туалете все являются продавцом и что все они могут продать что либо. И их модель, приятно для меня, пестрела наследованием конкретных продавцов от базового продавца. :-)

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

В общем жду вашего мнения, советов и предложений. :-) Я сегодня в очень хорошем настроении! :-)
Теги:
Хабы:
Всего голосов 135: ↑115 и ↓20+95
Комментарии107

Публикации