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

Наука Школе

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

НЕКОТОРЫЕ ИТОГИ ЭКСПЕРИМЕНТАЛЬНЫХ КУРСОВ АЛГОРИТМИКИ НА ПЛАТФОРМЕ БЛЭКБОКС (КОМПОНЕНТНЫЙ ПАСКАЛЬ)

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

Цвелая Ирина Анатольевна
Фонд новых технологий в образовании «Байтик», Троицк, Московская обл.

Доклад для XXIII Международной конференции «Применение новых технологий в образовании», г. Троицк, Московская область, 27-28 июня 2012 г.

Аннотация
Экспериментальные курсы алгоритмики в Байтике-4 преследуют цель отработки методики современного введения в алгоритмику для школьников, начиная с 11-12-летнего возраста, в концептуальных рамках идей проекта «Информатика-21» (
http://www.inr.ac.ru/~info21/).

 

Доклад продолжает отчеты [2]-[5] об опыте использования языка программирования Оберон/Компонентный Паскаль, являющегося современным наследником Паскаля по прямой линии, во вводных курсах алгоритмими, читающихся в Байтике-4 как часть образовательного проекта «Информатика-21» [1]. Оберон/Компонентный Паскаль — единственный языковой проект, ставивший целью систематическое «отжимание» избыточной сложности из программистского инструментария. Именно благодаря этому обстоятельству он популярен в первую очередь у специалистов-не-айтишников, решающих нестандартные задачи (недавно платформу Блэкбокс/Компонентный Паскаль приняла Лаборатория теоретической биофизики Института биофизики СО РАН, г. Красноярск, зав. лаб. д.ф.-м.н. С.И.Барцев).

Еще в 1999 г. высказывалось мнение о том, что платформа Блэкбокс/Компонентный Паскаль является "практически идеальной" для вводного курса программирования (Т.Евсикова, Институт математики и информатики, г. Вильнюс, Литва). Тогда речь шла о курсе программирования традиционного типа для старшеклассников.

Однако в 2005-2008 гг. в Республике Беларусь (А.Б.Кондратович, П.А.Шакель) было продемонстрировано, что при использовании исполнителей типа Черепаха/Чертежник на Компонентном Паскале можно начинать обучение уже с 5-го класса [3].

Этот прорывной опыт был подхвачен другими участниками проекта — в Троицком лицее и Байтике-4 [2]-[5].
На основе полученного опыта к настоящему времени создан школьный комплект Блэкбокса с небольшим числом простых исполнителей (рисующая Черепашка, Ввод, Вывод), поддерживающий использование ключевых слов на русском языке.
Более того, имеется демо-вариант для кабардинского языка (ключевые слова, команды исполнителей, меню, сообщения компилятора), причем аналогичная поддержка других языков (белорусского, украинского и др.) может быть добавлена за один человеко-день (не считая переводов документации, которые требуют больше времени). В частности, был заявлен проект локализации школьного комплекта для двух крупных языков Средней Азии.

Школьный комплект непрерывно дорабатывался в течение последних четырех лет с учетом опыта, получаемого на занятиях в Байтике-4 (см. предыдущие отчеты [2], [5]).
Комплект получает в высшей степени положительные, даже восторженные отзывы (см. главную страничку проекта
[1]).
Продолжается его дальнейшее развитие: упрощение поддержки национальных языков, поддержка математических графиков, добавление робота кумировского типа и др.

Школьный Блэкбокс и КуМир

Наработанный в известном КуМире методический опыт, суммированный в книжке "12 лекций..." [6], имеет огромную ценность и будет ее сохранять. В частности, в предыдущих докладах [2], [5] фактически переоткрывались некоторые важные положения, зафиксированные в этой важной книге.

Однако КуМир как "платформа" продолжает существовать лишь по субъективным причинам и в техническом плане безнадежно отстает от школьного комплекта на основе Блэкбокса:

Во-первых, Блэкбокс уже 15 лет имеет эффективный компилятор — в КуМире же компилятор только предполагается когда-нибудь при условии финансирования (выступление М.А.Ройтберга в Яндексе в рамках конференции по преподаванию программирования, ноябрь 2011 г.).

Во-вторых, несмотря на простоту, Компонентный Паскаль — в отличие от КуМира — это настоящий полноценный язык программирования, на котором можно обучать работе с указателями и списками (см. отчет [5]), низкоуровневому программированию (работа с битами и адресами; см. новость за 2012-05-09), объектно- и компонентно-ориентированному программированию (курс одного из авторов для начинающих на физфаке МГУ), а также архитектуре программных систем (напомним, что соавтор Блэкбокса Клеменс Шиперски/Clemens Szyperski является автором бестселлера по программной архитектуре и сотрудником исследовательской лаборатории Microsoft Research; кстати, бестселлер Шиперского в манере, независимой от языка программирования, описывает архитектурные решения системы Блэкбокс; на самом деле для студента проще читать документацию Блэкбокса, посматривая в его исходники).

В-третьих, сам Блэкбокс полностью написан на Компонентном Паскале, и есть достаточно много хороших учителей информатики, которые способны развивать его -- например, добавляя новые исполнители или модифицируя старые (такие примеры есть в Брянске, Екатеринбурге, Орле). С КуМиром, написанным на С++, это просто невозможно.

(Дополнение координатора. Тащить в школы мракобесный С++ в любом виде -- это
преступление против Разума вообще и Школы в частности.
Команда КуМира получила достаточно полную информацию о школьной сборке Блэкбокса вместе с CD на последнем заседании, проходившем в Яндексе, конференции по преподаванию программирования в начале ноября 2011 г.

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

Повторим, это не отменяет непреходящей ценности методического опыта кумировской команды и фундаментальных положений, зафиксированных в упомянутой книжке «12 лекций».)

Новый опыт курсов в Байтике-4

В предыдущем отчете [5] говорилось, что в Байтике-4 складывается двухуровневая система обучения алгоритмикt:

— двухлетний уровень начинающих, расcчитанный прежде всего на школьников 5-8 классов и нацеленный, скорее, на общее развитие (см. текст Математика+алгоритмика+языки на сайте [1]);
— двухлетний же профильный уровень, ра
cсчитанный на старшеклассников физмат-профиля, где изучаются сложные темы алгоритмики (корректное построение циклов, рекурсии, указатели и списки, основы объектно-ориентированного программирования).

По профильному уровню первая группа учащихся была проведена полностью к концу прошлого учебного года [5] (отметим, что девочка из этой группы, поступившая на экономфак МГУ, оказалась на своем курсе, что называется, звездой программирования). Поэтому ниже будем говорить только о занятиях в курсе первого уровня.

За последний год получен недостававший начальный опыт по второму году первого уровня.
Можно утверждать, что при довольно неспешной работе (одно полуторачасовое занятие в неделю практически без домашних заданий, заставить делать которые невозможно) за два года с совершенно обычными (т.е. не ориентированными на программирование) 7-8 классниками удается изучить и одномерные массивы, и цикл-пока, включая схему линейного поиска, причем как на последовательностях (поток ввода), так и на массивах (одномерных; кстати заметим, что вообще тема двумерных массивов выглядит искусственной в школьной алгоритмике, ее значение преувеличено из-за того, что это была одна из немногих относительно интересных тем в старой, "фортранной" традиции программирования, где упор делался на массивы и цикл-для; от этой традиции, которая по инерции сохраняется в школьных курсах, нужно, конечно, уходить чем быстрее, тем лучше).

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

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

1. Поскольку никакой особой математики в алгоритмике, вообще говоря, не требуется — а нужна только ясная голова — то способный 5-классник может работать наравне со "средними" 7-классниками.

2. Для "средних" 5-классников нужен просто более медленный (раза в 2-3) темп. Сама последовательность прохождения тем может сохраняться та, что отрабатывается сейчас.

3. Как уже давно отмечалось [7], методика, отработанная на самых младших школьниках, с большим эффектом переносится на более старших учащихся, вплоть до студентов младших курсов, где достаточно повысить темп изучения материала в несколько раз и добавить примеры с математическим содержанием.
Это обстоятельство весьма привлекательно для вузовского преподавания основ алгоритмики, так как эти основы еще достаточно долгое время придется читать многим учащимся с нуля. Методическое единство в этом отношении со школой — весьма привлекательно, так как в дальнейшем позволит плавно модифицировать университетский курс в направлении бесшовной сшивки со школьным курсом.

4. То обстоятельство, что в Блэкбоксе программы пишутся в текстовых документах со стандартными базовыми командами редактирования (Ctrl+X,C,V, Ctrl+B,I и т.д.), позволяет "убить" второго, причем очень важного "зайца": мимоходом освоить основы редактирования текстов в современных текстовых редакторах.

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

Суммируя новый опыт вместе с предыдущим [2]-[5] и учитывая опыт остальных участников проекта «Информатика-21» (см. [1]), можно сделать утверждение, что на данный момент практически все части того, что в проекте «Информатика-21» обсуждается как единая система вводных курсов информатики, охватывающая учащихся с 5-го класса школы по 3-й курс университетов, успешно прошли по крайней мере первичное практическое испытание в учебных аудиториях.
Дальнейшие задачи участников проекта — это наработка конкретных методик и публикация учебников (см. в новостях проекта
[1] о сотрудничестве с издательствами Бином и ДМК Пресс).

 

Литература

[1] Проект «Информатика-21» http://www.inr.ac.ru/~info21/ или первая ссылка при поиске в любом поисковике слова информатика-21.

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

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

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

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

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

[6] Кушниренко А.Г. и Лебедев Г.В. 12 лекций о том, для чего нужен школьный курс информатики и как его преподавать. М.: Лаборатория базовых знаний, 2000.

[7] 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

 

Благодарим А.И.Попкова за список опечаток.

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

Наука Школе