Файл: Методические аспекты изучения основ алгоритмизации и программирования в школьном курсе.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 69
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Методические аспекты изучения основ алгоритмизации и программирования в школьном курсе
План
1. Цели и задачи изучения основ алгоритмизации и программирования в школьном курсе информатики. Значение проблемы формирования алгоритмического стиля мышления учащихся.
2. Обязательный и вариативный уровни усвоения учебного материала по изучаемому разделу.
3. Методические особенности изучения базовых понятий алгоритмизации и программирования.
4. Решение трудностей изучения раздела учащимися.
5. Выводы
1. Изучение алгоритмов и языков программирования является неотъемлемой частью информатики. Программирование вырабатывает логическое, комбинаторное и алгоритмическое мышление, творческие способности.
Под способностью алгоритмически мыслить понимается умение решать задачи различного происхождения, требующие составления плана действий для достижения желаемого результата. Для записи алгоритмов в первую очередь предлагается использовать формальные языки блок-схем и структурного программирования. Предполагается, что с самого начала работа с алгоритмами поддерживается компьютером.
Вопрос о роли алгоритмизации должен решаться исходя из основных целей обучения в школе вообще. Одна из таких целей – развитие мышления учащихся. Исходя из этого, обучение алгоритмизации можно рассматривать и как промежуточный шаг в обучении программированию, и в большей степени, как средство развития мышления. Таким образом, изучение алгоритмизации в школьной информатике может иметь два целевых аспекта: первый – развивающий аспект, под которым понимается развитие алгоритмического (ещё говорят операционного) мышления учащихся, второй – программистский аспект. Вопрос о месте и объёме программирования в базовом курсе остаётся дискуссионным.
Здесь также можно выделить два аспекта в изучении программирования в школе. Первый связан с усилением фундаментальной компоненты курса информатики. Ученикам даётся представление о том, что такое языки программирования, что представляет собой программа на языках программирования высокого уровня, как создаётся программа в среде современной системы программирования. Изучение в рамках школьного курса позволяет ученикам испытать свои способности в программировании.
2. В учебном стандарте и обязательном минимуме по информатике для основной школы содержание алгоритмической линии определяется через следующий перечень понятий: алгоритм, свойства алгоритмов; способы записи алгоритмов, блок-схемы; алгоритмические конструкции; логические значения, операции, выражения; разбиение задачи на подзадачи, вспомогательный алгоритм. Здесь также определены требования к уровню подготовки выпускников:
- в результате изучения раздела ученик должен знать/понимать основные свойства алгоритма; типы алгоритмических конструкций: следствие, ветвление, цикл; понятие вспомогательного алгоритма
-уметь выполнять и строить простые алгоритмы.
Примерная программа.
Алгоритм. Свойства алгоритма. Способы записи алгоритмов; блок-схемы. Возможность автоматизации деятельности человека.
Исполнители алгоритмов (назначение, среда, режим работы, система команд). Компьютер как формальный исполнитель алгоритмов (программ).
Алгоритмические конструкции: следование, ветвление, повторение. Разбиение задачи на подзадачи, вспомогательный алгоритм.
Алгоритмы работы с величинами: типы данных, ввод и вывод данных.
Языки программирования, их классификация.
Правила представления данных
Правила записи основных операторов: ввода, вывода, присваивания, ветвления, цикла. Правила записи программы.
Этапы разработки программы: алгоритмизация – кодирование – отладка – тестирование.
Обрабатываемые объекты: цепочки символов, числа, списки, графы.
Практические работы:
-
Разработка линейного алгоритма (программы) с использованием математических функций при записи арифметического выражения. -
Разработка алгоритма (программы), содержащей оператор ветвления. -
Разработка алгоритма (программы), содержащей оператор цикла. -
Разработка алгоритма (программы), содержащей подпрограмму. -
Разработка алгоритма (программы) по обработке одномерного массива. -
Разработка алгоритма (программы), требующего для решения поставленной задачи использования логических операций.
Таким образом, базовая подготовка в области информатики относительно разделов алгоритмизации и программирования, включает рассмотренный выше круг вопросов, а освоение учебного материала обеспечивает учащимся возможность:
- уяснить (на основе анализа примеров) смысл понятия алгоритма, узнать свойства алгоритма, понять возможность автоматизации деятельности человека при исполнении алгоритмов;
- освоить основные алгоритмические конструкции (цикл, ветвление, процедура), применение их для построения алгоритмов решения учебных задач;
- получить представление о «библиотеке алгоритмов», научиться использовать библиотеку для построения более сложных алгоритмов;
- получить представление об одном из языков программирования, использовать этот язык для записи алгоритмов решения простых задач.
После изучения темы учащиеся должны:
- понимать сущность понятия алгоритма, знать его основные свойства, иллюстрировать их на примерах конкретных алгоритмов;
- понимать возможность автоматизации деятельности человека при исполнении алгоритмов;
- знать основные алгоритмические конструкции и уметь использовать их для построения алгоритмов;
- определять возможность применения исполнителя для решения конкретной задачи по системе команд, строить и исполнять на компьютере алгоритм для учебного исполнителя.
- записывать на учебном алгоритмическом языке (или языке программирования) алгоритм решения простой задачи;
- иметь представление о переменной как участке памяти ЭВМ;
- иметь представление о массиве как совокупности однотипных данных;
- понимать характер изменения параметра в процессе выполнения цикла;
- понимать процесс выполнения программ, содержащих обращение к подпрограммам;
- знать атрибуты переменной (имя, тип, значение);
- знать стандартные функции, правила определения функций пользователя;
- знать правила записи и порядок выполнения логических выражений;
- знать правила определения подпрограмм и обращения к ним;
- знать правила описания массивов данных;
- уметь описать процесс задания значения переменной с помощью оператора присваивания;
- уметь описать форматы простейших операторов, обеспечивающих ввод данных с клавиатуры и вывод символов на экран;
- уметь описать форматы стандартных функций, типы аргументов, типы значений; определять функции пользователя, использовать их в выражениях;
- уметь описать формат условного оператора и порядок выполнения его в полном и неполном вариантах; записывать простые разветвляющиеся алгоритмы в виде программ;
- уметь описать формат операторов организации циклов; записывать простые циклические алгоритмы в виде программ
;
- уметь описать формы графических операторов; использовать эти операторы для создания простых изображений;
- уметь организовывать ввод/вывод массива данных; различать индекс и значение массива;
- владеть простейшими приёмами отладки программ.
3. Алгоритм – это конечная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью точных и понятных исполнителю команд»
Очень важна в разделе «Алгоритмизация» роль Исполнителя алгоритма.
Исполнитель – объект, изменяющий своё состояние под воздействием последовательности поступивших извне команд (программы) в соответствии с некоторой договорённостью. Важно понять, чем характеризуется исполнитель: среда, система команд, элементарное действие, отказы.
Среда или обстановка – «место обитания» исполнителя. Например, среда Робота – бесконечное клетчатое поле, ориентированное по сторонам горизонта, стены и закрашенные клетки на поле.
Система команд исполнителя. Каждый исполнитель может выполнять команды только из некоторого конечного списка – системы команд исполнителя. Для каждой команды должны быть описаны условия применимости и результаты её выполнения.
На уроке, посвящённом понятию исполнителя алгоритмов, учитель должен донести до учащихся следующие идеи.
Во-первых, человек далеко не единственный исполнитель алгоритмов.
Во-вторых, любой исполнитель состоит из устройства управления и «рабочего инструмента».
В-третьих, каждый исполнитель алгоритмов обладает ограниченным набором допустимых действий.
В-четвёртых, для решения одних и тех же задач исполнители с более «бедным» набором допустимых действий требуют более сложных и подробных алгоритмов.
В-пятых, разные классы задач требуют разных наборов допустимых действий разных исполнителей.
Дополним общее направление содержания образования, описанное выше, относительно раздела программирования. Цель в освоении практического программирования – научить грамотно программировать несложные практические задачи, дать представление о современной технологии программирования и о технико-экономических аспектах разработки и эксплуатации сложных программных комплексов.
Во время изучения языков программирования уделяется особое внимание их классификации, правилам представления данных и правилам записи основных операторов: ввода. вывода, присваивания, ветвления, цикла. Предполагается, что ученики должны знать этапы разработки программы: алгоритмизация – кодирование – отладка – тестирование.
После изучения курса учащиеся должны уметь выполнять базовые операции над объектами: цепочками символов, числами, проверять свойства этих объектов; выполнять и строить простые алгоритмы.
На профильном уровне предполагается овладение умениями строить математические объекты информатики, в том числе логические формулы и программы на формальном языке, удовлетворяющие заданному описанию; создавать программы на языке программирования по их описанию; использовать общепользовательские инструменты и настраивать их для нужд пользователя.
Однако, стандарт не дает методических рекомендаций по выбору языка программирования и методики его изучения. Наиболее важным и сложным обстоятельством для учителя, таким образом, становится выбор изучаемого языка программирования, учитывая уровень обучения, профиль класса и планируемые результаты обучения.
Предлагаемые языки:
Паскаль
Pascal, созданный в 1971 году Никлаусом Виртом как учебный язык.
Основной принцип, заложенный в нём – это поддержка структурной методики программирования. Этот же принцип лежит в основе учебного алгоритмического языка. По сути дела, расхождение между алгоритмическим языком и Паскалем состоит в следующем: алгоритмический язык – русскоязычный, Паскаль – англоязычный; синтаксис Паскаля определён строго и однозначно в отличии от сравнительно свободного синтаксиса алгоритмического языка.
Си
Си создавался с одной важной целью: сделать более простым написание больших программ с минимумом ошибок по правилам процедурного программирования.
Подходит для изучения структурного программирования в базовом школьном курсе информатики.
С++
Поддерживает такие парадигмы
Программирования как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции.
Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так низкоуровневых языков.