GREENFOOT КАК ИНСТРУМЕНТ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ С ЭЛЕМЕНТАМИ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА

Статья опубликована в рамках: Международной научно-практической интернет-конференции «Актуальные проблемы методики обучения информатике в современной школе» (Россия, г.Москва, МПГУ, 24-26 апреля 2018г.)

GREENFOOT КАК ИНСТРУМЕНТ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ С ЭЛЕМЕНТАМИ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА

Бутарев Кирилл Викторович
студент, ФГБОУ ВО «МПГУ»
Россия, г.Москва
e-mail: k1306969@gmail.com

Программирование является неотъемлемой частью курса информатики с момента её появления как учебной дисциплины. В своих работах Ю.А. Первин убедительно раскрывает успешность первых экспериментов по обучению программированию школьников разных лет (Первин Ю.А., 2014)[10]. Он же проделал большую работу по практическому определению места программирования в непрерывном курсе обучения информатики (Первин Ю.А., 2013)[11].

Уже в 80-х годах делались предложения о необходимости расширения этого опыта и периодической смены сред программирования в школьном курсе (Ершов А. П., 2003)[6]. Однако современные специалисты смотрят на ситуацию несколько иначе. Так Л.Л. Босова в своих статьях и выступлениях неоднократно выдвигала тезис о том, что обучение программированию связано не столько с обучением кодированию в конкретной среде, сколько с формированием особого мышлений. Между тем она же отмечает: «При освоении традиционно успешной в нашей школе линии алгоритмизации и программирования учителя сталкиваются с необходимостью ухода от устаревающих программных сред и перехода на среды современные, более полно отвечающие возможностям и потребностям современных школьников. Еще одна тенденция, наметившаяся в обучении школьников информатике – это их знакомство с современными программными продуктами, востребованными в реальной профессиональной деятельности» (Босова Л.Л., 2015)[3].

Кроме того, сегодня неоднократно выдвигаются тезисы о необходимости реализации линии программирования с начальных ступеней обучения (Босова Л.Л. Сорокина Т.Е., 2014)[4] (Павлов Д.И., 2016)[9]. Предлагается совершенствовать содержание обучения информатике на основе интеграции парадигм программирования (Жужжалов В.Е., 2004)[7], а также выделяется важность внедрения в школьный курс элементов объектно-ориентированного программирования (Магомедов Р.М., 2009)[8]. Последний тезис обсуждается сегодня особенно часто.

А.В. Горячев утверждает, что «освоение основ объектно-ориентированного анализа тренирует и укрепляет логическое мышление в терминах категорий и иерархий, что в свою очередь оказывает положительное влияние на познавательные способности учеников» (Горячев А.В.)[5]. А это позволяет нам взглянуть на программирование не только как на одну из содержательных линий курса информатики, но и на достижение метапредметных результатов образования в целом.     

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

Как говорят разработчики в книге “Introduction to Programming with Greenfoot. Object-Oriented Programming in Java with Games and Simulations” (Kölling M., 2010)[2], данная среда разработки помогает в более доступной форме изложить ученику основные принципы объектно-ориентированного программирования с помощью визуализации состояний и поведений объектов. Также, в статье “Introducing Programming using “Scratch” and “Greenfoot” (H.S.Chandrashekar A Geetha Kiran B.Uma Sunita P., 2018)[1] авторы приводят положительные отзывы учащихся и учителей о данных технологиях. При этом, один из отзывов учителей говорит о том, что при использовании Scratch и Greenfoot учащиеся значительно быстрее приходят к пониманию аспектов программирования, чем при изучении других языков программирования. Стоит отметить, что авторы статьи рассматривают данные технологии совместно, то есть Scratch для изучения процедурного программирования, Greenfoot — для объектно-ориентированного. (Но важно обратить внимание также на то, что авторы не говорят, где проходили данные эксперименты).

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

Greenfoot ориентирован на создание компьютерных игр, что призвано вызвать интерес у учащихся. Проекты, созданные в данной среде разработки, называются сценариями (Scenario). Любой человек, написавший какую-либо программу, может поделиться ей на официальном сайте Greenfoot. Большое количество сценариев создано специально для проведения уроков не только пользователями, но также и самими разработчиками. Учителя могут сами создавать свои сценарии под нужды урока. Рассмотрим окно среды Greenfoot подробнее.

