Скачать 228.26 Kb.
|
Тема: Научно-методические основы реализации содержательной линии «Основы алгоритмизации и программирования». 1. Лекция преподавателя (готовится в электронном варианте для самостоятельного изучения студентами с последующей проверкой знаний) Основные вопросы, рассматриваемые на лекции: 1. Цели и задачи изучения основ алгоритмизации и программирования в школьном курсе информатики. Значение проблемы формирования алгоритмического стиля мышления учащихся. 2. Обязательный и вариативный уровни усвоения учебного материала по изучаемому разделу. 3. Методические особенности изучения базовых понятий алгоритмизации и программирования. 4. Программные средства учебного назначения в поддержку изучения основ алгоритмизации и программирования. Литература:
1. Вопрос о роли алгоритмизации должен решаться исходя из основных целей обучения в школе вообще. Одна из таких целей – развитие мышления учащихся. Исходя из этого, обучение алгоритмизации можно рассматривать и как промежуточный шаг в обучении программированию, и в большей степени, (начиная даже с пропедевтических курсов) как средство развития мышления. Таким образом, изучение алгоритмизации в школьной информатике может иметь два целевых аспекта: первый – развивающий аспект, под которым понимается развитие алгоритмического (ещё говорят операционного) мышления учащихся, второй – программистский аспект. Вопрос о месте и объёме программирования в базовом курсе остаётся дискуссионным. В различных версиях обязательного минимума этот вопрос решался по-разному. Здесь также можно выделить два аспекта в изучении программирования в школе. Первый связан с усилением фундаментальной компоненты курса информатики. Ученикам даётся представление о том, что такое языки программирования, что представляет собой программа на языках программирования высокого уровня, как создаётся программа в среде современной системы программирования. Также получив представления о языках машинных команд, о языках высокого уровня, ученики будут осознанно воспринимать понятие «трансляция». Второй же аспект носит профориентационный характер. Изучение в рамках школьного курса позволяет ученикам испытать свои способности в программировании. Безусловно, в большей степени эту задачу можно решать на профильном уровне курса информатики, на элективных курсах, связанных с программированием, в старших классах школы. 2. В учебном стандарте и обязательном минимуме по информатике для основной школы содержание алгоритмической линии определяется через следующий перечень понятий: алгоритм, свойства алгоритмов; способы записи алгоритмов, блок-схемы; алгоритмические конструкции; логические значения, операции, выражения; разбиение задачи на подзадачи, вспомогательный алгоритм. Здесь также определены требования к уровню подготовки выпускников: - в результате изучения раздела ученик должен знать/понимать основные свойства алгоритма; типы алгоритмических конструкций: следствие, ветвление, цикл; понятие вспомогательного алгоритма -уметь выполнять и строить простые алгоритмы. Примерная программа по информатике и информационным технологиям (составлена на основе федерального компонента государственного стандарта основного общего образования, конкретизирует содержание предметных тем образовательного стандарта, даёт примерное распределение учебных часов по разделам курса и возможную последовательность изучения разделов и тем учебного предмета с учётом межпредметных и внутрипредметных связей, логики учебного процесса конкретного образовательного учреждения, возрастных особенностей учащихся, определяет минимальный набор практических работ, необходимый для формирования информационно-коммуникационной компетентности учащихся), отводит на изучение раздела «Алгоритмы и исполнители» 19 учебных часов, в том числе 6 практических работ: Алгоритм. Свойства алгоритма. Способы записи алгоритмов; блок-схемы. Возможность автоматизации деятельности человека. Исполнители алгоритмов (назначение, среда, режим работы, система команд). Компьютер как формальный исполнитель алгоритмов (программ). Алгоритмические конструкции: следование, ветвление, повторение. Разбиение задачи на подзадачи, вспомогательный алгоритм. Алгоритмы работы с величинами: типы данных, ввод и вывод данных. Языки программирования, их классификация. Правила представления данных Правила записи основных операторов: ввода, вывода, присваивания, ветвления, цикла. Правила записи программы. Этапы разработки программы: алгоритмизация – кодирование – отладка – тестирование. Обрабатываемые объекты: цепочки символов, числа, списки, деревья, графы. Практические работы:
На схеме (приложение) представлена структура основных понятий содержательной линии «Алгоритмизация и программирование», которая разделена на две ветви: ветвь алгоритмизации и ветвь программирования. Эти ветви имеют общую часть, которая начинается с блока «Алгоритмы работы с величинами». Из схемы, в частности, следует, что основой методики обучения алгоритмизации и программированию является методика структурного программирования. Структура ветви программирования носит характер обобщённой методической схемы, которая применима при любом уровне изучения программирования. На разных уровнях изучения может отличаться глубина и степень подробности раскрытия различных разделов схемы. Таким образом, базовая подготовка в области информатики относительно разделов алгоритмизации и программирования, включает рассмотренный выше круг вопросов, а освоение учебного материала обеспечивает учащимся возможность: - уяснить (на основе анализа примеров) смысл понятия алгоритма, узнать свойства алгоритма, понять возможность автоматизации деятельности человека при исполнении алгоритмов; - освоить основные алгоритмические конструкции (цикл, ветвление, процедура), применение их для построения алгоритмов решения учебных задач; - получить представление о «библиотеке алгоритмов», научиться использовать библиотеку для построения более сложных алгоритмов; - получить представление об одном из языков программирования (или учебном алгоритмическом языке), использовать этот язык для записи алгоритмов решения простых задач. После изучения темы учащиеся должны: - понимать сущность понятия алгоритма, знать его основные свойства, иллюстрировать их на примерах конкретных алгоритмов; - понимать возможность автоматизации деятельности человека при исполнении алгоритмов; - знать основные алгоритмические конструкции и уметь использовать их для построения алгоритмов; - определять возможность применения исполнителя для решения конкретной задачи по системе команд, строить и исполнять на компьютере алгоритм для учебного исполнителя (типа «черепахи», «робот» и др.); - записывать на учебном алгоритмическом языке (или языке программирования) алгоритм решения простой задачи; - иметь представление о переменной как участке памяти ЭВМ; - иметь представление о массиве как совокупности однотипных данных; - понимать характер изменения параметра в процессе выполнения цикла; - понимать процесс выполнения программ, содержащих обращение к подпрограммам; - знать атрибуты переменной (имя, тип, значение); - знать стандартные функции, правила определения функций пользователя; - знать правила записи и порядок выполнения логических выражений; - знать правила определения подпрограмм и обращения к ним; - знать правила описания массивов данных; - уметь описать процесс задания значения переменной с помощью оператора присваивания; - уметь описать форматы простейших операторов, обеспечивающих ввод данных с клавиатуры и вывод символов на экран; - уметь описать форматы стандартных функций, типы аргументов, типы значений; определять функции пользователя, использовать их в выражениях; - уметь описать формат условного оператора и порядок выполнения его в полном и неполном вариантах; записывать простые разветвляющиеся алгоритмы в виде программ; - уметь описать формат операторов организации циклов; записывать простые циклические алгоритмы в виде программ; - уметь описать формы графических операторов; использовать эти операторы для создания простых изображений; - уметь организовывать ввод/вывод массива данных; различать индекс и значение массива; - владеть простейшими приёмами отладки программ. 3.Понятие «алгоритм» является центральным, существует множество определений этого понятия. В первом учебнике А.П.Ершова приводится следующее определение: «Под алгоритмом понимают понятное и точное предписание (указание) исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи». Указание на выполнение каждого отдельного действия названо командой, а «совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя». В качестве основного свойства алгоритма подчёркивается формальный характер работы исполнителя при его выполнении. Отсюда делается вывод о том, что исполнителем алгоритма может быть автомат (машина, робот). На этой идее основан принцип программного управления работой компьютера, поскольку программа – это и есть алгоритм, представленный на языке, «понятном» компьютеру – на языке программирования. Сформулированные в учебнике понятия явились дидактической основой для раскрытия темы алгоритмизации во всех последующих учебниках информатики. В учебнике И.Г. Семакина приводится определение алгоритма как последовательности команд, управляющих работой какого- либо объекта (последний назван объектом управления или исполнителем алгоритма). Учебник Н.Д. Угриновича «Информатика. Базовый курс. 9 класс» - Алгоритм – это конечная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью точных и понятных исполнителю команд» Очень важна в разделе «Алгоритмизация» роль Исполнителя алгоритма. Идея Исполнителя как устройства, выполняющего команды, восходит к знаменитой черепашке Пейперта. Во всех случаях Исполнители используются как методическое средство, позволяющее ввести основные понятия алгоритмизации и начать решать задачи в наглядной среде, освобождённой от излишних математических и других трудностей, т.е. Исполнителя используют как средство, «очищенное от всего». Исполнитель – объект, изменяющий своё состояние под воздействием последовательности поступивших извне команд (программы) в соответствии с некоторой договорённостью. Важно понять, чем характеризуется исполнитель: среда, система команд, элементарное действие, отказы. Среда или обстановка – «место обитания» исполнителя. Например, среда Робота – бесконечное клетчатое поле, ориентированное по сторонам горизонта, стены и закрашенные клетки на поле. Система команд исполнителя. Каждый исполнитель может выполнять команды только из некоторого конечного списка - системы команд исполнителя. Для каждой команды должны быть описаны условия применимости и результаты её выполнения. На уроке, посвящённом понятию исполнителя алгоритмов, учитель должен донести до учащихся следующие идеи. Во-первых, человек далеко не единственный исполнитель алгоритмов. Во-вторых, любой исполнитель состоит из устройства управления и «рабочего инструмента». В-третьих, каждый исполнитель алгоритмов обладает ограниченным набором допустимых действий. В-четвёртых, для решения одних и тех же задач исполнители с более «бедным» набором допустимых действий требуют более сложных и подробных алгоритмов. В-пятых, разные классы задач требуют разных наборов допустимых действий разных исполнителей. Дополним общее направление содержания образования, описанное выше, относительно раздела программирования. Достаточно хорошо известна методика изучения языков программирования с целью практического их освоения. Эта методика опирается на структуру самого объекта изучения – языка программирования, которая отражена на схеме. Цель в освоении практического программирования – научить грамотно программировать несложные практические задачи, дать представление о современной технологии программирования и о технико-экономических аспектах разработки и эксплуатации сложных программных комплексов. Компьютерная грамотность включает знание в общих чертах основных понятий алгоритмизации и программирования (языки, алгоритмы и программы, структура программ и данных, задачи и спецификации, проверка правильности программ, сложность задач). Составной частью компьютерной грамотности является программирование, понимаемое не как совокупность профессиональных умений и навыков, а как культура формирования разветвлённых планов действий и построения машинных исполнителей. В свою же очередь задача обеспечения компьютерной грамотности имеет вспомогательный и подчинённый характер по отношению к задаче формирования информационной культуры. Наиболее целесообразно для начального знакомства с языками программирования использовать язык Паскаль, созданный в 1971 году Никлаусом Виртом как учебный язык. Основной принцип, заложенный в нём – это поддержка структурной методики программирования. Этот же принцип лежит в основе учебного алгоритмического языка. По сути дела, расхождение между алгоритмическим языком и Паскалем состоит в следующем: алгоритмический язык – русскоязычный, Паскаль – англоязычный; синтаксис Паскаля определён строго и однозначно в отличии от сравнительно свободного синтаксиса алгоритмического языка. Конечно, учитель может выбрать и язык Бейсик из-за привычки к нему или при отсутствии системы программирования на Паскале. Но в этом случае возникают серьёзные методические проблемы: как аккуратно отразить концепцию типов данных и структурную методику программирования на Бейсике? В принципе, известно, как это делать, но для неопытного учителя это может оказаться проблемой. Поскольку в базовом курсе ставится только лишь цель первоначального знакомства с программированием, то строгого описания языка программирования не требуется. Основной используемый метод – демонстрация языка на примерах простых программ с краткими комментариями. Некоторые понятия достаточно воспринять ученикам на «интуитивном уровне». Наглядность такого языка, как Паскаль, облегчает это восприятие. Кроме того, пониманию помогает аналогия между Паскалем и русскоязычным алгоритмическим языком. Для выполнения учениками несложных самостоятельных заданий достаточно действовать методом «по образцу». Учитель может задуматься над проблемой: как лучше связать изучение методов построения алгоритмов работы с величинами и языка программирования. Здесь возможны два варианта: 1) сначала рассматриваются всевозможные алгоритмы, для описания которых используются блок-схемы и алгоритмический язык, а затем – правила языка программирования, способы перевода уже построенных алгоритмов в программу на этом языке; 2) алгоритмизация и язык программирования осваиваются параллельно. Опыт показывает, что теоретическое изучение алгоритмизации и программирования, оторванное от практики, малоэффективно. Ни одну более или менее сложную программу нельзя считать правильной и процесс её написания законченным, если он не проверен путём исполнения. Велика обучающая роль исполнения программ – это в конце концов приводит к сознательному и прочному усвоению конструкций и правил алгоритмического языка. Учителю надо знать, что привить учащимся навыки программирования можно только путём обучения учащихся самостоятельно исполнять их. В информатике не всегда выгодно гнаться за количеством упражнений. Гораздо важнее решить немного задач, но так, чтобы они все были понятны учащимся. Исполнение программ – очень эффективная форма контроля знаний учащихся. Исполнение программ можно также сделать средством активизации деятельности учащихся на уроке. Воспитательное значение исполнения программ заключается в том, что учащиеся приучаются к аккуратности, внимательности, к умению доводить начатое дело до конца. Развивается логическое и рациональное мышление. Желательно, чтобы ученики как можно раньше получили возможность проверять правильность своих алгоритмов, работая на компьютере. А для этого им нужно знакомиться с языком программирования, осваивать приёмы работы в системе программирования. На первых этапах рекомендуется не отказываться от ручной трассировки алгоритма. Этот приём помогает ученикам «почувствовать» процесс исполнения, увидеть свои ошибки, допущенные в алгоритме. Когда же они станут более опытными программистами, например, осваивая элективный курс программирования в профильных классах старшей школы, тогда можно будет отказаться от ручной трассировки. Обучение программированию должно проводиться на примерах типовых задач с постепенным усложнением структуры алгоритмов. По признаку алгоритмической структуры их можно классифицировать так: - линейные алгоритмы: вычисления по формулам, всевозможные пересылки значений переменных; - ветвящиеся алгоритмы: поиск наибольшего или наименьшего значений из нескольких данных; сортировка двух-трёх значений; диалог с ветвлениями; - циклические алгоритмы: вычисление сумм и произведений числовых последовательностей, циклический ввод данных с последующей обработкой. Подобно задачам по теме «Алгоритмизация», задачи в теме «Программирование» можно разбить на следующие типы: - исполнение программы; - найти ошибку в программе; - определить, каков результат выполнения программы; - усложнение задачи; - построить математическую модель, составить алгоритм, написать программу, проверить её. Рекомендуется при решении задач в классе использовать методы проблемного изложения. На практике преимущественно урок строят по следующей схеме: фронтальная работа с классом (проверка домашнего задания, выполнение устных упражнений)-10 минут; объяснение нового материала -15 минут; работа за компьютером, выполнение заданий – 20 минут. 4. Организационные формы и средства обучения можно использовать как и на любом другом уроке (часто их называют традиционные). Однако большие надежды на повышение эффективности и качества обучения информатике и информационно-коммуникационным технологиям (в том числе и при изучении рассматриваемого раздела «Алгоритмизация и программирование») возлагаются на педагогические программные средства (ППС) или программные средства учебного назначения, на использование в учебном процессе цифровых образовательных ресурсов (ЦОР). Что это за новый вид учебно-методического обеспечения? Каковы их типы и назначение? Имеются различные подходы к классификации ППС. Одна из них делит программные средства учебного назначения согласно их дидактической цели: -демонстрационные программы предназначены для наглядного предъявления учащимся отдельных элементов учебного материала, иллюстрации новых понятий учебного предмета, показ определённых процессов и явлений; к категории демонстрационных программных средств относится широкий диапазон учебно-ориентированных программ: от простейшей программы, демонстрирующей отдельные элементы языка программирования, статические схемы и графики, до сложных программных средств, воспроизводящих динамические сюжеты по темам курса; -обучающие программы осуществляют процесс передачи ученику определённых знаний и обеспечивают некоторыми внутренними средствами необходимый уровень их освоения, устанавливаемый с помощью обратной связи; - программы-тренажёры используются для отработки и закрепления новых понятий и операционных навыков учащихся; программа обеспечивает достижения поставленных целей, как правило, путём неоднократного предъявления школьнику одних и тех же элементов содержания или навыков; - контролирующие программы представляют собой специальную категорию тестирующих программ, предназначенных для контроля уровня знаний учащихся; одно из возможных применений контролирующих программ – для самоконтроля учебной деятельности; - игровые программы учебного назначения - важнейшее их свойство – повышение мотивации; - имитационно-моделирующие программы основываются на уникальной способности компьютера моделировать сложные процессы и явления, визуально воспроизводя их сущность на экране в наглядной графической форме; здесь компьютер расширяет возможности учебного процесса в принципиально новых направлениях, экспериментируя с воссоздаваемой компьютером моделью, изучая её свойства и недостатки, учащиеся много узнают о конкретной изучаемой научной модели, о преимуществах и недостатках моделей в целом; -информационно-справочные системы учебного назначения предназначены для оперативного вывода необходимой информации по запросу школьника. Подготовка отчета по материалам лекции: Лекция преподавателя изучается студентами самостоятельно. Для подготовки отчета устанавливается срок (на усмотрение преподавателя до 1 недели). Примерная схема отчета приводится ниже: |