Главная страница проекта ИНФОРМАТИКА-21

Наука Школе

Главная страничка занятий в Байтике-4

ИНФОРМАТИКА В ШКОЛЕ: ПРОВАЛ МЕТОДИЧЕСКОЙ СИСТЕМЫ

Ткачев Федор Васильевич (info21@inr.ac.ru)
Институт ядерных исследований РАН (ИЯИ РАН), Москва
Фонд Байтик, Москва, Троицк

Доклад для XXVII Международной конференции «Применение новых технологий в образовании»,
Москва, Троицк, 2
8 июня 2016 г.

презентация (pdf)

Тезисы (добавления: 2016-10-04)

Доклад продолжает традицию отчётов [2]-[9] проекта «Информатика-21» [1]. Тема доклада мотивирована дискуссией, произошедшей на предыдущей конференции этой серии между автором и видным методистом школьной информатики. В докладе [9] было рассказано о том, что образовательный проект, изначально нацеленный на средние школы, неожиданно оказался эффективным проводником инноваций в индустрию ИТ, причём в самые требовательные приложения (программное обеспечение для беспилотников и атомных электростанций, не говоря про уникальные приложения к физике). Этот, в общем, удивительный факт имеет абсолютно фундаментальные основания, которые следует ясно понимать, обсуждая как систему образования вообще, так и алгоритмику и программирование как школьный предмет в частности (см. [10]). Однако методист откликнулась призывом к аудитории "спуститься с небес на землю" -- и делом объяснила смысл своего призыва, перейдя к инструктажу насчёт того, как следует изучать 300-страничный министерский документ (медленно и с карандашом).

Этот безобразный факт, что ведущие методисты обсуждают с учителями не содержательные вопросы преподавания предмета (которых более чем достаточно в бурно развивающейся области ИТ), а способы совладать с бессмысленно громоздкой бюрократической отчётностью, -- приговор как реформам образования последних десятилетий, так и существующей методической системе.

***

Остановимся на одном, но важном аспекте предложений проекта «Информатика-21». Проект призывает к созданию настоящей системы преподавания алгоритмики (курсы основ программирования, очищенного от всего случайного мусора, какого в сфере ИТ очень и очень много по причинам, опять же, фундаментального -- когнитивного, социального и экономического -- характера, см. обсуждение в [9]). Реалистичность создания такой системы обосновывается доступностью в течение уже двадцати лет вариантов систем программирования, основанных на нотации Оберона/Компонентного Паскаля -- настоящего наследника старого Паскаля по прямой линии (в отличие от "самозванцев" и "бастардов" вроде паскаля.абц, FreePascal и т.п.). Просветительскую деятельность в отношении Оберона некомпетентная публика (включая, как теперь ясно, ведущих методистов) трактует как пропаганду "ещё одного языка программирования". Это грубо неверно, и эту ошибку можно проиллюстрировать следующей исторической параллелью с арифметическими системаи счисления.

За тысячелетия своего культурного развития человечество выдумало множество систем счисления, удивляющих сейчас своим извращённым разнообразием, см. 600-страничную "Историю цифр" [11]. Это непозиционные системы, и, например, деление произвольных целых чисел в римской нотации было предметом университетского уровня до прихода позиционной системы с нулем. Понятно, что трактовать позиционную систему как "ещё одну" систему счисления было бы грубой ошибкой: ведь это не просто нотация, но и гораздо более эффективный подход к арифметическим вычислениям, чем любые непозиционные системы.

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

Как позиционная система с нулём противостоит всем остальным, непозиционным, -- точно так же Оберон/Компонентный Паскаль противостоит остальным языкам программирования своей радикальной простотой и эффективностью. Этот факт впечатляюще представлен на известном графике С.З.Свердлова [12], иллюстрирующем нарастающую громоздкость промышленных языков программирования на контрасте с Обероном (график воспроизведён в файле презентации к докладу [9], см. также выше файл презентации к этому докладу).