Обычное окно Greenfoot выглядит следующим образом (в данном случае открыт сценарий leaves-and-wombats):

В строке меню всего четыре кнопки (Scenario, Edit, Controls, Help).

Правая часть окна — схема наследования классов (в данном случае представлены наследники классов World и Actor).

Стоит сказать, что классы World и Actor являются основными классами в процессе разработки приложений при работе со средой разработки Greenfoot.

Как написано в официальной документации:

  • Actor — класс объектов, которые существуют в мире (Greenfoot). Каждый представитель класса имеет координаты в мире и изображение.
  • World — это мир, в котором живут представители классов-наследников класса Actor. По своей природе является двумерной матрицей.

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

Чтобы поместить объект класса Wombat в наш «мир», необходимо правой кнопкой мыши нажать на класс Wombat, левой кнопкой мыши на «new Wombat()» и перетащить объект на свободную клетку мира. Собственно, подобная операция выполнима для всех наследников класса Actor.

Метод «void act()» есть у каждого наследника класса Actor. Кнопка Act вызывает данный метод для всех созданных объектов один раз. Кнопка Run вызывает этот метод для всех объектов в бесконечном цикле. То есть, нажимая на Run вы запускаете написанное вами приложение.

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

Также, учителю можно не бояться, что ученики запутаются в сложных словесных конструкциях языка программирования Java. Например, создание класса-наследника происходит очень просто: в схеме наследования необходимо правой кнопкой мыши нажать на класс, от которого требуется наследоваться, затем нажать на «New subclass» и Greenfoot создаст класс-наследник.

У Greenfoot есть встроенный текстовый редактор для написания кода программы. Чтобы его вызвать, необходимо нажать правой кнопкой на класс, который вы хотите редактировать, в схеме классов, затем нажать на
Open editor, после чего откроется окно:

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

Теперь несколько слов о наших предложениях. В планах – разработка курса проектного программирования объёмом 34 часа. Цель – создать удобный инструментарий для обучения основам ООП в форме проектного программирования. Структура курса будет седлающей:

  • Знакомство с понятием программирование (2 занятия);
  • Знакомство со средой Greenfoot (2 занятия);
  • Освоение инструментария среды Greenfoot на готовых сценариях (4 занятия);
  • Знакомство с Java и его связью со средой Greenfoot (4 занятия);
  • Описание новых методов для объектов в готовых сценариях (4 занятия)
  • Создание собственных объектов и классов в Greenfoot (6 занятий)
  • Культура разработки IT-продукта (2 занятия);
  • Создание собственных проектов в среде Greenfoot (2 занятия);
  • Авторская разработка проектов (4 занятия);
  • Коллективная разработка проектов (4 занятия);

Создание материалов будет проводится с учётом рекомендаций разработчиков и современных тенденций отечественного образования. Ученикам будут предложены сценарии, информационные материалы и задания. А учителям – комплект методических рекомендаций.  Апробация будет проводится на базе столичной школы ГБОУ Гимназия № 45 им. Л.И. Мильграма. Над апробацией будут работать: студент математического факультета МПГУ Бутарев К.В., учитель школы Лосик С.Н., старший преподаватель кафедры теории и методики обучения информатике математического факультета МПГУ Павлов Д.И. Научное руководство будет осуществлять к.п.н. А.В. Горячев.

С результатами апробации научная и педагогическая общественность будет ознакомлена по средствам публикаций в журналах и на ресурсах сети интернет.

