Файл: Методические аспекты изучения основ алгоритмизации и программирования в школьном курсе.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 70
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Язык подходит для обучения программированию на профильном уровне, так как развивает объектно-ориентированный стиль мышления. Подходит для выполнения практических работ и практикумов, предусмотренных в стандарте полной средней школы.
//////
Поскольку в базовом курсе ставится только лишь цель первоначального знакомства с программированием, то строгого описания языка программирования не требуется. Основной используемый метод – демонстрация языка на примерах простых программ с краткими комментариями. Некоторые понятия достаточно воспринять ученикам на «интуитивном уровне». Для выполнения учениками несложных самостоятельных заданий достаточно действовать методом «по образцу».
Учитель может задуматься над проблемой: как лучше связать изучение методов построения алгоритмов работы с величинами и языка программирования. Здесь возможны два варианта:
1) сначала рассматриваются всевозможные алгоритмы, для описания которых используются блок-схемы и алгоритмический язык, а затем – правила языка программирования, способы перевода уже построенных алгоритмов в программу на этом языке;
2) алгоритмизация и язык программирования осваиваются параллельно.
Опыт показывает, что теоретическое изучение алгоритмизации и программирования, оторванное от практики, малоэффективно. Ни одну более или менее сложную программу нельзя считать правильной и процесс её написания законченным, если он не проверен путём исполнения. Велика обучающая роль исполнения программ – это в конце концов приводит к сознательному и прочному усвоению конструкций и правил алгоритмического языка. Учителю надо знать, что привить учащимся навыки программирования можно только путём обучения учащихся самостоятельно исполнять их. В информатике не всегда выгодно гнаться за количеством упражнений. Гораздо важнее решить немного задач, но так, чтобы они все были понятны учащимся.
Исполнение программ – очень эффективная форма контроля знаний учащихся. Исполнение программ можно также сделать средством активизации деятельности учащихся на уроке. Воспитательное значение исполнения программ заключается в том, что учащиеся приучаются к аккуратности, внимательности, к умению доводить начатое дело до конца. Развивается логическое и рациональное мышление.
Желательно, чтобы ученики как можно раньше получили возможность проверять правильность своих алгоритмов, работая на компьютере. А для этого им нужно знакомиться с языком программирования, осваивать приёмы работы в системе программирования. На первых этапах рекомендуется не отказываться от ручной трассировки алгоритма. Этот приём помогает ученикам «почувствовать» процесс исполнения, увидеть свои ошибки, допущенные в алгоритме. Когда же они станут более опытными программистами, например, осваивая элективный курс программирования в профильных классах старшей школы, тогда можно будет отказаться от ручной трассировки.
Обучение программированию должно проводиться на примерах типовых задач с постепенным усложнением структуры алгоритмов. По признаку алгоритмической структуры их можно классифицировать так:
- линейные алгоритмы: вычисления по формулам, всевозможные пересылки значений переменных;
- ветвящиеся алгоритмы: поиск наибольшего или наименьшего значений из нескольких данных; сортировка двух-трёх значений; диалог с ветвлениями;
- циклические алгоритмы: вычисление сумм и произведений числовых последовательностей, циклический ввод данных с последующей обработкой.
Подобно задачам по теме «Алгоритмизация», задачи в теме «Программирование» можно разбить на следующие типы:
- исполнение программы;
- найти ошибку в программе;
- определить, каков результат выполнения программы;
- усложнение задачи;
- построить математическую модель, составить алгоритм, написать программу, проверить её.
Рекомендуется при решении задач в классе использовать методы проблемного изложения.
На практике преимущественно урок строят по следующей схеме:
фронтальная работа с классом (проверка домашнего задания, выполнение устных упражнений)-10 минут;
объяснение нового материала -15 минут;
работа за компьютером, выполнение заданий – 20 минут.
4. Решение трудностей изучения раздела учащимися
При изучении данной темы можно столкнуться со следующими сложностями:
· непонимание учащимися понятия «алгоритм»;
· неправильное приведение примеров алгоритма (не выполняются все его свойства, команды не входят в систему команд исполнителя);
· неправильное представление алгоритма в виде блок-схемы;
·неправильное использование простейших алгоритмических конструкций;
· отсутствие понимания принципа перевода алгоритма на формальный язык.
С первой из предложенного списка трудностей сталкиваются уже на начальном этапе изучения данной темы. В связи с этим раскрытие этого вопроса дается с использованием примеров, основанных на жизненном опыте учащихся. А также огромное значение имеет тот факт, что знакомство с алгоритмом происходит через раскрытие его неотъемлемых атрибутов или свойств, которые и позволяют некий текст (при условии представления его в словесной форме) воспринимать как алгоритм. Примеры, приводимые учителем во время урока должны отличаться разнообразием, касаться различных сфер человеческой деятельности. Это могут быть зарядка, выполняемая каждым человеком по утрам, переход через улицу, разведение костра, пришивание пуговицы, приготовление блюда по поваренной книги и другие.
Следующим этапом является закрепление понимания учащимися понятия алгоритм, и здесь возникает следующая проблема. Несмотря на то, что учащиеся знают определение и основные свойства они не могут правильно сформулировать примеры, которые являлись бы алгоритмами. Чаще всего забываются какие-нибудь важные атрибуты, им не уделяется достаточного внимания. Например, распространенной является ошибка, когда учащиеся забывают, что необходимо, чтобы все действия приводили к какому-нибудь результату, а не выполнялись просто так.
Для закрепления основных понятий и для преодоления вышеназванных трудностей, связанных с определением алгоритма, полезно рассмотреть с учениками несколько заданий следующего содержания:
1. выполнить роль исполнителя: дан алгоритм, формально исполнить его;
2. определить исполнителя и систему команд для данного вида работы;
3. в рамках данной системы команд построить алгоритм;
4. определить необходимый набор исходных данных для решения задачи.
Следующая проблема связана с неправильным представлением алгоритма в виде блок-схемы. Чтобы избежать серьезных проблем с изучением этого подраздела, нужно выработать у учащихся практические навыки по разработке блок-схемы, для этого необходимо соблюдать единообразие представления основных алгоритмических конструкций, а также осуществлять многократное повторение упражнений на использование данных схем.
Большую сложность у учащихся вызывает изучение базовых алгоритмических конструкций. Подробно необходимо остановить на каждой из них: линейность, ветвление и цикл.
Линейные алгоритмы воспринимаются легче всего, но необходимо подвести учащихся к выводу о невозможности их использования для большого круга задач.
При разборе конкретного алгоритма ветвления на схеме следует отметить разными цветами два возможных способа выполнения команды, точку входа и выхода из команды. Обязательно вслух проговаривается алгоритм с использованием ключевых слов «если», «то», «иначе». Это позволяет, во-первых, лучше усвоить данную структуру, а во-вторых, осуществить пропедевтику записи алгоритма с помощью псевдокода. Обращается внимание на то, что слева всегда записывается действие, которое будет выполнено в случае соблюдения условия, т. е. путь «да», а справа – действие, выполняемое при несоблюдении условия, т. е. путь «нет». Необходимо обратить внимание учащихся на то, что команда ветвления заканчивает свою работу, как только выполнится одна из двух предложенных команд.
Следует обсуждать с учащимися необходимость использования команды ветвления. Для этого можно задать следующие вопросы: почему алгоритм решения задачи не может иметь линейную структуру? Какое условие надо проверять при выполнении алгоритма? Какие действия выполняются при соблюдении условия, а какие – при его несоблюдении? Какая форма команды ветвления применена? В каких задачах используется данная структура алгоритма? и т. п.
В ряде учебников первой изучаемой конструкцией после команды следования является цикл, поскольку это дает возможность сократить запись алгоритма. Как правило, это конструкция «повторить n раз». Такой подход приводит к трудностям в освоении циклов как структуры организации действий, качественно отличающейся от линейной. Во-первых, другие разновидности цикла с предусловием и с постусловием (цикл «пока», цикл с параметром, цикл «до») воспринимаются как изолированные друг от друга и главный признак - повторяемость действий – не выступает в качестве системообразующего. Во-вторых, без внимания остаются опорные умения, которые необходимы при разработке циклов: правильное выделение условия продолжения или окончания цикла, правильное выделение тела цикла. Проверка условия в цикле «повторить п раз» практически не видна, и циклический алгоритм часто продолжает восприниматься учащимися как линейный, только иначе оформленный, что порождает неверный стереотип у учащихся в восприятии циклов вообще. Поэтому методически более целесообразным является изучение вначале команды ветвления, в которой используется условие, а уже затем команды повторения.
Изучение команды повторения следует начинать с введения цикла с постусловием, поскольку в этом случае учащемуся дается возможность вначале продумать команды, входящие в цикл, и только после этого сформулировать условие (вопрос) повторения этих команд. Если же сразу вводить цикл с предусловием, то учащимся придется выполнять оба эти действия одновременно, что снизит эффективность проведения занятий. В то же время цикл с постусловием рассматривается в качестве подготовки восприятия учащимися цикла с предусловием, обеспечивает перенос знаний на другой вид команды повторения, дает возможность работать по аналогии. Следует обратить внимание учащихся на то, что данные виды цикла отличаются по месту проверки условия, по условию возврата к повторению выполнения тела цикла. Если в команде повторения с постусловием тело цикла выполняется хотя бы один раз, то в команде повторения с предусловием оно может ни разу не выполняться.
Для решения последней трудности, связанной с отсутствие понимания принципа перевода алгоритма на формальный язык можно предложить следующее решение: необходимо начать изучение языка программирования с использования базовых алгоритмических конструкций, а также необходимо использовать параллельно различные формы представления алгоритма, что позволит более формально подойти к конкретному алгоритму.
5. Выводы
Алгоритмическая линия включает в себя обязательный минимум содержания учебного материала, который должен быть усвоен учащимися полностью.
Изучение учебного материала данной содержательной линии курса обеспечивает учащимся возможность:
· понять (на основе анализа примеров) смысл понятия алгоритма, знать свойства алгоритмов, понять возможность автоматизации деятельности человека при исполнении алгоритмов;
· освоить основные алгоритмические конструкции (цикл, ветвление, процедура), применять алгоритмические конструкции для построения алгоритмов решения учебных задач;
· получить представление о “библиотеке алгоритмов”, уметь использовать библиотеку для построения более сложных алгоритмов;
· получить представление об одном из языков программирования (или учебном алгоритмическом языке), использовать этот язык для записи алгоритмов решения простых задач.
В образовательном стандарте также сформулированы основные требования к уровню подготовки учащихся.
Учащиеся должны:
· понимать сущность понимания алгоритма, знать его основные свойства, иллюстрировать их на конкретных примерах алгоритмов;
· понимать возможность автоматизации деятельности человека при исполнении алгоритмов;
· знать основные алгоритмические конструкции и уметь использовать их для построения алгоритмов;
· записать на учебном алгоритмическом языке (или языке программирования) алгоритм решению простой задачи.
Практикум:
Разработка алгоритма (программы), решающего поставленную задачу с использованием математических функций для записи арифметических выражения, операторов ветвления и цикла.
Разработка алгоритма (программы) для решения поставленной задачи с использованием вспомогательных алгоритмов, в том числе по обработке одномерного массива.
В результате освоения курса информатики в основной школе учащиеся получат представление о методах представления и алгоритмах обработки данных, дискретизации, о программной реализации алгоритмов;
У выпускников будут сформированы: