Имя материала: Методика преподавания информатики

Автор: М.П.ЛАПЧИК

15.4. методика обучения объектно-ориентированному программированию

 

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

В ходе изучения данного курса будут решены три круга задач:

• освоение методологии объектно-ориентированного программирования;

• овладение техникой объектно-ориентированного программирования на одном из языков;

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

При этом немаловажную роль играет выбор языка программирования. Быстро растущая популярность визуального программирования (которое не тождественно классическому объектному, но связано с ним многими общими идеями) в системах программирования типа Delphi, Visual Basic, C++Builder делает привлекательной идею положить одну из них в основу курса. На этот счет в педагогической литературе высказываются различные точки зрения.

Одна из них состоит в том, *гго несомненная занимательность и облегченность создания программ визуально-объектным способом не вполне соответствует усвоению идей и методов объектного программирования при проведении относительно короткого спецкурса. Другие аргументы в пользу ориентации в школьном курсе информатики на традиционные объектные средства, содержащиеся в версиях языка Турбо Паскаль от 5.5 до 7.0, — несомненная преемственность по отношению к курсу программирования на Паскале, существенно меньшие требования к компьютерам (поскольку объем программного кода, создаваемого с помощью визуальных средств, обычно весьма велик).

Другая, в значительной мере противоположная точка зрения связана с ориентацией в первую очередь на систему программирования Delphi (реже — на Visual Basic). Delphi является системой объектного программирования, созданной на базе Паскаля; по оценке специалистов, ее профессиональный уровень очень высок. Фирма Borland (в начале 1990-х гг. сменила название на Inprise), создавшая повсеместно используемый для обучения программированию язык Турбо Паскаль, вложила в Delphi максимально комфортный для разработчиков и пользователей интерфейс в стиле Windows. Delphi 4.0 является одновременно средством разработки приложений для архитектуры «клиент-сервер», приложений для Internet, корпоративных систем доступа к данным. Вместе с тем отнюдь неочевидно, что все эти возможности можно (и надо) как-то отразить в небольшом школьном курсе информатики.

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

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

Опишем ниже кратко два варианта школьного курса объектно-ориентированного программирования; оба реализованы практически. Один из них ориентирован на более традиционные средства Object Pascal, другой — на Delphi.

 

Курс «Основы объектно-ориентированного программирования», разработанный А. Б. Кузнецовым [5] (Челябинский гос. пед. ун-т), рассчитан на 34 часа и рассматривается разработчиком как продолжение курса «Программирование на Паскале», в котором вопросы объектно-ориентированного программирования не обсуждаются. Курс может быть реализован в школе с углубленным изучением информатики (скорее всего, в XI кл.).

 

Тема «Основные сведения о технологии

 проектирования программ»

 

Общая схема процесса проектирования программ. Технология программирования, сложность программ и формализация. Эволюция технологий программирования и языков программирования. Этап проектирования программы: формализация условия задачи, проектирование и моделирование — сходство и различие, методы структурного подхода, способы представления результата (виды используемых моделей). Этап программирования (реализация структурного подхода на языке программирования Турбо Паскаль).

 

Тема «Декомпозиция: выделение

предметной области»

 

Сравнительный анализ структурного и объектно-ориентированного подходов на этапе декомпозиции. Предметная область. Принцип абстрагирования и выделение абстракций.

 

Тема «Уточнение элементов предметной области

в виде классов и объектов»

 

Объект: понятие, характеристики (состояние, поведение, индивидуальность), взаимодействие объектов в проектируемой системе. Класс: понятие, описание. Структура интерфейсной части описания класса. Два типа взаимосвязи между предметами и понятиями: тип-вид, целое-часть. Отношения между классами в проектируемой системе (наследования и использования).

 

Тема «Разработка механизмов взаимодействия

 классов и объектов»

 

Понятие механизма взаимодействия структур данных в программе. Активность, видимость и способ взаимодействия объектов. Классификация, как метод и форма упорядочения объектов и классов, связанных отношениями наследования. Возможные подходы по определению основания классификации: классическое распределение по категориям, концептуальное объединение, выделение прототипов. Форма взаимодействия классов, связанных отношением использования — «составная часть».

 

Тема «Описание объектов и классов на языке

программирования Турбо Паскаль»

 

Тип данных OBJECT (понятие класса). Синтаксис описания интерфейсной части класса: поля и методы, инкапсуляция (принцип ограничения доступа к данным и методам классов, понятие об области видимости). Переменные типа OBJECT (понятие объекта). Инициализация и правило доступа к полям объекта. Использование оператора WITH и параметра SELF при описании реализации методов класса.

 

Тема «Наследование. Иерархия классов»

 

Принцип наследования: характеристика, применение в языке Турбо Паскаль.

Класс-предок и класс-потомок: описание, иерархия, варианты переопределения структуры методов «предка» (на примерах).

 

