73
ОПЫТ ОБУЧЕНИЯ
ПРОГРАММИРОВАНИЮ В ШКОЛЕ
А.В. ВАРТАНОВ, В.К. ЖУДОВ,
М.Н. КИОСА, Е.Н. СОКОЛОВ
Обычно при обучении
специальности «программист», «программист-оператор» школьникам даются знания об
одном или нескольких алгоритмических языках, а также некоторые сведения об ЭВМ,
ее назначении и возможностях, об используемой на данной ЭВМ операционной
системе. Однако на современном этапе школьников необходимо обучать не просто
умению работать с ЭВМ, но таким приемам работы, которые обеспечивали бы ее
эффективное использование. Являясь инструментом, ЭВМ вместе с соответствующим
программным обеспечением должна быть прежде всего удобным и эффективным
средством решения тех задач, ради которых она создавалась. Поэтому на первый
план теперь выдвигается необходимость повышения производительности труда
программистов, а также обеспечения высокого потребительского качества
разрабатываемых вычислительных систем и программ. Различные аспекты
взаимодействия человека с ЭВМ изучаются
наукой «Психология программирования». Уже сегодня усилиями различных ученых и
практиков накоплены значительные знания о приемах и методах программирования,
обеспечивающих эффективность работы программистов, выделены основные критерии,
которым должна удовлетворять качественная программа.
Экспериментальное обучение
программированию школьников старших
классов средней школы № 710 Москвы проводилось факультетом психологии совместно
с факультетом вычислительной математики и кибернетики (ВМ и К) и
научно-исследовательским вычислительным центром (НИВЦ) МГУ в 1984/87 учебных
годах.
В 1984/85 учебном году на
факультете психологии школьники девятых классов изучали последовательно языки
Бейсик и Фортран с помощью автоматизированной обучающей системы «Наставник»,
созданной под руководством Н.П. Брусенцова на факультете ВМ и К МГУ по
специально разработанным учебным пособиям «Минимальный Бейсик» и «Базисный Фортран».
Параллельно в течение всего года им читался курс лекций по основам
программирования и вычислительной техники. После обучения соответствующему
алгоритмическому языку следовали практика составления программ и работа в
дисплейном классе факультета психологии, которая показала высокую эффективность
обучения в компьютерной системе «Наставник». Включение школьников в систему
«Наставник» способствовало также развитию их умения самостоятельной работы с
учебником, самообучения, что очень важно для профессии программиста.
В следующем учебном году для
этих школьников, перешедших в Х класс, на базе НИВЦ МГУ был подготовлен курс
лекций «Алгоритмические языки и программирование» (2 ч в неделю) с практической
работой на ЭВМ БЭСМ-6 (4 ч в неделю). Основой экспериментального обучения
десятиклассников явилось всестороннее обсуждение вопросов качества и способов
повышения эффективности создаваемых программных продуктов.
При организации обучения
школьников программированию необходимо учесть разнородный состав работ, выполняемых
программистом, обратить внимание на вопросы определения и оценки качества
программного продукта на разных стадиях его создания и дать анализ
эффективности выполнения работ по программированию, включая вопросы стиля
программирования и приемов организации
совместной работы программистов. Для этого был прочитан специальный курс,
завершающий обучение программированию, и проведена практическая отработка
некоторых приемов программирования и способов организации совместной работы в
бригаде. Школьники получили ориентировку
74
в следующих вопросах: 1) программирование как
человеческая деятельность: классы пользователей ЭВМ, состав работ, выполняемых
программистом; 2) параметры и критерии оценки качества программ: метрики Боэма,
Брауна и Лайпоу, метрики программного обеспечения Джилба, наука о программах
Холстеда; 3) стиль программирования, характеристика средств языка
программирования: стили комментирования и другие приемы документирования
программы, блок-схемы, выбор имен переменных, условные операторы,
структурированное управление, рекомендации по отладке программы; 4) оценки
производительности программирования: надежность, удобство поддержания,
сложность и понимаемость программ; 5) организация совместной работы
программистов: способы организации бригады, методы проверки проектов и текстов
программ; 6) системы без данных и модели данных: иерархическая, сетевая и
реляционная модели данных; 7) языки запросов и манипулирования данными: требования
к удобному для пользователей языку, операции над базой данных и средства
формулирования запросов, сравнение языков; 8) система с использованием
естественного языка: техническая осуществляемость и практическая полезность
диалога на естественном языке с ЭВМ; 9) проблемы диалоговых интерфейсов, вспомогательное оборудование и
психологические требования к организации диалога: отношение пользователей,
управление, время ответа, разделение времени и пакетная обработка, способы
взаимодействия с пользователем, обработка ошибок; 10) проектирование
интерактивных систем: цели проектирования, процесс проектирования.
При организации практической
работы школьников десятых классов создавались условия для формирования и
развития ряда необходимых программисту умений и навыков.
I. Работая на ЭВМ БЭСМ-6
коллективного пользования, школьники имели возможность пользоваться общими библиотеками
программ, развитым математическим обеспечением, эксплуатируемым в НИВЦ МГУ. При
этом им приходилось самостоятельно работать в научной библиотеке им. А.М. Горького
МГУ. Таким образом, при решении производственной задачи школьнику приходилось самостоятельно
работать с программной документацией и учебными материалами, пользоваться
инструкциями и описаниями программно-аппаратных средств вычислительных систем.
Это способствовало укреплению навыков, самообучения, столь необходимых в работе
программиста.
II. Знания, получаемые
школьниками из теоретического курса о параметрах качества программ и стиле
программирования, подкреплялись их практическим использованием. Оценка программ
осуществлялась с учетом всех основных параметров качества и определялась не
только преподавателем, но и самими школьниками в соответствии с принятыми
приемами и процедурами оценки качества программы. Это не только повышало
ответственность школьника за изготовление по-настоящему качественного программного
продукта, но и способствовало формированию приемов и навыков оценки качества
продукта как чужого, так и своего труда, что являлось средством развития
самоконтроля.
III. Для формирования
навыков совместной работы во втором полугодии школьники были объединены в
бригады по 5—7 человек. Школьники входили в бригаду добровольно, в соответствии
с желаниями всех членов бригады, и избирали своего бригадира. При этом бригада
сразу определяла, какую задачу из предложенного перечня задач она будет решать.
При организации бригады учитывались как личные качества и уровень подготовки
школьников, так и их интересы — предложенные задачи различались по направленности
(из области физики, математики, вспомогательные задачи программного обеспечения
и др.). Однако все предлагаемые задачи были такой степени сложности, которая
требовала участия всех членов бригады (в одиночку школьники не смогли бы
справиться с их решением к заданному сроку). Цель работы бригады — получение к
75
заданному сроку программного продукта высокого
качества — стимулировала максимальную эффективность работы всех членов бригады.
Деятельность всей бригады
оценивал «совет экспертов» (5—7 наиболее компетентных учащихся) с учетом сложности
задания и качества готового программного продукта по разработанному списку
параметров. Это обеспечивало объективную оценку работы школьников, требовало
добросовестного применения всех имеющихся знаний в практической работе,
повышало взаимную требовательность к качеству работ по программированию.
В 1985/86 учебном году
непосредственно в школе был создан класс «Наставник» сначала с 16, а затем и с
30 мини-терминалами, в котором школьники девятых классов последовательно
овладевали алгоритмическими языками «Минимальный Бейсик» и «Базисный Фортран».
В 1986 г. класс компьютеризованного обучения был дополнен персональными
компьютерами ДВК-2 и ДВК-1, что позволило организовать практические занятия
непосредственно в школе. В следующем учебном году эти школьники приступили к
занятиям в НИВЦ МГУ по программе, уже опробованной для учащихся десятых
классов.
Положительный опыт овладения
алгоритмическими языками в девятых классах позволил организовать изучение
информатики и основ вычислительной техники в восьмых классах. В 1986/87 учебном
году изучение информатики в системе компьютерного обучения «Наставник» с
практической работой на мини-компьютерах ДВК-2 и ДВК-1 организовано и в седьмых
классах. В дальнейшем с расширением возможностей практической работы на ЭВМ
начало обучения будет последовательно смещено в VI, V и IV классы. Изучение
информатики, таким образом, станет планомерно усложняться в соответствии с
расширением знаний учащихся. В дальнейшем планируется создание
компьютеризованного практикума по физике, химии и биологии с использованием
ЭВМ.
Поступила
в редакцию 21.V 1987 г.