Роль эмуляторов в школьном курсе информатики
(Санкт-Петербург, гимназия № 000, учитель информатики, *****@***com)
На данный момент изучении теоретических основ информатики в школьном курсе построено так, что практика работы с этими понятиями на школьном уровне не реализуется. Поэтому практические навыки ученики получают, работая с прикладными программами (текстовыми и графическими редакторами, электронными таблицами и базами данных) и составляя простые программы на одном из языков программирования, иными словами, теория изучает одни объекты, а на практике работают с другими.
Возникшее противоречие между теоретическими идеями и практикой их использования объясняется, на наш взгляд, отсутствием в системе обучения информатике средств для организации такой работы. В рамках данной статьи мы называем такие средства эмуляторами. Проблема состоит в том, что, несмотря на существование большого числа эмуляторов для работы с идеями информатики (в информатике такие средства появляются естественным образом силами инициативных программистов), обучение информатике не предполагает их регулярного использования. Вследствие этого, во-первых, нет системы эмуляторов, которая удовлетворяла бы требованиям организации учебного процесса (заметим, что для обучения маленьких детей программированию такие системы были созданы, например, это программа ЛогоМиры или проект «Роботландия»).
С другой стороны, при изучении информатики достаточно хорошо разработана теория визуализаторов (, ) и практика их использования (, ).
Недостатком визуализаторов для решения поставленной нами задачи является отсутствие достаточно возможностей для организации деятельности с объектами информатики.
Кроме визуализации изменений объекта при воздействии на него, для решения поставленной нами задачи необходима возможность самостоятельно описывать и строить новые объекты в рамках данной среды. Выполняя операции со специально разработанными мультимедийными средствами представления алгоритмов, ученик включает в действие психологический механизм интериоризации, который обеспечивает перевод действий во внутренний план или, другими словами, усвоение того или иного материала [2].
Например, надо не только показать, как работает стек, а предложить ученику выполнить операции на программируемом стековом калькуляторе (реализуя попутно принцип историзма и показывая эволюцию вычислительных устройств). Объяснить особенности различных парадигм программирования можно, организовав занятия с упрощенными языками, наиболее ярко отражающими парадигмы логического, функционального, объектно-ориентированного программирования.
Эмуляторами в контексте доклада мы называем, во-первых, модели различных математических понятий, которым можно придать инструментальный характер и тем самым организовать деятельность, предшествующую введению соответствующих теоретических понятий. Например, эмуляция построения схем из логических элементов позволяет по-другому организовать изучение алгебры логики. Об этом пишут учителя, поработавшие с эмулятором «распознающая логическая схема» (задачи «Глазастый робот» и «Почтовые индексы») конкурса КИО («Конструируй, исследуй, оптимизируй»). Другими такими понятиями являются: идея конечного автомата, идея автоматных грамматик, математические определения алгоритма и др. Другой вид эмуляторов – это эмуляторы реальных вычислительных устройств, которые существуют или перестали использоваться, однако в которых наиболее ярко проявились изучаемые идеи информатики, в современных устройствах спрятанные под позднейшими «наслоениями». Пример такого эмулятора – эмулятор стекового калькулятора – описан выше. Третий вид эмуляторов – эмуляторы языков программирования. При создании таких эмуляторов следует учитывать два критерия: простота и «выпуклость» основной идеи, ради которой эмулятор создавался (например, нами создан упрощенный вариант языка РЕФАЛ, который наиболее ярко демонстрирует идею функционального программирования) и наглядность интерфейса.
На практике возможны комбинации перечисленных идей, например, эмулятор языка регулярных выражений, с одной стороны, демонстрирует способ описания автоматных языков, с другой стороны обладает рядом возможностей, которые более присущи языку программирования, чем абстрактному понятию автоматного языка.
Добавление к интерфейсу эмулятора модуля генерации заданий (модуль для преподавателя) и модуля тестирования решений позволяет ученику проверить знания после изучения теоретического материала, а учителю провести контроль решения. Предложенный подход позволяет применять смешанное обучение (blended learning), соединяющий элементы дистанционной и обычной форм работы учащегося.
Литература.
1) , , Васильев алгоритмов как основной инструмент технологии преподавания дискретной математики и программирования: труды международной научно-методической конференции Телематика-2001 (СПб.: СПбГИТМО (ТУ), 2001). – Санкт-Петербург, 2001. – С.119-120.
2) , , Резник среда обучения: монография. – СПб: СВЕТ, 1997. – 400 с.
3) H. Деятельность. Сознание. Личность. М.: Политиздат, 1975.


