УДК 37.04

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

Козлов Сергей Валерьевич
ФГБОУ ВПО «Смоленский государственный университет», г. Смоленск
кандидат педагогических наук, доцент доцент кафедры информатики

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

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


THE ANALYSIS OF RESULTS OF EXPERIMENTAL ACTIVITY ON STUDYING OF BASES OF OBJECT-ORIENTED PROGRAMMING IN A SCHOOL COURSE OF INFORMATICS

Kozlov Sergey Valeryevich
FGBOU VPO «Smolensk State University», Smolensk
Ph.D. in Pedagogical Sciences, Associate Professor assistant professor of Computer Science

Abstract
This article is devoted to questions of studying of the object-oriented programming (OOP) at school. The article reveals the peculiarities of teaching the basics of OOP at lessons of informatics. It is analyzed the results of the pedagogical experiment researches of possibilities of such training, verification of efficiency of the developed thematic teaching materials and the need to learn object-oriented programming in the school course of Informatics. The article defines the prospects of training in modern methods of programming in school.

Keywords: encapsulation, informatics, inheritance, methods of teaching informatics, object-oriented programming, polymorphism, profile training, programming


Рубрика: 13.00.00 ПЕДАГОГИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Козлов С.В. Анализ результатов экспериментальной деятельности по изучению основ объектно-ориентированного программирования в школьном курсе информатики // Современные научные исследования и инновации. 2014. № 6. Ч. 3 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2014/06/36213 (дата обращения: 28.09.2017).

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

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

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

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

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

Основы ООП рассматриваются в учебниках по информатике Н.Д. Угриновича для 9 класса среднего звена и 10 класса старшей школы, которые в основном и используется в школах. Именно в этих учебниках данная тема представлена отдельным разделом – «Основы объектно-ориентированного программирования». В учебниках по информатике других авторов данная тема отдельно не рассматривается, как правило, о парадигме ООП есть лишь разрозненные упоминания.

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

Кратко опишем основные принципы объектно-ориентированного подхода в программировании.

Объектно-ориентированное программирование – это подход программирования, основанный на работе с объектом, его свойствами и методами, для работы с которыми используются принципы полиморфизма, наследования и инкапсуляции [1]. Объектно-ориентированный подход программирования может реализовываться не только в визуально-ориентированных языках программирования, но и в процедурных языках программирования, например в Object Pascal.

В основе ООП лежит понятие класса, под которым понимают новый тип данных, вводимый разработчиком при решении конкретной задачи. Объект или класс является абстрактным типом данных, создаваемым программистом. Для описания объекта или класса определяются его свойства и методы.

В основе объектно-ориентированного программирования лежат следующие понятия: инкапсуляция, наследование и полиморфизм [2].

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

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

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

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

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

Экспериментальное исследование заключалось в следующем:

- разработать систему уроков изучения ООП;

- проверить эффективность разработанных учебных материалов;

- провести анкетирование учащихся.

Эксперимент проводился под моим научным руководством студенткой Смоленского государственного университета Т.Н. Рожковой в рамках выполнения выпускной квалификационной работы в 10 классе МБОУ Озерненская СОШ № 1 Смоленской области. Экспериментальная группа состояла из 21 ученика.

С целью выяснения возможности включения темы «Объектно-ориентированное программирование» в школьный курс информатики была совместно разработана специальная система уроков. Она состояла из шести занятий, включающих входное тестирование и итоговую проверку знаний. Для изучения ООП использовался редактор Visual Basic пакета Microsoft Office.

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

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

Результаты итогового контроля знаний учеников в сравнении с начальным уровнем подготовки показали положительную динамику (рис. 1).


Рисунок 1 – Сравнительный анализ знаний учащихся

Таким образом, можно сделать вывод, что на уроках информатики в школе можно изучить основные методы ООП с использованием методов структурного программирования на примере языка Visual Basic.

Заключительным этапом экспериментального исследования являлось анкетирование учащихся.

Анкета включала следующие вопросы:

  1. Какие языки программирования ты изучал?
  2. Какой из них тебе больше всего понравился?
  3. До изучения объектно-ориентированного программирования ты что-нибудь слышал о языке программирования Visual Basic?
  4. В каком языке программирования легче работать, в процедурном или объектно-ориентированном языке? Почему?
  5. Хотелось бы тебе изучить объектно-ориентированный язык программирования Visual Basic более подробно? Почему?
  6. Стал ли ты лучше разбираться в программировании после изучения объектно-ориентированного программирования?

В результате анализа данных анкетирования можно сделать следующие выводы.

Ученики знакомы с очень малым количеством языков программирования. Это – Gambas, Visual Basic и Free Pascal. Все учащиеся 10 класса знакомы с языком программирования Gambas (редактор текстового процессора Open Office Writer). 8 человек знакомы с языком программирования Visual Basic. Эти два языка предлагаются для изучения программирования в учебнике по информатике Н.Д. Угриновича. Язык Free Pascal отметили ученики, которые изучали его на дополнительных занятиях по информатике либо самостоятельно (рис. 2).

Рисунок 2 – Результаты анкетирования

Большинству учащихся – 17 школьников – понравился язык программирования Gambas. Важно обратить внимание на то, что ученики, которые были знакомы с несколькими языками программирования, предпочли Gambas. На вопрос «Почему?», ученики отмечали, что синтаксис языка Gambas проще и более понятен (рис. 3).

