Продолжаю публиковать свой опыт преподавания.
В этом году я серьезно пересмотрел практику преподавания предмета. Причины этого я уже излагал, но повторюсь для связности текста. Вот эти причины:
1. Курс несколько сократили по часам. 45 часов аудиторной нагрузки. Из них 30 часов на лекции и 15 часов на практику. Вообщем-то довольно мало для такого серьезного курса. Спасает тот факт, что и лекции и практические занятия проходят в одной аудитории (дисплейном классе), что позволяет на лекциях рассматривать некоторые практические вопросы.
2. Отменен экзамен по дисциплине, взамен только зачет. По моему мнению это несколько ослабляет мотивацию студентов в обучении, и влияет на серьезность отношения их к предмету. Чтобы усилить отвественность по предмету, я ввел дополнительный контроль. Студентам предложено самостоятельно изучать нотацию UML и сдать по ней ряд тестов и экзамен, используя курс на
http://www.intiut.ru. Поскольку мы купили локальную версию сайта, то у студетов есть возможность ею воспользоваться.
3. Я веду сейчас этот предмет один. С одной стороны есть +, т.к. уровень требований один. Но есть и минусы - достаточно тяжело проверять, контролироватьи давать обратную связь
Методика преподавания изменилась. В основу курса положена книга Рамбо и Блаха "UML 2.0 Объектно ориентированное моделирование и разработка". Также студентам предлагаются книги
Леоненкова "Самоучитель UML", известная книга
Гради Буча Объектно-ориентированный анализ и проектирование,
Руководство пользователя UML от его создателей, Алистера Коберна "Современные методы описания функциональных требований к системе", Крэга Лармана "Применения UML 2.0 и шаблонов проектирования".
Лекции читаются в виде презентации-дискуссии. Взял на себя гигантский труд создания презентационных материалов по лекциям. Тяжело, но интересно. И главное полезно, пересмактриваешь различный материал, ищешь способы доступного объяснения.
Практические занятия решил построить примерно так. Задача будет сквозная, вернее, просто описание некоторой предметной области, а к ней цикл вопросов и заданий. Однако резщультатом будет не связанный набор документов, а скорее просто набор артефактов, объединенных единой темой, но непредстваляющий собой законченное решение. Почему так? Да просто, чтобы научить строить дом, надо сначала научиться работать молотком и другими инструментами. И в силу ограниченности времени.
Сначала я дал пристрелочное задание.
Подготовьте диаграмму классов для каждой группы классов. Добавьте на каждую диаграмму не менее 10 отношений (ассоциаций и обобщений). При необходимости используйте имена ассоциаций и полюсов. Используйте также квалифицированные ассоциации и указывайте кратность. Показывать атрибуты и операции не нужно. При подготовке диаграмм вы можете добавлять дополнительные классы. Не забудьте прокомментировать диаграммы. Составьте глоссарий и связное описание по полученной диаграмме.
1) школа, детская площадка, директор, школьный совет, класс, книга, ученик, учитель, кафетерий, комната отдыха, компьютер, парта, стул, линейка, дверь, качели
2) автомобиль, двигатель, колесо, тормоз, тормозной огонь, дверь, аккумулятор, глушитель, выводящая труба глушителя
3) замок, ров, подъемный мост, башня, призрак, лестница, подземелье, этаж, коридор, комната, окно, камень, лорд, леди, кухарка
4) выражение, константа, переменная, функция, список аргументов, опе¬ратор отношения, член, множитель, арифметический оператор, опера¬тор, компьютерная программа
5) файловая система, файл, ASCII-файл, двоичный файл, файл-ката¬лог, диск, привод, дорожка, сектор
6) газовая печь, вентилятор, двигатель вентилятора, комнатный термо¬регулятор, терморегулятор печи, увлажнитель, датчик влажности, регу¬лятор подачи газа, регулятор вентилятора, клапан для теплого воздуха
7) шахматная фигура, горизонталь, вертикаль, поле, доска, ход, дерево ходов
сточная труба, холодильник, морозильник, стол, лампа, выключа¬тель, окно, дымовая сигнализация, охранная сигнализация, шкаф, хлеб, сыр, лед, дверь, кухня
На следующем занятии я дал такое задание. Студенты менялись своими результатами (диаграммами только) и должны были составить связное описание по диаграмме классов своих оппонентов. На это я отвел примерно 30-40 минут.
Далее к доске выходили авторы диаграммы и их оппоненты, которые пытались написать по ней связный рассказ.
Оппоненты демонстрировали на экране результат своего описания и делали замечания по диаграмме авторов. Авторы демонстрировали свое авторское описание и соглашались или нет с описанием оппонентов. Я комментировал диаграмму и указывал на ошибки, допущенные при ее составлении.
В целом результат оказался достаточно интересным. Единственно, что студенты не обратили внимание на ошибки, вернее в своем описании пытались их исправить, не говоря, что в исходной диаграмме наблюдается не логичность.
Самым сложным оказалось использование обощения
Пример:
Авторское описание
Замок – средневековое сооружение, построенное из камня. Он окружен защитной стеной, вокруг которой вырыт ров, наполненный водой. Чтобы попасть в замок через ров опускается подъемный мост, который сооружен в защитной стене.
Замок состоит из этажей. На каждом этаже находятся комнаты, и есть единый коридор. В комнате имеются окна. Чтобы попасть с одного этажа на другой существует лестница. На одном из этажей имеется кухня, где работает кухарка.
Также в замке имеется подземелье, где бродит по ночам призрак и не дает жителям замка спать.
Одним из самых высоких сооружений замка является башня, в которой живут лорд и его жена леди.
Описание оппонетов
Замок построен из камня, его окружает защитная стена, которую окружает ров и в которой сооружен подъемный мост, а он в свою очередь опускается через ров.
В замке есть башни, в каждой из которых живет свои Леди и Лорд, так же есть подземелье, где бродит призрак. Замок состоит из этажей, соединенных лестницами. На этажах есть комнаты которые могут иметь окна, коридор и может быть кухня. На кухне работают кухарки.
Еще одно описание оппонентов
Средневековый ЗАМОК Англии – это величественное сооружение, построенное из крепкого КАМНЯ рабочими из Древнего Рима, окружённое ЗАЩИТНОЙ СТЕНОЙ. ЗАЩИТНУЮ СТЕНУ окружал РОВ с водой, вырытый на много метров вглубь. Там живут крокодилы, охраняющие вход в ЗАМОК. В ЗАЩИТНОЙ СТЕНЕ сооружён ПОДЪЁМНЫЙ МОСТ, сделанный из крепкого дуба, который опускался через РОВ.
ЗАМОК состоит из нескольких ЭТАЖЕЙ, соединённых ЛЕСТНИЦАМИ. На ЭТАЖЕ есть (а может и не быть) КУХНЯ, где работают пухленькие КУХАРКИ, длинный КОРРИДОР, по которым бегают и играют детишки, а также КОМНАТЫ, в которых есть ОКНА, выходящие на прекрасные красоты той, ещё нетронутой природы.
В ЗАМКЕ есть БАШНИ, верхушки которых уходят высоко в небо, где парят орлы, грачи и ведьмы! :-) В них живут гламурные, пафосные и высокомерные ЛЕДИ и ЛОРДЫ.
УУУ!!! Страшно? Бойтесь, детишки! Ведь в ЗАМКЕ есть ПОДЗЕМЕЛЬЕ, по которому бродит ПРИЗРАК, пугающий всех жителей и гостей! Не попадайтесь ему! :-)
Небольшой разбор полетов от меня.
Ребыта-оппонеты, делая описание почувствовали нелогичность некоторых связей и устранили их. На мой взгляд - это ошибка. Например связь-обощение между камнем и замком. Следовало бы читать - ЗАМОК - это КАМЕНЬ, что отличает замок от камня - это наличие или отношение ко всяким стенам, рвам и т.п.
При этом второе описание оппонетов ближе к действительности - по карйней мере в части башен и леди с лордами.
При этом сами авторы дают описание не совсем коррелирующее с диаграммой.