Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3.ПРАКТИКА / SEM4 / literatura / ИНФО_№11_2002(Кудинова)

.doc
Скачиваний:
17
Добавлен:
21.03.2015
Размер:
76.29 Кб
Скачать

Информатика и образование, № 11-2002, с.37-41

В. И. Кудинова,

учитель информатики высшей категории гимназии 91 г. Железногорска

О ПОЛЬЗЕ ПРОГРАММИРОВАНИЯ ДЛЯ ШКОЛЬНИКОВ

Роль курса информатики в школьной программе точных наук

25-летний общий стаж работы в об­ласти прикладной информатики, в том числе 8-летний опыт работы в школе, позволил автору определить ролевые осо­бенности школьного курса информа­тики следующим образом.

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

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

Место программирования в курсе информатики

Научить детей использовать готовые программы, как показывает мой опыт преподавания, проще, чем научить их разрабатывать свои алгоритмы решения задач, составлять и отлаживать програм­мы. Однако и мой личный многолетний опыт работы в гимназии, и общие тен­денции развития информатики и других дисциплин в отечественных школах ука­зывают на то, что идти по простому пути в данном вопросе не самое лучшее реше­ние. Если уж термин «программирование» все чаще используется в самых раз­личных методиках освоения многих дис­циплин, весьма далеких от блока точных наук (например, говорят о «программи­ровании» в новейших областях биологии, в экономике, психологии, политологии, социологии, маркетинге, связях с обще­ственностью и т. д.), то в применении к общению ребенка с компьютером гово­рить о программировании тем более важ­но и нужно. Здесь программирование впервые в жизни ребенка и в самом на­глядном «рафинированном» виде позволя­ет ему выйти на высокий уровень разви­тия своих интеллектуальных качеств, иг­ровых контактов с внешним «субъектом» (компьютером, вобравшим в себя огром­ные по объему и чрезвычайно сжатые, «сконденсированные»результаты интел­лектуального труда огромного числа лю­дей). Поэтому, на наш взгляд, использо­вать уроки информатики только лишь для тривиального «напичкивания» зна­ниями и «натаскивания» на рутинные манипуляции с клавишами — значит вместо творческого обогащения учащих­ся лишь усугублять извечную школьную проблему перегруженности программ, детей и учителей.

Что дает программирование детям

О пользе программирования для школьников можно говорить как мини­мум в двух аспектах: лингвистическом и алгоритмическом.

Изучая программирование, ученики лучше понимают сущность работы ком­пьютеров, их возможности и границы их применения. Написав однажды свои соб­ственные (пусть даже незамысловатые, по работающие) программы, ученики обнаруживают, что компьютеры совсем не похожи на волшебные всемогущие машины, описанные в научно-фантасти­ческих рассказах. К детям приходит по­нимание того, что компьютер является инструментом, которым должны управ­лять люди. Только немногие школьники станут профессиональными программи­стами, или будут иногда программиро­вать на работе, или сделают программи­рование своим хобби, но все выиграют от того, что постигли природу програм­мирования и поняли, что значит созда­вать собственные программы.

Программирование помогает школь­никам прочувствовать на собственном опыте (в интеллектуальной игре, осуще­ствляемой по особым правилам) и прой­ти все основные этапы формализованно­го решения некоей творческой, точно сформулированной задачи. Это дает нео­бычайно сильный толчок для развития интеллекта в целом и одновременно придает благоприятную эмоциональную ок­раску работе. Всем учащимся, без исклю­чения, это помогает развивать навыки мышления и решения задач, а также выработать привычку аккуратной и сис­тематической работы, а одаренным детям (прежде всего в области точных наук) еще и дает так необходимую им новую пищу для размышлений, поисков, раскрепоще­ния скрытых способностей. Формируемое при этом алгоритмическое мышление ценно само по себе. Методы, которые дети освоят на уроках программирования, обя­зательно будут использоваться позднее при решении самых различных «взрослых» жизненных и профессиональных задач. Возможно, это проявится неосоз­нанно и через много лет после оконча­ния школьного курса информатики, од­нако и ради этого стоит учить програм­мированию.