Тема «Наследование и полиморфизм»

 

Раннее и позднее связывание: статистические и виртуальные методы. Создание таблицы виртуальных методов (ТВМ), ее роль. Конструктор и деструктор. Функции TypeOf и SizeOf. Совместимость объектных типов.

 

Тема «Внутреннее представление данных»

 

Распределение памяти для выполнимого кода программ на Турбо Паскале. Внутреннее представление данных объектного типа, ТВМ. Недостатки в использовании виртуальных методов при описании классов. Динамические методы. Таблица динамических методов (ТДМ) и ее внутреннее представление.

 

Курс «Основы программирования на Delphi», разработанный И.П.Половиной (Пермский гос. пед. ун-т), также рассчитан на 34 часа и рассматривается разработчиком как продолжение курса «Программирование на Паскале». Курс нацелен лишь на первичное знакомство с важнейшими понятиями и средствами языка и оставляет в стороне ряд его возможностей, отмеченных выше, чрезвычайно важных с точки зрения профессионального разработчика программных систем.

 

Тема «Основные понятия объектно-ориентированного программирования»

 

Формула объекта. Методология объектно-ориентированного программирования.

Объект как совокупность полей данных и методов их обработки.

Визуализация объектов. Объекты и компоненты. Классы объектов.

Инкапсуляция, наследование и полиморфизм — три кита объектно-ориентированного программирования.

Объектные типы данных — классы. Описание класса: поля, методы и свойства.

Экземпляры класса — объекты. Динамический характер объектов. Уточненные имена полей и методов.

 

Тема «Идеология программирования под Windows»

 

Интерфейс Windows. Принципы работы Windows-приложений. Принципиальные отличия DOS-программы от Windows-приложений. Порядок обработки событий при работе в среде Windows.

Принципы построения Delphi-приложений; технологии визуального программирования и событийного программирования. Последовательность действий при разработке Delphi-приложений.

 

Тема «Визуальная среда программирования Delphi. Инструментарий Delphi. Основные категории Delphi:

свойства, события, методы»

 

Окна в Delphi — главное окно, окно формы, окно инспектора объектов, их структура.

Свойства как атрибуты объекта. Примеры свойств (Left, Top, Width, Height, Visible). Изменение свойств компонентов визуально и программным путем. Виды свойств, отображенных в инспекторе объектов.

События как свойства процедурного типа. События мыши, клавиатуры и системные события.

Методы. Простейшие примеры применения методов.

 

Тема «Структура приложения в Delphi. Проект.

Разработка сценария проекта. Файлы проекта. Описание файлов»

 

Последовательность действий при разработке сценария проекта.

Основные типы файлов проекта Delphi-приложений. Файлы описания форм. Файлы программных модулей. Главный файл проекта.

Сохранение файлов проекта.

 

Тема «Управление компонентами при проектировании. Форма,

ее свойства, события, методы»

 

Запуск Delphi и выход из среды.

Работа с компонентами: помещение на форму, выделение компонента, удаление компонента, копирование. Использование встроенной помощи. '

Форма и ее свойства. Задание размеров и положения формы. Автоматическое размещение формы. Задание цветов. Заголовок формы и значок формы. Видимость формы.

Основные события формы (OnCreate, OnShow, OnActivate, OnCloseQuery и парные к ним).

 

Тема «Разработка и реализация простого приложения»

 

Данная тема является сугубо практической. Пользуясь ранее полученными знаниями, учащиеся должны создать простейшее приложение. В качестве такого приложения может быть рекомендована программа «Вычислитель», которая складывает два числа и выдает на экран результат (рис. 15.10).

 

Рис. 15.10. Кадр приложения

 

Разработка приложения в методическом плане складывается из следующих этапов.

А. Постановка задачи, включающая:

• точную формулировку решаемой задачи;

• изображение на бумаге всего того, что планируется увидеть на экране, т.е. создание кадра; кадров может быть один или несколько, но в данной теме рекомендуется обойтись одним;

• написание сценария работы приложения. Б. Разработка формы. В. Обработка событий.

 

Тема «Разработка проекта»

 

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

В качестве примера такого проекта можно предложить разработать редактор просмотра картинок. Пусть приложение состоит из двух форм: главной формы — заставки (например, рис. 15.11) и рабочей формы (рис. 15.12), где и развернутся все основные события (загрузка картинок с помощью меню File и редактирование с помощью меню Edit).

        Рис. 15.11. Вид главной формы приложения

 

         

 

           Рис. 15.12. Пример рабочей формы приложения

Тема «Графические возможности Delphi»

 

Способы вывода графической информации. Использование компонентов Image и Shape.

Создание и отображение картинок с использованием Image Editor. Отображение геометрических фигур с помощью компонента Shape. Формирование изображений программным способом. Свойства Canvas.

 

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 |