Это старая версия документа!
Тезис пионера советской информатики академика А.П. Ершова “Программирование — вторая грамотность” не потерял своей актуальности и в наши дни. Более того, быстрое развитие высоких технологий в мире и в России увеличивает спрос на ИТ-специалистов высшей квалификации.
Однако в школьной информатике сегодня наблюдается определенный отход от направления, заданного А.П. Ершовым, подмена программирования курсом ИКТ. А там, где программирование все же преподается, нередко используются либо безнадежно устаревшие языки и среды, либо неимоверно тяжеловесные коммерческие системы.
Автор семейства языков профессор Н.Вирт говорит: “Как профессионалы в информатике, мы обязаны поднять свои голоса против традиции, приравнявшей компьютерную грамотность к знанию темных деталей языка программирования, используемого в индустрии.
Конечной целью образования должно быть искусство конструктивного мышления. Именно в таком контексте становится важным наличие хорошо спроектированного языка программирования …хороший дизайн должен быть в центре нашего преподавания. Но как нам учить образцовому дизайну с помощью инструментов и языков, которые делают нас посмешищем? К нашему сожалению, индустрия программирования сделала не много, чтобы помочь нам, преподавателям, преодолеть наши трудности” [1].
Происходящий сегодня перевод российских школ на свободное ПО дает еще один повод серьезно подумать о том, что взять на перспективу в качестве бесплатной современной учебной среды для преподавания основ алгоритмизации и программирования. К сожалению, российские разработчики трансляторов пока ничего достойного в этом плане не предлагают. Придется обратиться к мировому опыту. Однако и здесь, как справедливо отмечает Н.Вирт, тоже негусто. Но по крайней мере одно удачное решение уверенно можно назвать. Это язык Компонентный Паскаль (Component Pascal) и среда его реализации Блэкбокс (BlackBox Component Builder) швейцарской фирмы Oberon Microsystems [2]. Среда идеально подходит для сквозного курса программирования, начиная со средних классов школы и заканчивая средними курсами университетов. Распространяется бесплатно вместе с исходными текстами.
Среда не требует установки, допускает модификацию, дополнение, расширение и полную перекомпиляцию. Работает под управлением Windows 95’XP и Linux с эмулятором Wine. Ведутся работы по полному переносу среды на платформу Linux.
Российские специалисты приняли активное участие в развитии и русификации среды [3]. Дополнительные удобства для преподавания предоставляет серия подсистем под общим названием Info21 Ф.В. Ткачева.
Разработана облегченная, школьная версия Блэкбокса. Ее основное отличие заключается в отсутствии некоторых подсистем, использование которых в школе не представляется возможным. И включено три полезных, на наш взгляд, подсистемы, не входящих в базовую поставку: инструментальная панель с пиктограммами, исполнитель “черепашка” и просмотрщик файлов. Кроме того, внесен ряд изменений в настройки для обеспечения большего удобства начинающим пользователям. Имеется русскоязычная документация, меню, диалоговые формы и сообщения компилятора. В архивированном виде среда занимает всего около 5 Мб.
Новосибирской фирмой Excelsior разработан профессиональный оптимизирующий компилятор XDS языков Modula-2/Oberon-2, ставший недавно бесплатным и полноценно работающий на платформах Windows и Linux (www.excelsior-usa.com/xds.html).
Язык Component Pascal представляет собой немного дополненный Oberon-2. Для подавляющего большинства школьных учебных примеров исходные тексты программ на этих языках идентичны.
В сети Интернет есть несколько сайтов, на которых размещены обсуждаемые материалы:
— оригинальный (англоязычный) Блэкбокс можно скачать с сайта разработчиков: www.oberon.ch;
— сайт общественного проекта, посвященного обновлению основ преподавания программирования в школах и вузах: www.inr.ac.ru/~info21. Здесь можно найти версии Блэкбокса для школ и для вузов, статьи ученых и преподавателей, адреса коллег;
— сайт поддержки Блэкбокса в России (г. Орел)
www.oberoncore.ru и форум для вопросов и обсуждений forum.oberoncore.ru;
— коллекция алгоритмов и программных компонентов: www.zinnamturm.eu;
— сайт факультета информатики Томского государственного университета (отсюда можно скачать школьный Блэкбокс, систему локальной автоматической проверки решений, сборник примеров на Компонентном Паскале, электронный задачник М.Э. Абрамяна, адаптированный под КП): www.csd.tsu.ru.
В школьной версии Блэкбокса представлена новая реализация известного исполнителя “черепашка”, выполненная на Компонентном Паскале. Программа управления черепашкой пишется полностью на нем же, что принципиально отличается от подхода, принятого в “ЛогоМирах”. Это является большим преимуществом ввиду острой нехватки учебных часов, выделяемых на изучение азов алгоритмизации, поскольку при переходе от работы с исполнителем к изучению “настоящего”, более абстрактного программирования ученикам не придется осваивать новый язык и среду разработки. Кроме того, учащиеся становятся в силах сами расширять ассортимент команд черепашки, что существенно повышает интерес к занятиям.
Покажем основные особенности Компонентного Паскаля в сравнении с Turbo Pascal.
Все ключевые слова пишутся в верхнем регистре (большими буквами). Большие и маленькие (прописные и строчные) буквы везде различаются, т.е. в именах переменных, констант, типов, процедур и модулей. Например, INTEGER и Integer — это разные имена.
Оператор присваивания ничем не отличается. Основные алгоритмические конструкции изменились мало и стали удобнее. При написании блочных операторов больше не требуется ключевое слово begin.
Turbo Pascal | Компонентный Паскаль |
---|---|
if ... then begin ... end else begin ... end | IF ... THEN ELSE END |
while ... do begin ... end | WHILE ... DO ... END |
for i := 1 to 10 do begin ... end | FOR I := 1 TO 10 DO ... END |
Появилась возможность соединять несколько IF-ов в цепочку с помощью ELSIF:
IF … THEN … ELSIF … THEN … ELSIF … THEN … ELSE … END