ЛИТЕРАТУРА:

  1. S.Chandrashekar A Geetha Kiran B.Uma Sunita P. Introducing Programming using “Scratch” and “Greenfoot” [Статья] // Journal of Engineering Education Transformations. — 2018 г.. — Special Issue.
  2. Kölling M. Introduction to Programming with Greenfoot. Object-Oriented Programming in Java with Games and Simulations [Книга]. — Pearson : [б.н.], 2010.
  3. Босова Л.Л. О КУРСЕ ИНФОРМАТИКИ В РОССИЙСКОЙ ШКОЛЕ [Статья] // ИЗВЕСТИЯ КЫРГЫЗСКОЙ АКАДЕМИИ ОБРАЗОВАНИЯ . — Бишкек : Кыргызская Академия Образования, 2015 г.. — 3.
  4. Босова Л.Л. Сорокина Т.Е. МЕТОДИКА ПРИМЕНЕНИЯ ИНТЕРАКТИВНЫХ СРЕД ДЛЯ ОБУЧЕНИЯ МЛАДШИХ ШКОЛЬНИКОВ ПРОГРАММИРОВАНИЮ [Статья] // ИНФОРМАТИКА И ОБРАЗОВАНИЕ . — Москва : [б.н.], 2014 г.. — 7.
  5. Горячев А.В. О некоторых проблемах освоения объектно-ориентированного программирования в школьном курсе информатики. — Москва : ФГБОУ ВО МПГУ.
  6. Ершов А. П. О человеческом и эстетическом факторах в программировании [Раздел книги] // История информатики в России: ученые и их школы / авт. книги Захаров В.Н. Подловченко Р.И. Фет Я.И.. — Москва : Наука, 2003.
  7. Жужжалов В.Е. «СОВЕРШЕНСТВОВАНИЕ СОДЕРЖАНИЯ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ НА ОСНОВЕ ИНТЕГРАЦИИ ПАРАДИГМ ПРОГРАММИРОВАНИЯ» автореферат к диссертации [Отчет]. — 2004.
  8. Магомедов Р.М. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ – ИННОВАЦИОННЫЙ ПУТЬ В ПРОГРАММИРОВАНИЕ В ШКОЛЕ [Статья] // ИЗВЕСТИЯ ЧЕЧЕНСКОГО ГОСУДАРСТВЕННОГО ПЕДАГОГИЧЕСКОГО ИНСТИТУТА . — Грозный : Чеченский государственный педагогический университет (Грозный) , 2009 г.. — 2.
  9. Павлов Д.И. Наука, образование, инновации [Конференция] // Начальная информатика — новый взгляд в свете изменившегося характера начального общего образования. — Уфа : ОМЕГА САЙНС, 2016. — Т. 3.
  10. Первин Ю.А. Информатика в школе: прошлое, настоящее и будущее [Конференция] // Раннее обучение информатике: стратегии, стереотипы, судьбы. — Пермь : [б.н.], 2014.
  11. Первин Ю.А. ЭЛЕМЕНТЫ ПРОГРАММИРОВАНИЯ В НЕПРЕРЫВНОМ КУРСЕ ШКОЛЬНОЙ ИНФОРМАТИКИ [Статья] // ЯРОСЛАВСКИЙ ПЕДАГОГИЧЕСКИЙ ВЕСТНИК . — Ярославль : Ярославский государственный педагогический университет им. К.Д. Ушинского (Ярославль) , 2013 г.. — 1 : Т. 3

Отправить ответ

Уведомить о
avatar
Sort by:   newest | oldest | most voted
Дмитрий Игоревич

Важным мне представляется определить два момента:
Будет ли рассматриваться Java только в среде Greenfoot или самоценно?
Будет ли рассматриваться переход с GreenFoot на чистое программирование, к примеру разработку Android-приложений.
И очень интересует — есть-ли какие-то предварительные представления о том, способны ли ученики такого возраста принять Java?

К.В.Бутарев
Стоит отметить, что курс направлен на изучение именно ООП. Таким образом, владение языком программирования — это владение необходимым инструментом. В рамках нашего плана большое количество времени отведено именно на изучение основ программирования с языком программирования Java, то есть, мы рассматриваем его не только в контексте среды Greenfoot. Переход на чистое программирование, как создание проектов, не зависящих от среды разработки, в настоящий момент обсуждается внутри нашего коллектива. По поводу Android-приложений, любой сценарий может быть скомпилирован под Android. Есть удобные инструменты для этого, например Droidfoot: http://www.programmierkurs-java.de/droidfoot/download.html Java используется как учебный язык в большом количестве учебных заведений в ряде Европейских и Американских стран,… Read more »
Дмитрий Игоревич

Спасибо большое Кирилл Викторович за обстоятельный ответ.

wpDiscuz