Author Archives: А.В. Горячев

О НЕКОТОРЫХ ПРОБЛЕМАХ ОСВОЕНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ В ШКОЛЬНОМ КУРСЕ ИНФОРМАТИКИ

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

О НЕКОТОРЫХ ПРОБЛЕМАХ ОСВОЕНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ В ШКОЛЬНОМ КУРСЕ ИНФОРМАТИКИ

Горячев Александр Владимирович
кандидат педагогических наук

ФГБОУ ВО «Московский педагогический
государственный университет»
Россия, г.Москва
e-mail: a.v.goryachev@school2100.com

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

К таким идеям, безусловно, можно отнести объектно-ориентированное программирование. Более того, освоение объектно-ориентированного анализа как важного этапа объектно-ориентированного подхода в программировании полезно не только будущим разработчикам средств ИКТ, но и широкому кругу потенциальных будущих заказчиков программного обеспечения. Речь идёт об автоформализации профессиональных знаний. Этот термин был введён Григорием Рафаловичем Громовым ещё в 80-х годах для описания особенностей творческой работы человека, использующего компьютер для формализации той части своих профессиональных знаний, которые до того не удавалось не только сформулировать, но порой даже и вербализовать.

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

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

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

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

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

  1. Освоение среды программирования, синтаксиса и семантики языка программирования.
  2. Некоторые типовые приёмы программирования (с ориентацией на планируемое применение в приложениях).
  3. Знакомство с отдельными основными этапами разработки программных проектов (анализ, проектирование, программирование, отладка, сопровождение).
  4. Создание всеми учениками одного учебного проекта, замысел которого предлагается учителем, с прохождением полного цикла разработки приложений.
  5. Знакомство с некоторыми видами приложений и создание учениками своих приложений каждого вида с прохождением полного цикла разработки.

В настоящее время нашим коллективом ведутся разработки такого курса с использованием среды Scratch 2 для учеников 5-6 класса. Мы полагаем важным с самого начала знакомства с программированием формировать у школьников культуру разработки программных проектов.  Первый этап обучения – освоение среды программирования, синтаксиса и семантики языка – проходит в пятом классе. Знакомство с этапами полного цикла разработки и освоение этих этапов – в шестом.

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