Как правило, ученикам нравится управлять работой компьютера при по­мощи собственных программ. Програм­мирование для некоторых детей стано­вится любимым занятием как в школе, так и дома. Часто можно услышать от детей: «Это почти волшебство — застав­лять компьютер делать то, что трудно сделать вручную». «Мне пришлось собрать воедино свою волю и преодолеть собствен­ные слабости, но я смог добиться того, что компьютер сделал то, что мне требо­валось».

Какой язык программирования выбрать

Критерии выбора языка програм­мирования.

Надо заранее оговориться, что, в от­личие от естественных языков общения народов и наций, один язык программи­рования лишь в редких случаях удовлет­воряет даже полупрофессионального про­граммиста длительное время (тем более всю жизнь), т. е. программисты-профес­сионалы, как правило, вынуждены быть «полиглотами», последовательно осваи­вающими ряд новых языков. Надо при­знать, что в профессиональном програм­мировании многоязычие — дело есте­ственное и неизбежное. Однако для боль­шинства учащихся в школе вполне дос­таточно освоить хотя бы один язык про­граммирования.

В [1] предлагаются следующие кри­терии выбора языка программирования:

  1. простота на начальной стадии изу­чения, чтобы дети могли сразу начать писать и отлаживать простые програм­мы. Важно заинтересовать детей и рас­сеять сомнения по поводу их способнос­тей к программированию;

  2. близость концепции языка к обра­зу мышления детей, язык должен содер­жать команды для работы с изображениями и словами, которые достаточно просты для детей;

  3. развитие у детей грамотных мето­дов программирования и решения задач, обеспечение солидной основы для изуче­ния других языков программирования;

  4. распространенность, наличие транслятора с языка на различных мо­делях персональных компьютеров, осо­бенно в виде бесплатных версий. Это важ­но, так как в настоящее время многие ученики хотят учиться программирова­нию дома, на имеющихся у них компью­терах.

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

Из всей массы языков программиро­вания сразу можно выделить четыре, разработанные специально для целей первоначального (ознакомительного) обу­чения программированию. Многие дру­гие языки прежде всего предназначены для использования в определенных про­фессиональных областях.

Бейсик был создан в начале 60-х гг. Д. Кенеми и Т. Куртцом как язык для начинающих. В конце 60-х гг. С. Пейперт разработал язык Лого, который удо­бен для начинающих в области искус­ственного интеллекта. В начале 70-х гг. Н. Виртом был создан специальный язык программирования для обучения студен­тов программированию — Паскаль. При введении в школах СССР курса «Основы информатики и вычислительной техни­ки» в конце 80-х гг. в был создан язык КуМир [2, 3].

