Диктант по программированию
Автор: Пашковская Юлия Вадимовна
Организация: МОУ Гимназия №1
Населенный пункт: Московская область, г.о. Жуковский
Иногда уроки по программированию я начинаю так: «Дети, откройте тетради! Напишите слово «Диктант»!» Ученики тех классов, в которых ещё не было подобных заданий, не верят своим ушам: «Какой диктант? По русскому? А у нас точно урок программирования?»
Я спешу их успокоить: «У нас будет диктант по программированию: я буду диктовать вам команды по-русски, а вы должны будете записать их на языке программирования Паскаль».
В 7 классе диктант может быть таким:
- Объявите две переменные целого типа и одну действительного типа.
- В одну из переменных введите целое число с клавиатуры.
- В другую – значение, на 2 большее того, что было введено в первую переменную.
- В третью переменную поместите частное от деления значения первой переменной на значение второй.
- Выведите значение этой переменной на экран.
А в 9 классе диктант может звучать так:
- Объявите массив, в который можно было бы записать оценки 15 учеников.
- Поставьте первому ученику случайную оценку из диапазона от 3 до 5.
- Второму ученику – на 1 меньше, чем первому.
- Третьему ученику введите оценку с клавиатуры.
- Остальным ученикам поставьте 4.
- Выведите содержимое массива на экран.
Обычно такой диктант занимает 5 – 10 минут.
Иногда я дожидаюсь, когда все ученики запишут одну команду. Потом пишу правильный ответ на доске и прошу исправить тех, у кого были ошибки. Затем диктую следующую команду.
Иногда вызываю к доске тянущих руку или, наоборот, сомневающихся в правильности своего написания команд. Иногда разрешаю пользоваться тетрадями, иногда, если класс сильный, запрещаю. Вариантов – масса.
Иногда во время диктанта я хожу по рядам, заглядываю к ученикам в тетради и комментирую: «Проверь вторую команду», «А у тебя в четвёртой строке ошибка», «А тут всё правильно!»
Моя задача – вовсе не уличить учеников в незнании или поймать их на ошибках, а через создание небольшой интриги актуализировать их знания. Поэтому я с удовлетворением смотрю на то, как ошибившиеся ученики списывают у тех, кого я похвалила.
Зато после диктанта мне легко объяснять новый материал. Я проговариваю идею, а ученики помогают мне записывать её на языке программирования.
Например, объяснение поиска максимума в массиве может выглядеть так:
- Заведём новую переменную! Как её назовём? Какого она будет типа?
- Будем изначально считать, что самый большой элемент массива – первый. Как это записать?
- Проверим второй элемент массива: если его значение больше нашего максимума, то поменяем значение нашей новой переменной на значение второго элемента. Что это за команда?
- Что поменяется в записи этой команды, если мы будем проверять третий элемент массива?
- Сколько таких проверок нам надо организовать? А можно ли как-нибудь записать эти однотипные команды кратко?
Конечно, критерий истинности – практика. Пятёрки ставлю только тем, кто самостоятельно может реализовать свою программу на компьютере, т.е. написать её без синтаксических и логических ошибок. Такие ученики обычно легко изменяют свою программу, если я немного меняю условие задачи.
Если ученик списал программу, и она работает правильно, это тоже хорошо: не каждый может грамотно списать! Текст работающей программы я требую переписать в тетрадь. Не сфотографировать на телефон, а именно записать от руки в тетрадь: при этом тренируется зрительная память. Слабым ученикам напротив каждой команды советую написать по-русски, что она «делает» (например, «заполняем массив случайными числами», «обмениваем переменные a и b значениями»).
Как-то один учитель иностранного языка сказал: «Язык, в отличие от других предметов, нельзя выучить в напряжённой обстановке, и я учеников перед уроком обязательно расслабляю». Это высказывание я в полной мере отношу и к урокам программирования. Ученик должен не бояться делать ошибки.
Программирование – это искусство диалога с компьютером, процесс творческий. А диктант помогает отточить программистскую грамотность и осознать, что за каждой командой стоит осмысленное действие.