Коллеги, в конце июня предстоит очередная конференция традиционной серии, где мы (троицкие участники) всегда докладывались (см. ссылки:
http://www.inr.ac.ru/~info21/texts/).
Ниже черновик тезисов, который я успел пихнуть до полуночи.
Для сайта их надо подработать, поэтому прошу покритиковать.
(Опечатки от спешки, на них внимание можно не обращать.
Если кому интересно: упоминаемая методист -- Л.Босова.)
АЛГОРИТМИКА В ШКОЛЕ: ПРОВАЛ МЕТОДИЧЕСКОЙ СИСТЕМЫ
Ткачев Федор Васильевич
Институт ядерных исследований РАН (ИЯИ РАН), Москва
Тезисы доклада для XXVII Международной конференции «Применение новых технологий в образовании», 28 июня 2016 года г. Москва, г.Троицк
Доклад продолжает традицию отчётов [2]-[9] проекта «Информатика-21» [1]. Тема доклада мотивирована дискуссией, произошедшей на предыдущей конференции этой серии между автором и видным методистом школьной информатики. В докладе [9] было рассказано о том, что образовательный проект, изначально нацеленный на средние школы, неожиданно оказался эффективным проводником инноваций в индустрию ИТ, причём в самые требовательные приложения (программное обеспечение для беспилотников и атомных электростанций, не говоря про уникальные приложения к физике). Этот, в общем, удивительный факт имеет фундаментальные основания, которые следует ясно понимать, обсуждая систему образования вообще и алгоритмику как школьный предмет в частности (см. [10]). Однако методист откликнулась призывом к аудитории "спуститься с небес на землю" -- и делом объяснила смысл своего призыва, перейдя к инструктажу насчёт того, как следует изучать 300-страничный министерский документ (медленно и с карандашом).
Этот безобразный факт, что ведущие методисты обсуждают с учителями не содержательные вопросы преподавания предмета (каких в такой новой и бурно развивающейся области, как ИТ, более чем достаточно), а способы совладать с бессмысленно громоздкой бюрократической отчётностью, -- приговор реформам образования последних 16 лет.
Остановимся на одном, но важном аспекте предложений проекта «Информатика-21». Проект призывает к созданию настоящей системы преподавания алгоритмики (курсы основ программирования, очищенного всего случайного мусора, какого в сфере ИТ очень и очень много по причинам, опять же, фундаментального -- когнитивного, социального и экономического -- характера [9]). Реалистичность создания такой системы обосновывается доступностью в течение уже двадцати лет вариантов систем программирования, основанных на близкородственных диалектах Оберона/Компонентного Паскаля -- наследника старого Паскаля по прямой линии (в отличие от "бастардов" вроде паскаля.абц). Пропаганду Оберона некомпетентная публика трактует как пропаганду "ещё одного языка программирования". Это грубо неверно, и эту можно проиллюстрировать следующей исторической параллелью с арифметическими системаи счисления.
За тысячелетия культурного развития человечество выдумало множество систем счисления, поражающих сейчас своим извращённым разнообразием, см. 600-страничную "Историю цифр" [11]. Это непозиционные системы, и, например, деление произвольных целых чисел в римской нотации было предметом университетского уровня до прихода позиционной системы с нулем. Понятно, что трактовать позиционную систему как "ещё одну" систему счисления -- грубая ошибка: ведь это не просто нотация, но и новый подход к арифметическим вычислениям, гораздо более эффективный, чем любые непозиционные системы. (Различия, связанные с выбором основания, для нашего обсуждения несущественны -- человечество с тем же успехом могло бы пользоваться, например, 12-ричной системой.)
Проводя аналогию с арифметикой, языки программирования можно назвать "системами алгоримтического счисления". Их разнообразие ещё более чудовищно, чем разнообразие числовых систем в силу большей сложности алгоритмов по сравнению с числами. Причём придуманы они были за каких-то полвека и продолжают активно использоваться в большом числе. В отличие от числовых нотаций, привязка к языку программирования задаёт гораздо более сильную инерцию, создавая барьер для перехода на другой язык, о чём надо помнить.
И точно так же, как позиционная система с нулём противостоит всем остальным, непозиционным, -- точно так же Оберон/Компонентный Паскаль противостоит остальным, непозиционным, своей радикальной простотой и эффективностью. Визуально это представлено на знаменитом графе за авторством С.З.Свердлова, иллюстрирующем нарастающую громоздкость промышленных языков программирования, см. презентацию [9], где можно найти точные ссылки.
Если нужно указать одну "фичу", которая -- подобно нулю позиционной системы -- радикально повышает эффективность работы с Обероном, то можно указать основанное на строгой статической типизации автоматическое управление памятью ("сбор мусора"), позволяющее разделить проблему прояснения алгоритмической логики прикладной задачи и проблему отображения структур данных на память, не только отложив эту вторую проблему "на потом", но и ограничившись оптимизацией лишь самых "мусорогенеррирующих" циклов, предоставив сборщику мусора разобраться со всем остальным.
Понятна абсурдность попыток построить систему общего математического образования без той основы, какую даёт позиционная система счисления. Аналогичную роль должен сыграть Оберон/Компонентный Паскаль для построения настоящей системы IT-образования.
Литература
[1] Проект «Информатика-21» (через любой поисковик). URL:
http://www.inr.ac.ru/~info21/[2] F.V.Tkachov. Programming Education: a Russian Perspective. Contribution to the Joint Modular Languages Conference (JMLC'2003, Klagenfurt, Austria, August 2003). Published in: Modular Programming Languages. Lecture Notes in Computer Science 2789, Springer-Verlag, 2003, pp.69-77. Русский перевод:
http://www.inr.ac.ru/~info21/texts/2003-08-JMLC/ru.htm [3] Министерство образования Республики Беларусь. Язык объектно-технологического программирования Компонентный Паскаль в среде программирования BlackBox. Программа факультативных занятий. Авторы: А.Б.Кондратович и П.А.Шекель.
http://www.adu.by/modules.php?name=News ... le&sid=770 [4] О.А. Леденева, Ф.В.Ткачев. Компонентный Паскаль и среда Блэкбокс на уроках информатики для 5-классников. Доклад на XIX международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 26-27 июня 2008 г.
http://www.inr.ac.ru/~info21/events/bytic-xix-2008.htm; cм. также поурочные отчеты
http://www.inr.ac.ru/~info21/troitsklic ... ojetap.htm[5] Л.Г.Куркина, Ф.В.Ткачев. Календарно-тематическое планирование кружка «Информатика» для 5-х классов
(печатный вид
http://www.inr.ac.ru/~info21/troitsklic ... applan.pdf 66K;
документ Блэкбокса
http://www.inr.ac.ru/~info21/troitsklic ... applan.odc 10K).
[6] Л.Г. Куркина, Ф.В.Ткачев, И.А.Цвелая. Русифицированные мини-исполнители во вводных курсах программирования. Доклад на XX международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 27-28 июня 2009 г.
http://www.inr.ac.ru/~info21/events/bytic-xx-2009.htm[7] Ф.В.Ткачев, И.А.Цвелая. Опыт экспериментальных курсов алгоритмики на платформе Блэкбокс (Компонентный Паскаль). Доклад на XXII международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 29-30 июня 2011 г.
http://www.inr.ac.ru/~info21/events/bytic-xxii-2011.htm[8] Ф.В.Ткачев, И.А.Цвелая. Некоторые итоги экспериментальных курсов алгоритмики на платформе Блэкбокс (Компонентный Паскаль). Доклад на XXIII международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 27-28 июня 2012 г.
http://www.inr.ac.ru/~info21/texts/bytic-xxiii-2012.htm[9] Ф.В.Ткачев. "Информатика-21": инновации от 5-классников до беспилотников и АЭС. Доклад на XXVI международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 24-25 июня 2015 г.
http://www.inr.ac.ru/~info21/texts/bytic-xxvi-2015.htm[10] Ф.В.Ткачев. Математика + Алгоритмика + Языки.
http://www.inr.ac.ru/~info21/MIL/[11] К.Меннингер. История цифр. Центрполиграф, 2013.