Файл: Методические аспекты изучения основ алгоритмизации и программирования в школьном курсе.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 69

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Методические аспекты изучения основ алгоритмизации и программирования в школьном курсе

План

1. Цели и задачи изучения основ алгоритмизации и программирования в школьном курсе информатики. Значение проблемы формирования алгоритмического стиля мышления учащихся.

2. Обязательный и вариативный уровни усвоения учебного материала по изучаемому разделу.

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

4. Решение трудностей изучения раздела учащимися.

5. Выводы
1. Изучение алгоритмов и языков программирования является неотъемлемой частью информатики. Программирование вырабатывает логическое, комбинаторное и алгоритмическое мышление, творческие способности.

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

Вопрос о роли алгоритмизации должен решаться исходя из основных целей обучения в школе вообще. Одна из таких целей – развитие мышления учащихся. Исходя из этого, обучение алгоритмизации можно рассматривать и как промежуточный шаг в обучении программированию, и в большей степени, как средство развития мышления. Таким образом, изучение алгоритмизации в школьной информатике может иметь два целевых аспекта: первый – развивающий аспект, под которым понимается развитие алгоритмического (ещё говорят операционного) мышления учащихся, второй – программистский аспект. Вопрос о месте и объёме программирования в базовом курсе остаётся дискуссионным.

Здесь также можно выделить два аспекта в изучении программирования в школе. Первый связан с усилением фундаментальной компоненты курса информатики. Ученикам даётся представление о том, что такое языки программирования, что представляет собой программа на языках программирования высокого уровня, как создаётся программа в среде современной системы программирования. Изучение в рамках школьного курса позволяет ученикам испытать свои способности в программировании.


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

- в результате изучения раздела ученик должен знать/понимать основные свойства алгоритма; типы алгоритмических конструкций: следствие, ветвление, цикл; понятие вспомогательного алгоритма

-уметь выполнять и строить простые алгоритмы.

Примерная программа.

Алгоритм. Свойства алгоритма. Способы записи алгоритмов; блок-схемы. Возможность автоматизации деятельности человека.

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

Алгоритмические конструкции: следование, ветвление, повторение. Разбиение задачи на подзадачи, вспомогательный алгоритм.

Алгоритмы работы с величинами: типы данных, ввод и вывод данных.

Языки программирования, их классификация.

Правила представления данных

Правила записи основных операторов: ввода, вывода, присваивания, ветвления, цикла. Правила записи программы.

Этапы разработки программы: алгоритмизация – кодирование – отладка – тестирование.

Обрабатываемые объекты: цепочки символов, числа, списки, графы.

Практические работы:

  1. Разработка линейного алгоритма (программы) с использованием математических функций при записи арифметического выражения.

  2. Разработка алгоритма (программы), содержащей оператор ветвления.

  3. Разработка алгоритма (программы), содержащей оператор цикла.

  4. Разработка алгоритма (программы), содержащей подпрограмму.

  5. Разработка алгоритма (программы) по обработке одномерного массива.

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


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

- уяснить (на основе анализа примеров) смысл понятия алгоритма, узнать свойства алгоритма, понять возможность автоматизации деятельности человека при исполнении алгоритмов;



- освоить основные алгоритмические конструкции (цикл, ветвление, процедура), применение их для построения алгоритмов решения учебных задач;

- получить представление о «библиотеке алгоритмов», научиться использовать библиотеку для построения более сложных алгоритмов;

- получить представление об одном из языков программирования, использовать этот язык для записи алгоритмов решения простых задач.

После изучения темы учащиеся должны:

- понимать сущность понятия алгоритма, знать его основные свойства, иллюстрировать их на примерах конкретных алгоритмов;

- понимать возможность автоматизации деятельности человека при исполнении алгоритмов;

- знать основные алгоритмические конструкции и уметь использовать их для построения алгоритмов;

- определять возможность применения исполнителя для решения конкретной задачи по системе команд, строить и исполнять на компьютере алгоритм для учебного исполнителя.

- записывать на учебном алгоритмическом языке (или языке программирования) алгоритм решения простой задачи;

- иметь представление о переменной как участке памяти ЭВМ;

- иметь представление о массиве как совокупности однотипных данных;

- понимать характер изменения параметра в процессе выполнения цикла;

- понимать процесс выполнения программ, содержащих обращение к подпрограммам;