Если нужно указать одну "фичу", которая -- подобно нулю позиционной системы -- радикально повышает эффективность работы с Обероном, то можно назвать автоматическое управление памятью -- т.наз. сбор мусора, позволяющий разделить и по отдельности решать две по-разному трудные проблемы: проблему проектирования алгоритмической логики программного комплекса и важную по соображениям эффективности исполнения проблему отображения структур данных на память компьютера. Эту вторую проблему можно не только отложить на потом (Оберон, являясь настоящим компилируемым языком, не препятствует сколь угодно детальному контролю за размещением структур данных в памяти), но и сосредоточиться на оптимизации только самых "мусорогенерирующих" циклов, где обычно нетрудно отследить блоки памяти, пригодные для повторного использования, предоставив сборщику мусора разобраться со всем, что не заслуживает внимания с точки зрения влияния на эффективность исполнения. Этот подход доказал свою эффективность в таких противоположных в отношении управления памятью приложениях, как комьютерная алгебра и числовые расчёты традиционного типа [13].

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

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

***

Учитывая ситуацию "дурного разнообразия" языков программирования в IT-индустрии, серьёзный методист должен был бы пойти за советом к лучшим специалистам, способным на критический анализ ситуации (в отличие от IT-"профессионалов", хорошо зарабатывающих на асимметрии информации и объективно заинтересованных её поддерживать и усиливать). Таких специалистом можно найти, например, в редакции журнала "Программирование", базирующейся в Институте системного программирования РАН, где научная экспертиза мирового уровня стыкуется с практикой IT-индустрии (институт является базой ряда IT-компаний, специализирующихся на сложной тематике вроде автоматической верификации больших массивов программного кода, что требует абсолютного понимания, среди прочего, и дефектов популярных языков программирования).
В 2005 году, во время известной поездки по России создателей Системы Оберон Н.Вирта и Ю.Гутнехта, ответственный секретарь журнала А.С.Косачев прочувствованно выразился: "Очень хочется вам помочь, но не знаю как" -- и тут же принял ответное предложение дать своё имя для списка консультантов проекта.

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

Литература

[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://informatika-21.su/texts/2003-08-JMLC/ru.htm

[3] Министерство образования Республики Беларусь. Язык объектно-техно­логического программирования Компонентный Паскаль в среде программирования BlackBox. Программа факультативных занятий. Авторы: А.Б.Кондратович и П.А.Шекель.  http://www.adu.by/modules.php?name=News&file=article&sid=770

[4] О.А. Леденева, Ф.В.Ткачев. Компонентный Паскаль и среда Блэкбокс на уроках информатики для 5-классников. Доклад на XIX международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 26-27 июня 2008 г. http://informatika-21.su/events/bytic-xix-2008.htm;
cм. также поурочные отчеты http://informatika-21.su/troitsklicej/vtorojetap.htm

[5] Л.Г.Куркина, Ф.В.Ткачев. Календарно-тематическое планирование кружка «Информатика» для 5-х классов (печатный вид http://informatika-21.su/troitsklicej/tretijetapplan.pdf 66K; документ Блэкбокса http://informatika-21.su/troitsklicej/tretijetapplan.odc 10K).

[6] Л.Г. Куркина, Ф.В.Ткачев, И.А.Цвелая. Русифицированные мини-исполнители во вводных курсах программирования. Доклад на XX международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 27-28 июня 2009 г. http://informatika-21.su/events/bytic-xx-2009.htm

[7] Ф.В.Ткачев, И.А.Цвелая. Опыт экспериментальных курсов алгоритмики на платформе Блэкбокс (Компонентный Паскаль). Доклад на XXII международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 29-30 июня 2011 г. http://informatika-21.su/events/bytic-xxii-2011.htm

[8] Ф.В.Ткачев, И.А.Цвелая. Некоторые итоги экспериментальных курсов алгоритмики на платформе Блэкбокс (Компонентный Паскаль). Доклад на XXIII международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 27-28 июня 2012 г.  http://informatika-21.su/texts/bytic-xxiii-2012.htm

[9] Ф.В.Ткачев. "Информатика-21": инновации от 5-классников до беспилотников и АЭС.  Доклад на XXVI международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 24-25 июня 2015 г.  http://informatika-21.su/texts/bytic-xxvi-2015.htm

[10] Ф.В.Ткачев. Математика + Алгоритмика + Языки. http://informatika-21.su/MIL/

[11] К.Меннингер. История цифр. Центрполиграф, 2013.

[12] С.З.Свердлов. Языки программирования и методы трансляции. Питер, 2007.

[13] F.V.Tkachov. Less is more: why Oberon beats mainstream in complex applications. Journal of Physics: Conference Series, 523 (2014) 012011 (2014), http://inspirehep.net/record/1299888?ln=en

Главная страница проекта ИНФОРМАТИКА-21

Наука Школе