Поскольку имеются различные вер­сии языков программирования, далее мы будем говорить о полных и современных версиях языков. Так, говоря о языке Бей­сик, автор имеет в виду не QWBasic [4] (первое поколение языка), в котором не­обходимо нумеровать строки, имеющий устаревший пользовательский интер­фейс, а вполне современные версии: QuickBasic, QBasic (широко распростра­нена русифицированная версия), Basic PSD — второе поколение языка, а также VisualBasic — третье поколение языка [5, 6]. Все эти версии языка Бейсик разра­ботаны фирмой Microsoft. Еще есть Turbo Basic фирмы Borland. Говоря о языке Лого, будем иметь в виду наиболее пол­ные версии языка. В настоящее время существует уже несколько русифициро­ванных версий — LogoWriter [7J и MSWLogo (ЛогоМиры).

Язык Паскаль [8, 9] для начального обучения программированию в V — VII и даже в VIII — IX классах, на наш взгляд, совсем не годится, так как в нем сложно работать с графикой, а начинать знако­мить с таким понятием, как «цикл», сто­ит именно с графики. Это ярко, это нагляд­но, это более близко и понятно детям.

Вернемся к нашим критериям выбо­ра языка. По первому критерию — про­стоте написания несложных программ на начальной стадии — стоит выделить язы­ки Бейсик и Лого. Оба этих языка по­зволяют учащимся без труда ввести про­грамму, сразу ее выполнить и при необ­ходимости исправить.

По второму критерию определенные преимущества имеет язык Лого, так как он совместим со способом мышления де­тей. Черепашья графика является блес­тящим средством обучения детей про­граммированию. Команды, даваемые че­репашке, отражают действия, которые дети могут выполнить сами. Ребенок, наблюдая собственные движения при рисовании той или иной фигуры, может потом сообщить черепашке, какие пере­мещения ей надо сделать, чтобы полу­чить такую же фигуру. Графические же операторы языка Бейсик требуют пони­мания системы прямоугольных коорди­нат и не отражают процессов рисования или движения, необходимых для постро­ения заданной фигуры.

Третьему критерию, на мой взгляд, больше удовлетворяет язык Бейсик. Все рассматриваемые нами языки, на наш взгляд, обучают структурному програм­мированию. Для структурированной про­граммы характерны более высокая веро­ятность правильной работы и большая простота изменения и расширения, чем для программы, не имеющей модульной структуры. Структурированную програм­му легко прочесть и понять. Если счи­тать, что в этой части рассматриваемые языки равны, то для перехода к изуче­нию других языков программирования, на мой взгляд, больше готовит язык Бей­сик. Он близок к такому классическому структурированному языку, как Пас­каль. В Бейсике и Паскале практически совпадают конструкции ветвления, цик­ла; при работе с графикой в обоих язы­ках используется система прямоугольных координат, но в Паскале работа с графи­кой гораздо сложнее. В этих языках ис­пользуются одни те же англоязычные ключевые слова. КуМир по структуре и содержанию также близок к языку Пас­каль. Его полная русификация на пер­вом этапе обучения программированию является явно большим плюсом. Но при переходе к другим языкам программи­рования, мне кажется, этот плюс может обернуться минусом.

По последнему, четвертому критерию язык Бейсик имеет явное преимущество. Бейсик — стандартный язык и ранее поставлялся с большинством персональ­ных компьютеров, включая самые деше­вые, он входил в состав операционной системы MS-DOS. Для сравнения отме­тим, что, например, среду программирования КуМир надо покупать. На наш взгляд, до сих пор существует мало ли­тературы по языку Лого.

Учитывая, что в школах города не хватает финансирования, в них этот язык не используется. На домашних ПК он тоже отсутствует.

Большим достоинством языка Лого в сравнении с Бейсиком является возмож­ность легкого и быстрого создания про­грамм с анимационными (мультиплика­ционными) эффектами с помощью пре­дусмотренных в языке форм черепашки [7]. Формы молено редактировать, пово­рачивать, создавать новые. В Бейсике все это тоже возможно, но более трудоемко, там нет встроенных заготовок форм. QuickBasic позволяет использовать рисун­ки, созданные в графических пакетах. Для этого надо подключить специализи­рованные библиотеки.

Учащимся V — VII классов свойствен­на конструкторская деятельность. На поддержку этой деятельности и направ­лена работа с формами в языке Лого. Однако развитие конструкторской дея­тельности учащихся можно осуществлять в широко распространенных сейчас спе­циализированных анимационных пакетах.

А теперь отметим преимущества язы­ка Бейсик в сравнении с Лого.

Дети, изучившие язык Бейсик, легко осваивают другие языки программирова­ния. Так, из своего многолетнего опыта могу сказать, что на факультативных занятиях в VII — VIII классах дети, изу­чавшие Бейсик в V — VII классах, без каких-либо проблем осваивают Паскаль. Язык Лого более далек от профессиональ­ных языков программирования, чем Бей­сик.

Мне было интересно узнать на кон­ференции в Красноярской академии цвет­ных металлов и золота, что большинство студентов четвертого курса, разрабаты­вая программы к своим курсовым рабо­там, использовали язык Бейсик, хотя в академии на первых курсах им препода­вали Паскаль. Это говорит о том, что возможностей языка Бейсик достаточно для решения учебных задач в школе и многих задач, рассматриваемых в инсти­тутах, а также, что он легко не только осваивается, но и вспоминается. Ведь всем известно, что любой язык, в том чис­ле и язык программирования, быстро забывается, если им не пользуешься.

Возможностей языка Бейсик доста­точно и для решения олимпиадных за­дач по программированию. Один из моих учеников, приверженец языка Бейсик, даже на всероссийской олимпиаде по программированию использовал этот язык. Хотя для участия во многих дис­танционных олимпиадах выставляется требование, не совсем мне понятное, — язык программирования Паскаль или Си. Должна сознаться, что я сама, решая олимпиадную задачу, обычно делаю это на Бейсике, а потом перевожу на Пас­каль. На Бейсике, как правило, все эти задачи решаются быстрее1.

Дальнейшим развитием языка Бей­сик является Visual Basic, который реа­лизует современные идеи событийно-управляемого и визуального программиро­вания. В значительной степени он обес­печивает совместимость версий языка Бейсик «снизу вверх», что облегчает лю­дям, работавшим в среде QuickBasic или QBasic, освоение Visual Basic. Фирма Microsoft поддерживает и развивает Visual Basic как одну из своих основных систем программирования. Именно эта система используется для создания про­граммных модулей в MS Access и MS Excel.

И еще приятная мелочь. Управляю­щие клавиши, используемые в Бейсике, приняты и в стандартизованных Windows-программах, что подготавлива­ет к работе в Windows (Alt — выход в меню программы, Ctrl + Insert — копи­ровать в буфер, Shift + Insert — вста­вить из буфера и т. д.).

Если выбор сделан в пользу языка Бейсик и изучение программирования начинается в V классе, то для лучшего восприятия языка стоит поработать пе­ред этим в обучающей среде типа «Кен­гуренок», «Кукарача» или «Муравей» [10 — 12]. Лично мне нравится «Кенгу­ренок». В этой среде детям легко состав­лять программы, так как все ключевые слова языка программирования реализу­ются с помощью функциональных кла­виш. Работая в обучающей среде, дети знакомятся с такими понятиями, как «программа», «процедура», «ветвление», «цикл» и т. д. Перейдя к программиро­ванию на языке Бейсик, они закрепят эти понятия.

Выводы

  1. Для начального обучения програм­мированию в V — VII классах можно использовать языки Лого и Бейсик. Каж­дый из них имеет свои преимущества, но Бейсик закладывает лучшую базу для изучения в дальнейшем других языков программирования.

  2. Язык Паскаль можно изучать в школе на факультативных занятиях с интересующимися программированием детьми или в старших классах с углуб­ленным изучением информатики.

Литература

  1. Клейман Г. М. Школы будущего: ком­пьютеры в процессе обучения. М.: Радио и связь. 1987.

  2. Зайдельман Я. Н. Буки программиро­вания. Дистанционный курс. Роботландский университет, 1999 — 2000.

  3. Кушниренко А. Г., Лебедев Г. В., Сворень Р. А. Основы информатики и вычисли­тельной техники. М.: Просвещение, 1990.

  4. Коляда М. Г. Окно в удивительный мир информатики: Учебное пособие. Донецк: Сталкер, 1999.

  5. Зельднер Г. А. Программируем на язы­ке QuickBasic 4.5: Учебное пособие по курсам «Информатика и вычислительная техника», «Основы программирования». М.: ABF, 1996.

  1. Михайлов В. Ю., Степанников В. М. Современный Бейсик для IBM PC. Среда, язык, программирование. М.: Изд-во МАИ, 1993.

  2. Юдина А. Г. Практикум по информа­тике в среде LogoWriter: Пособие для уча­щихся общеобразовательных школ. М.: Мнемозина, 1999.

  3. Зуев Е. А. Программирование на языке Turbo Pascal 6.0, 7.0. М.: Радио и связь, Веста, 1993.

9. Горст ко А. Б., Чердынцева М. И. Инфор­матика для школьников и всех-всех-всех: Учеб­ное пособие для учащихся средних школ, лице­ев, гимназий. Ростов н/Д.: Феникс, 1997.

  1. Программно-методический комплекс №1 по курсу информатики. Основы алгорит­мизации: Учебное пособие. М., 1993.

  2. Гутман, Г. Н., Карпилова О. М. Мура­вьиные сказки. М.: Просвещение, 1993.

  1. Программно-методический комплекс по начальной школе «Роботландия». М.: Ал­горитмы и программы, 1993.

  2. Программно-методические материалы. Информатика. 1 — 11 классы. 3-е изд., сте­реотип. М.: Дрофа, 2000.

  3. Оценка качества подготовки выпуск­ников основной школы. По информатике. М.: Дрофа, 2000.

  4. Программирование: вводный курс /Под ред. Д. Школьника. М.: МЦНМО, 1995.

  5. Болотова Н. В., Кузнецов Е. В. Я и чере­пашка. Первые уроки программирования. Крас­ноярск: Изд-во Красноярского ун-та, 1992.

17. Филичев С. В. Информатика — это просто. М.: ЭКОМ, 1999.

1 Basic - признанный лидер по скорости разработки и отладки программ [5].