- •1. О последовательности изучения
- •2. О технических требованиях
- •3. О программных средствах
- •4. Об идеалах, финансировании и учебном времени
- •2004 № 14 Информатика
- •2004 № 14 Информатика
- •2004 № 14 Информатика
- •2004 № 15 Информатика
- •2004 № 15 Информатика
- •4. О наборе понятий
- •5. Об олимпиадах
- •2004 № 15 Информатика
- •5. Олимпиады по информатике...
- •2004 № 15 Информатика
- •2004 № 15 Информатика
- •2004 № 15 Информатика
- •2004 № 15 Информатика
- •2004 № 15 Информатика
- •2004 № 15 Информатика
2004 № 15 Информатика
ГГ
Обсуждаем тему "Алгоритмизация"
ГОВОРЯТ УЧИТЕЛЯ
Сегодняшний выпуск "Вопросов на понимание" посвящен одной из центральных тем — алгоритмизации. Без изучения алгоритмов не обходится, наверное, ни один курс информатики, эта тема в том или ином виде присутствовала во всех многочисленных учебниках и программах, появившихся за два десятилетия нашей школьной информатики, и всегда вызывала жаркие споры. Спектр мнений об алгоритмизации и ее месте в школьном курсе всегда был очень широк: от решительного отказа от алгоритмов (главное — научить работать с компьютером, а программировать пусть учатся в университетах) до не менее решительного вычеркивания всего, что напрямую с алгоритмами не связано (главное — научить думать, а с компьютером пусть разбираются самостоятельно). Среди учителей, обсуждающих проект программы, не оказалось сторонников совсем уж экстремистских позиций, но мнения все же прозвучали очень разные. Мы постарались выделить самые характерные мнения, самые важные вопросы, без понимания которых невозможно принять программу и работать с ней.
В обсуждении приняли участие учителя:
Енин Иван Николаевич (Красногвардейское, Белгородская область),
Жаров Сергей Леонидович (Ростов-на-Дону, школа № 55),
Кадыров Алексей Ревич (п. Куеда, Пермская область, школа № 2),
Керусенко Надежда Михайловна (Норильск, Красноярский край, гимназия № 5),
Крекин Михаил Евгеньевич (Москва, школа № 415),
Крылова Ольга Вячеславовна (Ефремов, Тульская область, гимназия),
Никанорова Лариса Николаевна (Москва, школа № 1194),
Новикова Ольга Николаевна (Югорск, Тюменская область),
Шумилина Нина Дмитриевна (Тверь, гимназия № 6).
Окончательная подготовка и редактирование текста — Я.Н. Зайдельман.
Выдержки из программы
Центральное теоретическое понятие современной информатики — "алгоритм" вводится как содержательное понятие. Для записи алгоритмов используются полуформальные языки блок-схем и структурного программирования. С самого начала работа с алгоритмами поддерживается компьютером. Структуры записи и исполнение алгоритма визуализируются.
В случае отсутствия должной технической базы для реализации отдельных работ практикума образующийся резерв времени рекомендуется использовать для более глубокого изучения раздела "Алгоритмизация" или на отработку пользовательских навыков с имеющимися средствами базовых ИКТ.
Алгоритмы и исполнители (19 ч)
Алгоритм. Свойства алгоритма. Способы записи алгоритмов; блок-схемы. Возможность автоматизации деятельности человека. Исполнители алгоритмов (назначение, среда, режим работы, система команд). Компьютер как формальный исполнитель алгоритмов (программ).
Алгоритмические конструкции: следование, ветвление, повторение. Разбиение задачи на подзадачи, вспомогательный алгоритм.
Алгоритмы работы с величинами: типы данных, ввод и вывод данных.
Языки программирования, их классификация.
Правила представления данных.
Правила записи основных операторов: ввода, вывода, присваивания, ветвления, цикла. Правила записи программы.
Этапы разработки программы: алгоритмизация — кодирование — отладка — тестирование. Обрабатываемые объекты: цепочки символов, числа, списки, деревья, графы.
* * * Практические работы
Разработка линейного алгоритма (программы) с ис пользованием математических функций при записи ариф метического выражения.
Разработка алгоритма (программы), содержащего оператор ветвления.
Разработка алгоритма (программы), содержащего оператор цикла.
Разработка алгоритма (программы), содержащего подпрограмму.
Разработка алгоритма (программы) по обработке од номерного массива.
Разработка алгоритма (программы), требующего для решения поставленной задачи использования логических операций.
* * * Практикум: работа VI
VI. Создание алгоритма (программы), решающего поставленную задачу. Разработка алгоритма, решающего поставленную задачу с использованием математических функций для записи арифметических выражений, операторов ветвления и цикла.
Разработка алгоритма для решения поставленной задачи с использованием вспомогательных алгоритмов, в том числе по обработке одномерного массива.
* * *
В результате изучения информатики и информационных технологий ученик должен ' знать/понимать:
— основные свойства алгоритма, типы алгоритмических конструкций: следование, ветвление, цикл; понятие вспо могательного алгоритма;
уметь:
— выполнять базовые операции над объектами: цепочка ми символов, числами, списками, деревьями; проверять свойст ва этих объектов; выполнять и строить простые алгоритмы.
2004 № 15 ИНФОРМАТИКА
Программные средства
Система программирования.
* * *
Из высказываний А.Л. Семенова в ходе обсуждения: Глядя на стандарты и программы, задумываешься, а что наши дети будут сдавать? Основной рассматриваемый нами вариант, что экзамены будут касаться "алгоритмического мышления".
1. О месте темы в курсе
Главный вопрос, без понимания которого дальнейшее обсуждение вряд ли будет осмысленным, — содержательное место данной темы в курсе.
Авторы программы называют алгоритм центральным теоретическим понятием информатики, включают практически полный перечень алгоритмических понятий и навыков в обязательные результаты обучения, предлагают сделать алгоритмизацию основным содержанием экзаменов. И в то же самое время рекомендуют более глубокое изучение этого раздела только в случае отсутствия в школе развитой технической базы. Получается, что алгоритмизация — это информатика "для бедных", и есть ощущение, что именно это — ее реальное место в предлагаемой программе.
В общем тексте программы алгоритмизация во многом выглядит как инородное тело. "Центральность" понятия алгоритма декларативна: связи этой темы с остальной частью программы не просматриваются. Лишь один раз за пределами данной темы — в практической работе 40 — упоминается использование системы программирования для построения компьютерной модели.
Принятая в программе парадигма обучения через практические работы фактически выталкивает алгоритмику из курса. Построение алгоритмов — сложная умственная деятельность, требующая теоретической подготовки. Алгоритмизация не сводится к изучению технологических цепочек, она не усваивается стихийно, невозможно научиться строить алгоритмы, исследуя эффекты различных пунктов меню системы программирования. А поскольку основная концепция программы предполагает именно такое инструментальное освоение, алгоритмизация оказывается элементом, противоречащим общей структуре, требующим других подходов и методик. Можно предположить, что в этой ситуации естественные трудности изучения, связанные со сложностью самой темы, будут усугубляться указанным методическим контрастом.
В связи со всем перечисленным возникают вопросы к авторам.
Каким вы видите место алгоритмизации в курсе? Как это место поддержано структурой программы? Верно ли, что наличие этой темы в программе не вытекает из ее (программы) внутренней логики, а представляет собой, скорее, дань традиции и уступку сторонникам алгоритмической направленности школьной информатики?
2. О времени на изучение
При обсуждении почти каждой темы неизбежно возникает вопрос о выделенных на ее изучение часах. И
почти всегда учителя жалуются, что часов мало. Но в этот раз были не просто жалобы. Учителя в один голос утверждают: за 19 часов невозможно реально освоить предложенный объем так, чтобы выйти на заданный в программе обязательный уровень знаний и умений.
Простые подсчеты показывают, что только в тексте программы встречается более 20 понятий, которые должны быть усвоены, более 20 пунктов, подлежащих изучению. Причем, как уже говорилось выше, в отличие от многих других тем, понятия и пункты здесь — более абстрактные, а значит, более сложные, их нельзя просто показать и надеяться на закрепление в ходе практической деятельности. Нужна система специальных учебных упражнений, нужно повторять и закреплять, а все это требует времени.
Конечно, 19 часов — это не так мало. Это самое большое количество часов, выделенных в программе на одну тему. Но при попытке распределить эти 19 часов между всеми пунктами темы возникает ситуация тришкиного кафтана: уместить все перечисленное можно разве что в режиме демонстрации, но тогда не приходится говорить ни об обязательных знаниях и умениях, ни об экзаменах, ориентированных на алгоритмическое мышление.
Мы просим авторов сделать (если не в тексте программы, то хотя бы в рамках нашего проекта) более детальную раскладку часов по данной теме, указать примерную последовательность уроков и их содержание. Мы надеемся, что это поможет понять реальное содержание темы и реально необходимый для нее объем времени.
3. Об алгоритмах и языках
Из программы не вполне ясно, какими средствами предлагается пользоваться для записи алгоритмов.
В преамбуле говорится о "полуформальных языках блок-схем и структурного программирования", но в основном тексте блок-схемы упоминаются один раз (как способ записи алгоритмов), структурное программирование — ни разу.
В то же время в основном тексте неявно присутствует изучение языка программирования. Об этом свидетельствует и спиральное повторение пунктов (например, ветвление и цикл рассматриваются сначала как алгоритмические конструкции, а затем как операторы), и такие пункты, как "Правила представления данных" и "Правила записи программ".
А вот в практических работах используется выражение "Разработка алгоритма (программы)", создающее ощущение синонимичности слов "алгоритм" и "программа" .
В итоге остается неясным: предполагают ли авторы использование специального учебного алгоритмического языка, производственного языка программирования или же собираются сочетать и то и другое.
Между тем этот вопрос довольно важен. Во-первых, выбор средства записи тесно связан с проблемой формализации.