Разноуровневые задания при изучении содержательной линии «Алгоритмизация и программирование» школьного курса информатики

Автор работы: Пользователь скрыл имя, 03 Декабря 2012 в 20:30, курсовая работа

Краткое описание

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

Содержимое работы - 1 файл

Курсовая работа по информатике.doc

— 291.50 Кб (Скачать файл)

Команда — входящее в запись алгоритма типовое предписание исполнителю выполнить некоторое законченное действие. Команды присваивания, ввода, вывода называются простыми командами; команды цикла и ветвления — составными, или структурными, командами. [22]

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

Узловыми понятиями  в программировании являются понятия  переменной и присваивания. Процесс  решения вычислительной задачи — это процесс последовательного изменения значений переменных. В итоге в определенных переменных получается искомый результат. Переменная получает определенное значение в результате присваивания. [9]

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

Команда присваивания имеет  следующий вид: <переменная>:= <выражение>. [1]

Знак «:=» надо читать как «присвоить». Это инструкция, которая обозначает следующий порядок действий:

1) вычислить выражение;

2) присвоить полученное значение переменной.

Под вводом в программировании понимается процесс передачи данных с любого внешнего устройства в оперативную  память. В рамках введения в программирование можно ограничиться узким пониманием ввода как передачи данных с устройства ввода (клавиатуры) в ОЗУ. В таком случае ввод выполняется компьютером совместно с человеком. По команде ввода работа процессора прерывается и происходит ожидание действий пользователя; пользователь набирает на клавиатуре вводимые данные и нажимает на клавишу <ВВОД>; значения присваиваются вводимым переменным.

Как известно, одним из важнейших дидактических принципов  в методике обучения является принцип  наглядности. За каждым изучаемым понятием в сознании ученика должен закрепиться какой-то визуальный образ. Успешность обучения алгоритмизации при использовании учебных исполнителей объясняется именно наличием таких образов (Чертежника, Робота, Кенгуренка и др.). Исполнителем вычислительных алгоритмов (алгоритмов работы с величинами) является компьютер. Успешность освоения программирования для ЭВМ во многом зависит от того, удастся ли учителю создать в сознании учеников наглядный образ архитектуры компьютера-исполнителя. [15]

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

1.4. Обучение программированию в школьном курсе информатики

В узком смысле слово  «программирование» обозначает процесс  разработки программы на определенном языке программирования. Разработку средств системного ПО и систем программирования принято называть системным программированием; разработку прикладных программ называют прикладным программированием. По этому принципу делят программистов на системных и прикладных, в зависимости от типа создаваемых ими программ.

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

  • процедурное программирование (Паскаль, Бейсик, Фортран, Си, Ассемблеры);
  • логическое программирование (Пролог);
  • функциональное программирование (Лисп);
  • объектно-ориентированное программирование (Смолток, Си++, Делфи). [20]

Классической, универсальной  и наиболее распространенной является процедурная парадигма. Наибольшее количество существующих языков программирования относятся к этой линии. Поэтому чаще всего в учебных заведениях изучается процедурное программирование. А наиболее часто изучаемыми в школе языками программирования являются Паскаль и Бейсик. В дальнейшем под словом «программирование» мы будем подразумевать именно процедурную парадигму.

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

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

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

Языки программирования делятся на две группы:

• машинно-ориентированные: Автокоды, Ассемблеры;

• языки программирования высокого уровня.

В настоящее время практически все программисты пользуются языками высокого уровня. Даже такие системные программные продукты, как трансляторы, операционные системы и др., составляются на языках высокого уровня (обычно для этого используют язык Си). [10]

На любом языке программирования алгоритм решения задачи представляется через совокупность команд. Что такое команда на машинном языке, демонстрируется на примерах учебных компьютеров. В языках программирования высокого уровня одна команда определяет уже не одну операцию процессора, а, в общем случае, множество. Поэтому к командам более подходит термин «оператор».

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

В языках программирования высокого уровня одним оператором представляются целые алгоритмические структуры: ветвление, цикл. Правда, такое есть не во всех языках (например, нет в стандартном Бейсике). Языки, в которых имеются структурные операторы, принято называть структурными языками. К их числу относятся Паскаль и Си. [10]

