Наука — Школе |
Главная страничка занятий в Байтике-4
НЕКОТОРЫЕ ИТОГИ ЭКСПЕРИМЕНТАЛЬНЫХ КУРСОВ АЛГОРИТМИКИ НА ПЛАТФОРМЕ БЛЭКБОКС (КОМПОНЕНТНЫЙ ПАСКАЛЬ)
Ткачев Федор Васильевич (info21@inr.ac.ru)
Институт ядерных исследований РАН (ИЯИ РАН), Москва
Цвелая Ирина Анатольевна
Фонд новых технологий в образовании «Байтик», Троицк, Московская обл.
Доклад для XXI
II Международной конференции «Применение новых технологий в образовании», г. Троицк, Московская область, 27-28 июня 2012 г.Аннотация
Экспериментальные курсы алгоритмики в Байтике-4 преследуют цель отработки
методики современного введения в алгоритмику для школьников, начиная с
11-12-летнего возраста, в концептуальных рамках идей проекта «Информатика-21» (
Доклад продолжает отчеты
[2]-[5] об опыте использования языка программирования Оберон/Компонентный Паскаль, являющегося современным наследником Паскаля по прямой линии, во вводных курсах алгоритмими, читающихся в Байтике-4 как часть образовательного проекта «Информатика-21» [1]. Оберон/Компонентный Паскаль — единственный языковой проект, ставивший целью систематическое «отжимание» избыточной сложности из программистского инструментария. Именно благодаря этому обстоятельству он популярен в первую очередь у специалистов-не-айтишников, решающих нестандартные задачи (недавно платформу Блэкбокс/Компонентный Паскаль приняла Лаборатория теоретической биофизики Института биофизики СО РАН, г. Красноярск, зав. лаб. д.ф.-м.н. С.И.Барцев).Еще в 1999 г. высказывалось мнение о том, что платформа Блэкбокс/Компонентный Паскаль является "практически идеальной" для вводного курса программирования (Т.Евсикова, Институт математики и информатики, г. Вильнюс, Литва). Тогда речь шла о курсе программирования традиционного типа для старшеклассников.
Однако в 2005-2008 гг. в Республике Беларусь (А.Б.Кондратович, П.А.Шакель) было продемонстрировано, что при использовании исполнителей типа Черепаха/Чертежник на Компонентном Паскале можно начинать обучение уже с 5-го класса
[3].Этот прорывной опыт был подхвачен другими участниками проекта — в Троицком
лицее и Байтике-4 [2]-[5].
На основе полученного опыта к настоящему времени создан школьный комплект
Блэкбокса с небольшим числом простых исполнителей (рисующая Черепашка, Ввод,
Вывод), поддерживающий использование ключевых слов на русском языке.
Более того, имеется демо-вариант для кабардинского языка (ключевые слова,
команды исполнителей, меню, сообщения компилятора), причем аналогичная поддержка
других языков (белорусского, украинского и др.) может быть добавлена за один
человеко-день (не считая переводов документации, которые требуют больше
времени). В частности, был заявлен проект локализации школьного комплекта для
двух крупных языков Средней Азии.
Школьный комплект непрерывно дорабатывался в течение последних четырех лет с учетом опыта, получаемого на занятиях в Байтике-4
(см. предыдущие отчеты [2], [5]).Школьный Блэкбокс и КуМир
Наработанный в известном КуМире методический опыт, суммированный в книжке "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;[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-х классов
(
[5] Ф.В.Ткачев, И.А.Цвелая. Опыт экспериментальных курсов алгоритмики на платформе Блэкбокс (Компонентный Паскаль). Доклад на XX
II международной конференции «Применение новых технологий в образовании»; Троицк, Моск. обл., 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
Благодарим А.И.Попкова за список опечаток.
Наука — Школе |