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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Уведомить о
avatar
Sort by:   newest | oldest | most voted
Т.Б. Захарова

Уважаемый Александр Владимирович! Конечно, немало достоинств изучения в школьном курсе информатики объектно-ориентированного подхода в программировании. А как Вы считаете, сколько времени нужно отвести на изучение этого материала в 5-6 классах?

О.А. Козлов

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

С.Ю. Сафронова

Добрый день, Александр Владимирович! А есть ли у Вас уже какие-либо наработки по преподаванию Scratch 2? Веду внеурочную деятельность в 6 классах, захотелось попробовать. assafron@yandex.ru

С.А. Лепёшкина

Уважаемый Александр Владимирович! Спасибо за статью. Я работаю учителем информатики около 20 лет, еще ни разу у меня не было класса ,в котором бы программирование прошло спокойно. Обучающимся очень тяжело дается эта тема, тем более за 1 час в неделю ,который выделяется на информатику по базисному плану.Трудности и в синтаксисе и в построении математической модели. Мое мнение ,в школе вообще не нужно преподавать программирование, ведь оно нужно и интересно очень малому количеству ребят. Это надо давать на дополнительный курсах, кружках.

Е.А. Лозбичева

Несомненно, программирование нужно. При планировании 1 час в неделю катастрофически не хватает на него времени, поэтому учащиеся плохо усваивают эту тему и не справляются с олимпиадными заданиями.

Л.Ю. Калмыкова

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

А.А. Богданов

Александр Владимирович, большое спасибо от родителя, преподавателя, разработчика за Ваши книги. Ждем новых наработок!

Малахов Виталий

Уважаемый Александр Владимирович! О языке Scratch я услышал недавно. У нас в Лиде есть IT-академия, в которой работают учителя информатики. Так вот буквально вчера в школы города пришло приглашение ученикам 1-5 классов на занятия в среде Scretch. Хорошо бы устроить обмен опытом…

А.Е. Гладков

Уважаемый Александр Владимирович! Вы подняли очень острую проблему. Действительно существует разрыв школы с жизнью в данной области. Действительно объектно-ориентированному программированию необходимо уделять больше места. Но я имею негативный опыт, пытался начать обучение программированию в 8 классе с объектно-ориентированного. Без базы алгоритмического программирования детям было очень тяжело. До Scratch правда так руки и не дошли.

wpDiscuz