Наиболее целесообразно  для начального знакомства с языками  программирования использовать язык Паскаль. Язык Паскаль был создан в 1971 г. Никлаусом Виртом как учебный язык. Основной принцип, заложенный в нем, — это поддержка структурной методики программирования. Этот же принцип лежит в основе учебного алгоритмического языка. [13]

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

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

1) сначала рассматриваются  всевозможные алгоритмы, для описания  которых используются блок-схемы и алгоритмические языки, а затем — правила языка программирования, способы перевода уже построенных алгоритмов в программу на этом языке;

2) алгоритмизация и  язык программирования осваиваются  параллельно.

Опыт показывает, что  теоретическое изучение алгоритмизации и программирования, оторванное от практики, малоэффективно. Желательно, чтобы ученики как можно раньше получили возможность проверять правильность своих алгоритмов, работая на компьютере. А для этого им нужно знакомиться с языком программирования, осваивать приемы работы в системе программирования. Метод последовательного изучения алгоритмизации и языка программирования приемлем лишь в «безмашинном» варианте. [2]

Даже при использовании  компьютера, на первом этапе рекомендуется не отказываться от ручной трассировки алгоритма. Этот прием помогает ученикам «почувствовать» процесс исполнения, увидеть свои ошибки, допущенные в алгоритме.

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

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

1.4.2 Методические  рекомендации по изучению систем программирования

При изучении алгоритмизации и программирования следует придерживаться основного методического принципа изучения – принципа исполнителя. Всякий исполнитель предназначен для выполнения определенного вида работы, которая состоит из трех составляющих: создание программы, отладка программы, исполнение программы. [5]

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

    • Среда (обстановку на экране (системную оболочку), в которой работает пользователь);
    • Режимы работы;
    • Система команд;
    • Данные.

Определенная стандартизация оболочек систем программирования произошла с появлением турбо-систем фирмы Borland. Для таких сред характерно наличие на экране двух компонент: окна редактора, на котором формируется текст программы, и меню команд переключения режимов работы системы.

Характерными режимами работы являются:

  • Режим редактирования: обычно устанавливается автоматически при инициализации работы системы. При этом работает встроенный в систему текстовый редактор.
  • Режим компиляции: существует у систем, обслуживающих компилируемые языки (Паскаль, СИ, Фортран и др.). Результатом компиляции является исполняемая программа, т.е. программа на языке машинных команд.
  • Режим исполнения: в компилирующих системах в этом режиме исполняется полученная после трансляции программа в машинных командах. Интерпретатор непосредственно сам исполняет программу на языке программирования высшего уровня.
  • Режим работы с файлами: в файлах на внешних носителях система хранит тексты программ на исходном языке; программы, полученные в результате трансляции; исходные данные и конечные результаты. В файловом режиме выполняются традиционные операции: сохранить информацию в файле, прочитать информацию из файла в оперативную память, именовать файл и др. К этому же режиму относится команда вывода содержимого окна редактора на печать, поскольку печать трактуется как вывод информации в файл, связанный с принтером.
  • Режим помощи: позволяет программисту получить подсказку на экране, помогающую ему как в работе с системой, так и с языком программирования.
  • Режим отладки: в этом режиме можно производить трассировку, пошаговое исполнение программы; можно следить за изменением определенных величин; назначать остановку исполнения программы в определенном месте или при определенном условии. Режим отладки предоставляет программисту удобные средства для поиска алгоритмических ошибок в программе. [15]

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

Для систем программирования данными являются файлы с текстами программ, с исходной и конечной информацией, связанной с решаемой задачей.

1.5 Эффективность использования разноуровневых заданий и упражнений в процессе образования

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

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

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

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

Основная задача уровневой дифференциации внутриклассной учебной работы – раскрыть индивидуальность, помочь ей развиться, устояться, проявляться, обрести избирательность и устойчивость к социальным воздействиям. Данное обучение сводится к выявлению и к максимальному развитию задатков и способностей каждого учащегося. Существенно важно, что при этом, общий уровень образования в средней школе должен быть одинаков для всех. [18]

Информация о работе Разноуровневые задания при изучении содержательной линии «Алгоритмизация и программирование» школьного курса информатики