С чего начать изучение программирования в школе?

Прием тезисов завершен. Вы можете только разместить черновик.
Авторы: Гуськова Елена Николаевна 1, Кандидат педагогических наук, Доцент, Федорова Алина Александровна 2
1 ГОУ ВО МО Государственный социально-гуманитарный университет, 2 ГБПОУ МО "Колледж "Коломна"
Рассматривается возможность в качестве первого изучаемого языка программирования в школе использовать язык логического программирования Пролог.

Как известно, одним из наиболее важных направлений развития нашего общества является совершенствование системы образования, с которой связаны не только перспективы отдельного человека, но и общества в целом. Если говорить о таком школьном предмете, как «Информатика и ИКТ», то стоит отметить, что одним из важнейших разделов изучения данного предмета является изучение основ программирования.

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

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

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

Например, головоломки о Ханойских башнях, задачи о Переливаниях, о Переправах, о Коммивояжере.  

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

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

Логическая программа на языке Пролог представляет собой набор утверждений: фактов и (возможно) правил в рамках формальной логики. Если программа содержит только факты, то ее называют базой данных. Если она содержит еще и правила, то часто используют термин база знаний.

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

Рассмотрим следующую логическую задачу.  Сережа, Коля и  Саша  сидели в кино. В каком порядке они сидели, если известно, что Саша сидел слева от Сережи и справа от Коли.

На языке Пролог программа будет иметь следующий вид:

domains

  имя=symbol

predicates

  слева(имя, имя)

  порядок(имя, имя, имя)

  go

clauses

  слева(саша, сережа).

  слева(коля, саша).

  порядок(X, Y, Z) :- слева(X, Y),

                      слева(Y, Z).

  go:-порядок(X, Y, Z),

      write("На первом месте сидел ", X), nl,

      write("На втором месте сидел ", Y), nl,

      write("На третьем месте сидел ", Z), nl.

goal

  go.

 

При запуске программы получим результат:

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

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

Список использованных источников
  1. 1. Занимательные задачи по информатике / Л.Л.Босова, А.Ю.Босова, Ю.Г.Коломенская. – 5-е изд. – М. : БИНОМ. Лаборатория знаний, 2014.
  2. 2. Основы программирования на языке Пролог : курс лекций : учеб. Пособие для студентов вузов / П.А.Шрайнер. – М. : Интернет – Ун-т Информ. Технологий, 2005.
Вид представления доклада  Стендовый доклад и публикация
Уровень  Среднее (полное) общее образование
Ключевые слова  Логическое программирование, Пролог, логические задачи и головоломки, факты и правила в рамках формальной логики.

По вопросам спонсорского участия, оплаты участия коммерческих компаний, а также иным организационно-информационным вопросам просьба обращаться в организационный комитет по адресу: dea@ito.edu.ru, edu@apkit.ru или по телефону: +7 (925) 514-33-74.