- знать атрибуты переменной (имя, тип, значение);

- знать стандартные функции, правила определения функций пользователя;

- знать правила записи и порядок выполнения логических выражений;

- знать правила определения подпрограмм и обращения к ним;

- знать правила описания массивов данных;

- уметь описать процесс задания значения переменной с помощью оператора присваивания;

- уметь описать форматы простейших операторов, обеспечивающих ввод данных с клавиатуры и вывод символов на экран;

- уметь описать форматы стандартных функций, типы аргументов, типы значений; определять функции пользователя, использовать их в выражениях;

- уметь описать формат условного оператора и порядок выполнения его в полном и неполном вариантах; записывать простые разветвляющиеся алгоритмы в виде программ;

- уметь описать формат операторов организации циклов; записывать простые циклические алгоритмы в виде программ
;

- уметь описать формы графических операторов; использовать эти операторы для создания простых изображений;

- уметь организовывать ввод/вывод массива данных; различать индекс и значение массива;

- владеть простейшими приёмами отладки программ.
3. Алгоритм – это конечная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью точных и понятных исполнителю команд»

Очень важна в разделе «Алгоритмизация» роль Исполнителя алгоритма.

Исполнитель – объект, изменяющий своё состояние под воздействием последовательности поступивших извне команд (программы) в соответствии с некоторой договорённостью. Важно понять, чем характеризуется исполнитель: среда, система команд, элементарное действие, отказы.

Среда или обстановка – «место обитания» исполнителя. Например, среда Робота – бесконечное клетчатое поле, ориентированное по сторонам горизонта, стены и закрашенные клетки на поле.

Система команд исполнителя. Каждый исполнитель может выполнять команды только из некоторого конечного списка – системы команд исполнителя. Для каждой команды должны быть описаны условия применимости и результаты её выполнения.

На уроке, посвящённом понятию исполнителя алгоритмов, учитель должен донести до учащихся следующие идеи.

Во-первых, человек далеко не единственный исполнитель алгоритмов.

Во-вторых, любой исполнитель состоит из устройства управления и «рабочего инструмента».

В-третьих, каждый исполнитель алгоритмов обладает ограниченным набором допустимых действий.

В-четвёртых, для решения одних и тех же задач исполнители с более «бедным» набором допустимых действий требуют более сложных и подробных алгоритмов.

В-пятых, разные классы задач требуют разных наборов допустимых действий разных исполнителей.

Дополним общее направление содержания образования, описанное выше, относительно раздела программирования. Цель в освоении практического программирования – научить грамотно программировать несложные практические задачи, дать представление о современной технологии программирования и о технико-экономических аспектах разработки и эксплуатации сложных программных комплексов.

Во время изучения языков программирования уделяется особое внимание их классификации, правилам представления данных и правилам записи основных операторов: ввода. вывода, присваивания, ветвления, цикла. Предполагается, что ученики должны знать этапы разработки программы: алгоритмизация – кодирование – отладка – тестирование.


После изучения курса учащиеся должны уметь выполнять базовые операции над объектами: цепочками символов, числами, проверять свойства этих объектов; выполнять и строить простые алгоритмы.

На профильном уровне предполагается овладение умениями строить математические объекты информатики, в том числе логические формулы и программы на формальном языке, удовлетворяющие заданному описанию; создавать программы на языке программирования по их описанию; использовать общепользовательские инструменты и настраивать их для нужд пользователя.

Однако, стандарт не дает методических рекомендаций по выбору языка программирования и методики его изучения. Наиболее важным и сложным обстоятельством для учителя, таким образом, становится выбор изучаемого языка программирования, учитывая уровень обучения, профиль класса и планируемые результаты обучения.

Предлагаемые языки:

Паскаль

Pascal, созданный в 1971 году Никлаусом Виртом как учебный язык.

Основной принцип, заложенный в нём – это поддержка структурной методики программирования. Этот же принцип лежит в основе учебного алгоритмического языка. По сути дела, расхождение между алгоритмическим языком и Паскалем состоит в следующем: алгоритмический язык – русскоязычный, Паскаль – англоязычный; синтаксис Паскаля определён строго и однозначно в отличии от сравнительно свободного синтаксиса алгоритмического языка.

Си

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

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

С++

Поддерживает такие парадигмы

Программирования как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции.

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