Наука — Школе |
Главная страничка занятий в Байтике-4
ОПЫТ ЭКСПЕРИМЕНТАЛЬНЫХ КУРСОВ АЛГОРИТМИКИ НА ПЛАТФОРМЕ БЛЭКБОКС (КОМПОНЕНТНЫЙ ПАСКАЛЬ)
Ткачев Федор Васильевич (info21@inr.ac.ru)
Институт ядерных исследований РАН (ИЯИ РАН), Москва
Цвелая Ирина Анатольевна
Фонд новых технологий в образовании «Байтик», Троицк, Московская обл.
Доклад для XXII Международной конференции «Применение новых технологий в образовании», г. Троицк, Московская область, 29-30 июня 2011 г.
Аннотация
Для школьной алгоритмики практически идеальной нотацией является
Компонентный Паскаль/Оберон.
В курсах алгоритмики в Байтике складывается двухуровневая система преподавания
программирования: элементарная алгоритмика (учащиеся примерно от 6-го класса) и
продвинутый курс (рекурсии, списки ...), Использование гибкой системы
программирования Блэкбокс позволяет эффективно провести учащихся по обоим
уровням в единой среде без потерь дефицитного учебного времени.
Образовательный проект «Информатика-21» [1] пропагандирует пларформу Блэкбокс/Компонентный Паскаль как основу единой системы общих курсов алгоритмики и программирования, в рамках которой можно провести учащихся без потерь крайне дефицитного учебного времени от первых шагов (элементарная алгоритмика) до продвинутых тем (архитектура программных систем и построение компиляторов). При этом гибкость системы Блэкбокс позволяет легко перестраивать ее в соответствии с имеющимся методическим опытом. В частности, в учебных комплектах, распространяемых с сайта проекта [1], обеспечивается возможность работы с ключевыми словами на русском языке в той же среде программирования; опыт показывает, что это — одно из важнейших достоинств при работе с начинающими и позволяет сдвинуть начало обучения настоящей алгоритмике до 5-6 классов [2].
В 2010-2011 уч. г. в Байтике-4 (г. Троицк Московской области) продолжались экспериментальные курсы программирования в рамках проекта «Информатика-21».
Ставилась цель развить уже довольно обширный опыт [2]-[4] в двух
направлениях.
Во-первых, это дальнейшая отработка методики преподавания введения в
программирование (элементарная алгоритмика) для школьников 5-7 классов (где в
стандартной школьной программе имеется пробел),
Во-вторых, предложить старшеклассникам физико-математического и ИТ профилей
продвинутый курс программирования, на реалистичность которого указали студенты
младших курсов физического факультета МГУ, занимавшиеся в рамках спецкурса
одного из авторов (Ф.Т.).
Занятия проводятся раз в неделю по полтора часа с начала октября по конец мая.
В курсе элементарной алгоритмики закреплялась схема, в которой школьники без
опыта программирования (6-8 классы) начинают работать в среде с русскоязычными
ключевыми словами.
Опыт показывает, что для типичных школьников переход на английский язык можно
отложить до второго года, сосредоточившись в первый год на основных структурах
программирования.
Программа обучения сосредоточивается на следующих понятиях: последовательность операторов; переменные; простейшие выражения; процедуры с двумя типами параметров; условный оператор; цикл-пока. Осваиваются лишь простейшие логические выражения и лишь простейший тип циклов (т.наз. полный проход).
При этом используется три внешних модуля:
— исполнитель черепашка-чертежник с минимумом команд (см. [2]-[4]);
— ввод (из любого выделенного фрагмента в текстовых документах Блэкбокса);
— вывод в Рабочий журнал.
Важно отметить, что аппарат ввода в Блэкбоксе позволяет работать с последовательностями (чисел и т.п.) без углубления в специфические детали файлового ввода-вывода, причем подготовка вводимых данных производится очень легко (простая печать в каком-либо текстовом окне); это позволяет полноценно осваивать фундаментальный цикл-while уже в курсе элементарной алгоритмики.
В нашем курсе гораздо раньше, чем обычно, вводится и шире используется аппарат процедур как средство структурирования программ и тренировки способности к абстракции.
С другой стороны, было решено отнести знакомство с массивами на второй год курса "элементарной алгоритмики", сосредоточившись в первый год на освоении последовательностей (из потока ввода) и фундаментального цикла-пока.
Группа продвинутого уровня обучалась в течение двух лет. При этом удалось неплохо проработать следующие краеугольные темы, обычно представляющие трудность для неопытных программистов и не вмещающиеся в стандартные вводные курсы программирования для, например, студентов естественно-научных специальностей: корректное построение циклов (схемы "полный проход", "линейный поиск", первые примеры цикла-пока с несколькими ветвями — т.наз. цикл Дейкстры); рекурсия; указатели и списки (вплоть до простейших деревьев); а также некоторые другие вопросы.
Важно подчеркнуть, что в системе Блэкбокс работа с указателями и списками сильно упрощена благодаря автоматическому управлению памятью (т.наз. "сбор мусора"); обычно это средство доступно лишь для интерпретируемых сред или сред с промежуточным байт-кодом (Java и т.п.).
Также затрагивались некоторые другие темы (например, построение диалогов, более сложные графические примитивы (кривые Безье) и т.п.), но их более основательную методическую проработку целесообразно отложить до отработки методики по вышеобозначенным фундаментальным темам.
Пока пробелом в этой схеме является второй год первого уровня ("элементарная
алгоритмика").
Туда нужно отнести базовые сведения о массивах и записях, литерные и
вещественные данные и т.п,
Можно надеяться, что в ближайшем будущем появится возможность проработать
соответствующую программу. Это придаст определенную замкнутость всему курсу.
Литература
[1] Проект «Информатика-21» http://www.inr.ac.ru/~info21/ или первая ссылка от Яндекса.
[2] О.А. Леденева, Ф.В.Ткачев. Компонентный Паскаль и среда Блэкбокс на уроках информатики для 5-классников. Доклад на XIX международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 26-27 июня 2008 г. Текст. См. также поурочные отчеты.
[2] Л.Г. Куркина, Ф.В.Ткачев, И.А.Цвелая. Русифицированные мини-исполнители во вводных курсах программирования. Доклад на XX международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 27-28 июня 2009 г. Текст.
[3] Министерство образования Республики Беларусь. Язык объектно-технологического программирования Компонентный Паскаль в среде программирования BlackBox. Программа факультативных занятий. Авторы: А.Б.Кондратович и П.А.Шекель. http://www.adu.by/modules.php?name=News&file=article&sid=770
[4] Л.Г.Куркина, Ф.В.Ткачев. Календарно-тематическое планирование кружка «Информатика» для 5-х классов (
печатный вид pdf, 66K; документ Блэкбокса odc, 10K).Наука — Школе |