Рисунок 3 – Результаты анкетирования

До изучения объектно-ориентированного программирования только лишь 12 учеников слышали что-либо о языке программирования Visual Basic (рис. 4).

 

Рисунок 4 – Результаты анкетирования

Многим ученикам (61 %) легче работать в объектно-ориентированном языке программирования, чем в процедурном языке. Одной из причин выбора объектно-ориентированного языка программирования была простота и удобство работы с объектами (форма, кнопка, поле и надпись). Следует подчеркнуть, что некоторые ученики приравнивали объектно-ориентированные и визуально-ориентированные языки программирования (рис. 5).

Рисунок 5 – Результаты анкетирования

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

- проблемы с выявлением взаимосвязей между теорией и практикой в ООП;

- пустую трату времени на изучение дополнительных методов программирования (полиморфизм, инкапсуляция, наследование);

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

Желание учеников изучить более подробно ООП возникло чуть более чем у половины класса (51 %). Таким ученикам было бы интересно увидеть все преимущества ООП и научиться решать более сложные задачи в объектах.

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

Рисунок 6 – Результаты анкетирования

Несмотря на последний факт, 86 % учеников стали лучше понимать программирование. Отсутствие отрицательных результатов изучения ООП говорит о том, что знания в данной области помогает постичь основы программирования (рис. 7).

Рисунок 7 – Результаты анкетирования

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

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

Вопрос выделения дополнительных часов на изучение объектно-ориентированного программирования в 8-9 классе также может быть частично решен за счет использования в учебном процессе инновационных информационно-образовательных технологий [3, 4]. Так, например, внедрение образовательных автоматизированных систем в процесс обучения позволяет более рационально строить траектории обучения, распределив усилия школьников наиболее оптимальным образом [5, 6, 7]. Применение математических методов при моделировании учебных ситуаций обучения объектно-ориентированному программированию как отдельно взятого ученика [8, 9], так и группы учеников [10, 11] целесообразно и в изучении информатики на базовом уровне и профильной школе [12].

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

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


Библиографический список
  1. Бадд Т. Объектно-ориентированное программирование в действии = An Introduction to Object-Oriented Programming. – СПб.: Питер, 2007. – 464 с.
  2. Хорев П. Б. Технологии объектно-ориентированного программирования. – М.: Академия, 2012. – 448 с.
  3. Козлов С. В. Педагогическое проектирование индивидуального тестирования в личностно ориентированной обучающей системе: дис. … канд. пед. наук: 13.00.01 и 13.00.02: защищена 24.05.06: утв. 20.11.06 / Козлов Сергей Валерьевич. – Смоленск, 2006. – 204 с.
  4. Козлов С. В. Педагогическое проектирование индивидуального тестирования в личностно ориентированной обучающей системе: автореферат дис. … канд. пед. наук. – Смоленск, 2006. – 18 с.
  5. Емельченков Е. П., Бояринов Д. А., Козлов С. В. Информационные системы автоматизированной поддержки инновационной деятельности: модели, проектирование и реализация. – Смоленск: Изд-во СмолГУ, 2011. – 164 с.
  6. Козлов С. В. Вопросы внедрения и использования образовательных автоматизированных систем в учебном процессе // Инфокоммуникационные технологии в региональном развитии: сборник трудов шестой ежегодной межрегиональной научно-практической конференции. – Смоленск: СПЭК, 2013. – С.129-133.
  7. Козлов С. В. Основы применения педагогической технологии индивидуального тестирования для формирования оптимальной траектории обучения // Современные научные исследования и инновации. – 2014. – № 4 (36). – С. 76.
  8. Козлов С. В., Емельченков Е. П. Соответствия Галуа. САПР учителя // Системы компьютерной математики и их приложения. Вып. 7. – Смоленск: СмолГУ, 2006. С. 100-102.
  9. Козлов С. В. Особенности применения системы индивидуального тестирования «Комплекс измерения обученности» в школьном курсе информатики // Системы компьютерной математики и их приложения. Вып. 9. – Смоленск: СмолГУ, 2008. С. 247-251.
  10. Киселева О. М. Применение математических моделей в педагогике. Обучение в группе // Математическая морфология. Электронный математический и медико-биологический журнал. – Т. 5. – Вып. 4. – 2006. – [Электронный ресурс] URL: http://www.smolensk.ru/user/sgma/MMORPH/N-12-html/kiseleva/ kiseleva.htm – [дата обращения 17.03.2014]
  11. Киселева О. М. Использование математических методов для формализации элементов образовательного процесса // Научно-методический электронный журнал «Концепт». – 2013. – № 02 (18). – С. 51-57. ART 13001. – 0,4 п. л. – URL: http://e-koncept.ru/2013/13032.htm.
  12. Козлов С. В. Актуальные вопросы использования адаптивных информационно-образовательных систем в профильной школе // Наука и образование в XXI веке: сборник научных трудов по материалам международной научно-практической конференции 30 сентября2013 г.: в 34 частях. – Ч. 21. – Тамбов: Бизнес-Наука-Общество, 2013. – С. 48-51.
  13. Козлов С. В. Особенности обучения школьников информатике в профильной школе // Научно-методический электронный журнал «Концепт». – 2014. – № 1. – С. 31-35. ART 14006. – URL: http://e-koncept.ru/2014/14006.htm.


Все статьи автора «Козлов Сергей Валерьевич»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: