Подготовка будущих учителей информатики к обучению школьников объектно-ориентированному программированию

Вестник Нижегородского университета им. Н.И. Лобачевского. Серия: Социальные науки, 2015, № 1 (37), с. 247-251

247

УДК 378.1

ПОДГОТОВКА БУДУЩИХ УЧИТЕЛЕЙ ИНФОРМАТИКИ К ОБУЧЕНИЮ ШКОЛЬНИКОВ ОБЪЕКТНО-ОРИЕНТИРОВАННОМУ

ПРОГРАММИРОВАНИЮ

© 2015 г. М.А. Родионов, И.В. Акимова

Пензенский госуниверситет ulrih@list.ru

Поступила в редакцию 14.09.2014

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

Ключевые слова: подготовка учителей информатики, спецсеминар, объектно-ориентированное программирование, методика обучения.

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

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

В отечественной и зарубежной методической литературе существует несколько подходов к обучению объектно-ориентированному программированию: изучение принципов объектно-ориентированного программирования на примере построения графического интерфейса пользователя (И.А. Бабушкина, Г.С. Иванова, Т.Н. Ничушкина, Е.К. Пугачев); рассмотрение объектно-ориентированного программирования как дополнения к структурному программированию (И.Н. Аржанов, Н.А. Мещеряков); обучение на основе объектно-ориентированного проектирования (Т. Балд, Б. Мейер) [1].

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

программированию обучением работы в объектно-ориентированной среде, конструированием классов, объектов или созданием оконного интерфейса.

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

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

вания, например Delphi, Visual Studio, с целью разработки простейших приложений. Параллельно происходит теоретическое освоение основных принципов ООП. Нам кажется более предпочтительным первый подход, так как во втором случае есть опасность неверной трактовки некоторых базовых принципов, например инкапсуляции.

С целью реализации рассматриваемой методики в Пензенском государственном университете для бакалавров педагогического направления (профиль «Информатика») был разработан и внедрен в образовательную практику спецсеминар «Методика обучения объектно-ориентированному программированию (ООП)». В рамках данного курса предусмотрено углубленное знакомство будущих учителей с теорией и методикой обучения объектно-ориентированному программированию, с основными принципами и понятиями соответствующей образовательной технологии, с методикой рационального использования различных программных средств при работе над темой [2; 3].

Дадим структурно-содержательную характеристику дисциплине.

Спецсеминар рассчитан на 16 аудиторных часов. В таблице 1 приведено распределение часов по темам спецсеминара.

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

Занятие 1. Целью занятия является актуализация теоретических и практических знаний студентов по данной теме.

Задание № 1. Выполнить обзор основных учебников, рекомендованных и допущенных Министерством образования и науки Российской Федерации к использованию в образовательном процессе в общеобразовательных учреждениях, на 2013/14 учебный год.

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

Задание № 2. Составить тезаурус основных понятий ООП:

- класс;

- объект;

- свойство;

- метод;

- экземпляр;

- инкапсуляция;

- наследование;

- полиформизм;

- иерархия;

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

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

Задание № 3. Описать реализацию ООП в известных языках программирования.

Задание № 4. Подготовить доклады-презентации на темы:

- «Реализация ООП в языке программирования Pascal»;

- «Реализация ООП в языке программирования C++»;

- «Наиболее популярные объектные языки»;

- «История ООП»;

- «ООП - за и против».

Занятие 2. Начинается с докладов-презентаций и обсуждения подготовленного материала.

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

Первым заданием для студентов будет составление системы упражнений, направленных на введение понятия «класс».

Могут быть предложены следующие упражнения.

1. Привести примеры объектов из окружающей среды, их свойств и состояний. Заполнить таблицу (табл. 2).

2. Привести примеры объектов и их поведения (табл. 3).

3. Привести примеры классов и объектов этого класса (табл. 4).

4. Привести примеры описания классов на выбранном языке программирования (рис. 1).

Домашнее задание: самостоятельно продумать фрагмент урока по описанию класса в различных языках программирования.

Занятие 3. Введение принципа инкапсуляции. Термин «инкапсуляция», как известно, обозначает сокрытие отдельных деталей внутреннего устройства классов от внешних по отношению к нему объектов или пользователей.

Действительно, взаимодействующему с классом субъекту или клиенту нет необходимо-

Таблица 1

Структура спецсеминара

№ Тема Количество часов

1 Обзор основных понятий объектно-ориентированной парадигмы программирования 2

2 Методика введения понятий «класс», «объект» 2

3 Методика введения принципа инкапсуляции 2

4 Методика введения принципа наследования 2

5 Методика введения принципа полиформизма 2

6 Методические особенности обучения работы в объектно-ориентированной среде программирования 2

7 Разработка элективного курса 3

8 Защита элективного курса 1

Итого 16

Таблица 2

Введение понятия «класс»: упражнение 1

Имя объекта Свойство Состояние

студент имя Валерий

Таблица 3

Введение понятия «класс»: упражнение 2

Имя объекта Поведение

студент Посещает занятие

Таблица 4 Введение понятия «класс»: упражнение 3

Класс Объект

студент Петров Василий

ноутбук AsusN550JV

Примеры описания класса на выбранном языке программирования.

Студент

Имя Группа

Показ статуса

Object Pascal

Студент

Туре

Student=class Name: string [10]; Gruppa: string [5]; Procedure shQJftL End;

Показ статуса

Procedure student, show status

ШМа(пате,'-студент!'); End;

Рис. 1. Упражнение на введение понятия «класс»

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

Рассматривая пример с классом «Легковой автомобиль» (рис. 2), нетрудно проил-

люстрировать инкапсуляцию следующим образом. Основным субъектом, который взаимодействует с этим классом, является водитель. Вполне очевидно, что не каждый водитель в совершенстве знает внутреннее устройство легкового автомобиля. Более того, отдельные детали этого устройства сознательно скрыты в корпусе двигателя или в коробке передач. А в случае нарушения работы автомобиля, являющейся причиной неадекватности его поведения, необходимый ремонт выполняет профессиональный механик (рис. 3, 4).

Пример

Класс «легковой автомобиль»

Рис. 2. Упражнения на введение понятия инкапсуляции

Поля  Марка

Производитель  Объем двигателя  Мощность  Цена

Количество дверей

Методы

й Залить топливо  Завести мотор  Произвести торможение  Смена зимней/летней резины  Замена масла

Рис. 3. Упражнения на введение понятия инкапсуляции

Рис. 4. Упражнения на введение понятия инкапсуляции

Рис. 5. Упражнения на введение принципа наследования

Занятие 4. Ведение понятия наследования.

Задание № 1. Напишите программу с объектом «линия» как потомок объекта «точка» (рис. 5).

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

Описываемый спецкурс был неоднократно апробирован при подготовке бакалавров и магистров по направлению «Педагогическое образование». Были проведены лекции и мастер-классы для учителей информатики. Результаты апробации свидетельствуют о реализуемости данного спецкурса и о его эффективности в рамках поставленных задач [4; 5]. В настоящее время проводится работа по внедрению разработанных студентами элективных курсов и методических рекомендаций по их преподаванию в практику работы школ города Пензы, в частности классов информационно-технологического профиля.

Список литературы

1. Петров А.Н. Совершенствование методики обучения объектно-ориентированному программированию на основе объектно-ориентированного проектирования: Автореферат дис. ... канд. пед. наук. М.: ИИО РАО, 2009. 19 с.

2. Акимова И.В. Использование интерактивных программных средств при обучении программированию // Информатика в школе. 2012. № 9. С. 49 -50.

3. Акимова И.В., Родионов М.А. Методика изучения темы «массивы» при обучении программированию бакалавров педагогических специальностей профиля «информатика» // Информатика и образование. 2014. № 3. С. 20-25.

4. Родионов М.А., Акимова И.В., Губанов В.А. Пути и средства информатизации школьного математического образования: Учебное пособие. Пенза: ПГПУ, 2008. 112 с.

5. Акимова И.В., Родионов М.А. Обучение школьников структурированию знаний на основе использования программных средств образовательного назначения: Монография. Пенза: ПГПУ им. В.Г. Белинского, 2010. 180 с.

PREPARATION OF FUTURE COMPUTER SCIENCE TEACHERS FOR TEACHING OBJECT-ORIENTED PROGRAMMING TO SCHOOL STUDENTS

M.A. Rodionov, I.V. Akimova

The authors describe some methods for teaching object-oriented programming to students - future teachers of computer science. Special seminars are used as a means for implementing this section of training. The structure of the special seminar is described, some guidelines are proposed concerning the organization of classes.

Keywords: training of computer science teachers, seminar, object-oriented programming, teaching methods.

Referemes

1. Petrov A.N. Sovershenstvovanie metodiki obucheniya ob"ektno-orientirovannomu programmiro-vaniyu na osnove ob"ektno-orientirovannogo proektiro-vaniya: Avtoreferat dis. ... kand. ped. nauk. M.: IIO RAO, 2009. 19 s.

2. Akimova I.V. Ispol'zovanie interaktivnykh pro-grammnykh sredstv pri obuchenii programmirovaniyu // Informatika v shkole. 2012. № 9. S. 49 -50.

3. Akimova I.V., Rodionov M.A. Metodika izucheniya temy «massivy» pri obuchenii programmiro-

vaniyu bakalavrov pedagogicheskikh spetsial'nostey profilya «informatika» // Informatika i obrazovanie. 2014. № 3. S. 20-25.

4. Rodionov M.A., Akimova I.V., Gubanov V.A. Puti i sredstva informatizatsii shkol'nogo matematich-eskogo obrazovaniya: Uchebnoe posobie. Penza: PGPU, 2008. 112 s.

5. Akimova I.V., Rodionov M.A. Obuchenie shkol'nikov strukturirovaniyu znaniy na osnove ispol'zovaniya programmnykh sredstv obra-zovatel'nogo naznacheniya: Monografiya. Penza: PGPU im. V.G. Belinskogo, 2010. 180 s.