Научная статья на тему 'Использование системы Scato для обучения основам программирования'

Использование системы Scato для обучения основам программирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
76
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — С. П. Пинешкин

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Использование системы Scato для обучения основам программирования»

Теория и методика обучения информатике

195

Использование системы SCATO для обучения основам программирования

С.П. Пинешкин (pinsp@pochta.ru)

МОУ «Средняя общеобразовательная школа № 30 г. Йошкар-Олы»

Щелкни кобылу в нос - она махнет хвостом.

Козьма Прутков

«Программирование - вторая грамотность». Этот лозунг А.П. Ершова подзабыт, но нуждается в том, чтобы его освежить, так как его актуальность только выросла в последнее время. Ведь проблема преподавания программирования касается гораздо более широкого круга учащихся, чем будущих ИТ-профессионалов. Основы программирования (алгоритмика и т.п.) - это дисциплина, сравнимая по общему значению с математикой и близкая последней по духу. В то же время следует четко разделить цели и соответственно содержание курсов. Специальную подготовку (изучение специфики конкретных систем программирования) следует выделять в отдельные курсы, изучаемые после прочного усвоения базового материала. Базовый же курс программирования должен быть сфокусирован на освоение базовых понятий.

В настоящее время школьный базовый курс программирования строится на таких языках высокого уровня, как Pascal и Basic. Делая упор на доступность в образовании, любой из подобных языков будет отвергнут как сильно формализованный, сложный для восприятия учащимся основной ступени обучения. Для использования этих и им подобных языков потребуется выделение особого времени на изучение среды программирования. Для Scato потребуется только знание текстового редактора, поэтому внимание учащихся сосредоточено на алгоритмизации.

Программа Scato написана на языке Python с использованием библиотеки Tk, поэтому она может быть установлена и запущена на любой платформе, где работает Python: Windows, Linux. Единственное, что понадобится -это сам язык Python.

Scato - это «черепаший» язык программирования. Он вобрал в себя все лучшее от Fact, но отбросил все рудименты, ограничивающие возможности пользователя. Он позволяет рисовать картинки, управляя воображаемой черепашкой: изначально язык был ориентирован на рисование итерационных фракталов. Язык очень прост, его легко может освоить человек, никогда ранее не программировавший. Таким образом, Scato может применяться для обучения программированию.

Кроме того, Scato - это еще и среда исполнения программ. Можно отлаживать программу, выполняя ее шаг за шагом, просматривать значения переменных и другие параметры окружения. Scato также позволяет сохранять полученные картинки в формате PostScript [2].

Все координаты задаются в текущей системе координат. В качестве аргументов любые арифметические операции могут использовать как числа, так и именованные переменные. Программа состоит из слов (token), разделенных пробелами. В программе допустимы комментарии - текст от первого символа '#' до конца строки игнорируется. Слова составляют выражения (statment). Выражения могут быть сгруппированы в блоки. Блок является выражением и может быть использован везде, где требуется выражение. Например, следующее выражение повторяет заданное пять раз: iterate 5 draw .1 .1.

Если мы хотим повторить пять раз пару выражений, то нам надо сгруппировать их:

iterate 5 # повторить пять раз следующее выражение

begin # выражение началось

draw .1 .1 # тело выражения

jump .1 .1 # тело выражения

end # выражение закончилось

Координаты всех перемещений задаются в текущей системе координат. Операций перемещения всего две: draw X Y и jump X Y. Jump перемещает черепашку, а draw перемещает и рисует прямую линию между начальной и конечной точками. Систему координат можно масштабировать и поворачивать: scale K, right A, left A. Углы A задаются в градусах. А коэффициент масштабирования K показывает, во сколько раз должен увеличиться единичный отрезок. Толщина линии задается в единицах текущей системы координат (width W), то есть обычно толщина линии значительно меньше единицы. При масштабировании толщина линии претерпевает аналогичные изменения.

196

ИТО Марий Эл - 2009

Цвет задается тремя числами-компонентами: красной, зеленой и синей. Значение каждой компоненты лежит в интервале от 0 до 1, можно задавать цвет линии (color R G B) и цвет фона (bgcolor R G B). Кроме того, цвета можно смешивать (mixcolor R G B K).

Условный оператор if позволяет выполнить те или иные действия в зависимости от условий.

if COMP then STAT

if COMP then STAT1 else STAT2

Цикл repeat повторяет блок STAT до тех пор, пока выполняется условие COMP (repeat STAT until COMP). Похожим образом работает цикл while, но он сперва проверяет условие, а потом выполняет тело (while COMP STAT). Цикл iterate повторяет операцию указанное число раз (iterate N STAT).

Scato позволяет создавать именованные процедуры, а потом вызывать из по именам: procedure NAME STAT # создать процедуру call NAME # вызывать процедуру

Процедуры позволяют использовать рекурсию. Оператор nop не имеет параметров и не делает ничего. Детали можно прочитать в полном руководстве или просто попробовать, установив Scato [2].

В МОУ «Средняя общеобразовательная школа № 30 г. Йошкар-Олы» Scato используется как язык для обучения программированию учащихся 5-8 классов. Существует множество сред для обучения основам программирования LOGO, Turtle, Робот, Чертежник и другие. Некоторые из них - коммерческие программы, часть устарела и не работает на современных ПК. Практически все современные подобные программы разработаны для ОС Windows, а в учебных классах нашей школы установлена ОС Linux (Runtu). У всех учеников нашей школы, занимающихся программированием, Scato установлен на домашних компьютерах вне зависимости от ОС.

Сама программа Scato имеет два свойства, призванных помочь начинающему пользователю. Во-первых, это богатая коллекция примеров, которые разбиты на две группы: простые - обучающие, и более сложные. Во-вторых, Scato поддерживает отладку программ. Можно выполнять программу шаг за шагом и видеть в строке состояния, что происходит на каждом шаге. Также можно в любой момент просмотреть значения всех переменных и все параметры черепашки. Можно легко находить ошибки и детально изучать работу примеров. Наглядность выполнения программы позволяет с первых занятий заинтересовать учащихся. Простота интерфейса и конструкций языка позволяет сократить время на их изучение.

Так как Scato основными командами схож с TPascal, у учащихся 9 классов легче осуществляется переход к изучению языка программирования высокого уровня. У Scato есть перспективы для дальнейшего развития: с автором языка, Мичуриным Алексеем, мы находимся в постоянном контакте и уже высказали несколько предложений, которые сразу получили поддержку и были реализованы. Он дополняет, совершенствует Scato и всегда идет навстречу нашим конструктивным дополнениям и замечаниям.

Литература

1. Персональный сайт Мичурина Алексея [Электронный ресурс]. - Режим доступа: http://www.michurin.com.ru/

2. opensource-проект [Электронный ресурс]. - Режим доступа: http://code.google.com/pZscato/

Из опыта использования пспо на уроках информатики

в МОУ «Средняя общеобразовательная школа № 30 г. Йошкар-Олы»

С.П. Пинешкин (pinsp@pochta.ru), Л.А. Чугунова (chla2003@list.ru)

МОУ «Средняя общеобразовательная школа № 30 г. Йошкар-Олы»

«Информатика - это наука о закономерностях протекания информационных процессов в системах различной природы, о методах, средствах и технологиях автоматизации информационных процессов. Она способствует формированию современного научного мировоззрения, развитию интеллектуальных способностей и познавательных интересов школьников; освоению базирующихся на этой науке информационных технологий необходимых школьникам, как в самом образовательном процессе, так и в их повседневной и будущей жизни.

Приоритетными объектами изучения в курсе информатики школы выступают информационные процессы и информационные технологии.

Практическая часть курса направлена на освоение школьниками навыков использования средств информационных технологий, являющееся значимым не только для формирования функциональной грамотности,

i Надоели баннеры? Вы всегда можете отключить рекламу.