Модульное обучение языку программирования (описание одного модуля)

Разделы: Информатика


Непрерывный процесс развития технического прогресса заставил ввести во всех школах страны новый предмет “Основы информатики и вычислительной техники”. Решение приняли, но методических пособий, учебников не было. Не было и опыта работы, поэтому постоянно задавалась вопросами: как добиться, чтобы ученики полюбили программирование, как добиться результативности в изучении языка программирования, как обеспечить индивидуальный темп продвижения по программе и слабому, и среднему, и сильному учащемуся, как компактно и грамотно конструировать дидактические материалы? Накопив большой опыт, сделала для себя такой вывод, что, сидя за компьютером, каждый ученик должен сам общаться с ним, набирать программы с той скоростью, с какой может, решать задачи по своим возможностям, то есть нужна такая система обучения, которая обеспечивала бы образовательные потребности каждого ученика в соответствии с его склонностями, интересами и возможностями. И я пришла к адаптивному методу обучения учащихся, который заключался в том, что учитель в начале урока объясняет тему сам, затем каждый ученик получает листы с конспектами по новой теме с выделением основных моментов, с образцами решения одной-двух задач, с подробными объяснениями и дифференцированными заданиями по теме. Это позволяло ученику по необходимости вернуться к теории, что приводило к многократному повторению теории, по образцу решить задания первого уровня. Если ученик считает, что материал им усвоен, он может выбрать задания второго уровня или даже дополнительные задания.

Но сегодня остро ставится вопрос: как обеспечить гарантированность достижения целей? Как достичь запланированных результатов обучения? И, наконец, как повысить эффективность образовательного процесса? Сегодняшний день требует нового подхода к обучению, который заключается в том, что для того, чтобы знания усваивались осознанно и прочно, нужно, чтобы ученик сам оперировал учебным содержанием, то есть ученик должен учиться сам, а учитель – осуществлять мотивационное управление его учением, то есть мотивировать, организовывать, координировать, консультировать, контролировать. Требуется такая технология обучения, которая обеспечила бы ученику развитие его мотивационной сферы, интеллекта, самостоятельности, коллективизма, склонностей, умений осуществлять самоуправление учебно-познавательной деятельностью. Такой технологией и является модульное обучение. На мой взгляд, модульное обучение интегрирует в себе все то прогрессивное, что накоплено в педагогической теории и практике: накопленные обобщения теории и практики дифференциации, оптимизации обучения, проблемности.

Я предлагаю свой вариант модуля изучения языка программирования Бейсик. В преподавании информатики очень много проблем. Каждый учитель работает сам, по свому усмотрению выбирая темы, разрабатывая уроки, подбирая задачи. Опишу, как у меня составлены модули, как проводится входной и выходной контроль, как подобран материал. На уроках по разработанным мной модулям, ученики работают в паре. Каждой паре раздаются папки с модулями. (Содержимое папки: 1 - схема, где указано, на сколько модулей разбит язык программирования, чтобы ученики видели, сколько модулей изучены, а сколько ещё осталось; 2 - с указанием комплексной дидактической цели изучения модулей и описание того, для чего же мы изучаем язык программирования, вообще, и Бейсик в частности; 3 - краткая справочная информация; 4 - сам модуль; 5 - вопросы по теории, чтобы повторить и проверить полученные знания; 6 - практические упражнения; 7 - двухуровневая проверочная работа).

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

В ходе работы предполагается:

  • Изучение данного материала с кратким его конспектированием.
  • Отработка примеров и тренировочных заданий на компьютере.
  • Самостоятельное выполнение практических и проверочных работ на ЭВМ и запись отлаженных программ в тетради.

При контроле усвоения материала проверяются:

  • знание всех операторов и конструкции, рассмотренных в тексте;
  • умение воспроизвести и прокомментировать примеры, а также объяснить
  • значение терминов;
  • результаты выполнения практических и самостоятельных работ.

Дальше перечисляю операторы с пояснениями, которые будут рассмотрены в данном модуле:

1) Для ввода данных на Бейсике используются операторы:

  1. LET — оператор присваивания;
  2. READ, DATA И RESTORE - ввод и восстановление списка;
  3. INPUT- ввод данных во время выполнения программы.

2) Для вывода данных и результата выполнения программы используются операторы:

  1. PRINT- обыкновенный вывод на экран;
  2. PRINT TAB(N);A - напечатает А с N-ой позиции текущей печатаемой строки (позиции 0,1, 2,3 ... 63)
  3. PRINT USING " ####.##" - выводит данные в данном формате. (Формат указан в кавычках)
  4. LPRINT - аналогичен оператору PRINT, только управляет выводом информации на принтер.

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

Вот как я ввожу оператор LET:

Оператор LET дает компьютеру указание записать данные в некоторую переменную. Записывается в строго определенном порядке - после номера строки

и LET (что не обязательно) обозначение (имя ) переменной, затем знак равенства, а справа от него - числа (константы), переменные и арифметические выражения.

10 LET X=5.3

20 PRINT X

Пo команде LET компьютер записал значение 5.3 в переменную X и это проверяется с помощью оператора PRINT, который дает задание, показать какое значение хранится в X. Строка n LET X=Y предусматривает более сложные действия: найти в оперативной памяти место, отведенное под переменную Y, прочитать содержимое ячейки и переслать его туда, где должна храниться переменная X. При этом содержимое ячейки Y не изменяется.

Строка n LET S=S+1

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

Если переменная S имела, допустим, значение 5, то после выполнения этой команды значение S станет равным 6, а его старое значение будет потеряно.

Дальше привожу пример применения описанного выше оператора

Пример 1. Вычислить значение переменной D, если D=a*b/ с; а=2500, b=5, с=25

10 let a=2500

20 let b=5

30 let c=25

40 let d=a*b/c

50 print "d=";d

По этой программе одной из ячеек памяти присваивается метка а, другой - метка b, третьей - метка с, четвертой - метка d. В ячейку с меткой а заносится число 2500 или, говорят, переменной а присваивается число 2500; в ячейку b заносится число 5 или переменной b присваивается число 5; в ячейку с заносится число 25 или переменной с присваивается число25;

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

А оператор PRINT выводит на экран вычисленное значение d. Указанное в кавычках "d=" выводится на экран без изменения.

Наберите программу. Чтобы компьютер выполнил эту программу, нужно дать команду RUN. Наберите эту команду и нажмите <Enter>.

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

применением вышеназванных операторов, и на умение читать и определить результата готовых программ.

Тренировка 1

I. Пользуясь операторами LET и PRINT, вычислите:

II. Какое значение получит переменная X в результате выполнения таких программ.

Вот ещё одна тренировка:

Тренировка 6

I. Проверьте правильно ли составлены программы к задаче: вычислить значение переменной У, если У=Х +5, при х= -6.

II. Составьте программы к задачам:

  1. Вычислить длину окружности, если известен ее радиус (C=2*PI*R).
  2. Найти площадь прямоугольника, если известны его ширина и длина.
  3. Найти оптимальный вариант раскроя стального листа для получения наибольшего
    заданного количества заготовок.

Так шаг за шагом, оператор за оператором, изучая теорию, ученики конспектируют материал; выполняя тренировки, отмечая свои результаты на “Контрольном листе ученика”, заканчивают работу над темой. Дальше отвечают на вопросы по теории, т.е. приводят свои знания в систему, выделяют главную мысль:

Проверьте свои знания:

1. Какой вид имеет оператор присваивания?

2. Каково значение символа “=” в записи оператора присваивания?

3. Каков порядок выполнения команды присваивания?

4. Какое существует соответствие между типом переменной в левой части и значением выражения в правой части равенства оператора присваивания?

5. Каково основное назначение оператора PRINT?

6. Из чего может состоять список вывода?

7. Чем разделяются элементы списка вывода?

8. В чём главная особенность оператора PRINT без списка?

9. Назначение функции TAB, AT, SPC в операторе PRINT?

10. Что и как записывается после служебного слова INPUT?

11. Как вводятся значения переменных, указанных после служебного слова INPUT ?

12. При вводе данных, с использованием DATA, READ, где и как записываются имена переменных и их значения?

13. Где в программе может находиться оператор DATA?

14. Может ли программа работать с оператором DATA без оператора READ?

15. Как можно использовать данные несколько раз?

16. Организация программы на Бейсике.

Наличие модулей с печатной основой позволяет учителю индивидуализировать работу с отдельными учениками. Здесь нет проблемы индивидуального консультирования, дозированной индивидуальной помощи. Не менее важным для управления учением школьников имеет принцип обратной связи, т.к. никакое управление невозможно без контроля, анализа и коррекции, причем в сочетании с самоуправлением, учением со стороны школьников. Учитель ведёт большую индивидуальную работу, отмечает в своем “контрольном листе учителя” задания, выполненные учащимися, отмечает, какие вопросы вызвали затруднения у учащихся.

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

Задачи для любознательных

Вспомните рассказ А.П.Чехова “Репетитор”. Репетитор, гимназист 7-го класса Егор Зиберов задаёт своему ученику Пете Удодову задачу - “Купец купил 138 аршин чёрного и синего сукна за 540 рублей. Спрашивается, сколько аршин купил он того и другого, если синее стоит 5 рублей за аршин, а чёрное 3 рубля?”- и сам не может с ней справиться. Отец Пети щёлкает на счётах и у него получается 7563, что и нужно было.

Предположим, что в распоряжение Петиного отца имеется компьютер, на котором он хочет осуществить ту же последовательность действий, что и на счётах. Как составить соответствующую программу на Бейсике?

Решение.

Давайте представим себе, как рассуждал Удодов - старший. Если бы всё купленное сукно было синим, то ему пришлось бы заплатить 138*5 = 690 руб., т. е. переплатить 690-540 = 150 руб. За каждый аршин он переплачивал бы 5-3 = 2 руб. Следовательно, чёрное сукно было 150/2 = 75 аршин, а синего 138-75 = 63 аршин.

Программа:

10 INPUT “ Количество закупленного сукна аршин”; S

20 INPUT “ Стоимость одного аршина синего сукна”; А

30 INPUT “Стоимость одного аршина чёрного сукна”; В

40 INPUT “Стоимость купленного сукна”; С

50 С1= А*S

60 C2 = C1 - C

70 X = C2/ (A - B)

80 Y = S - X

90 PRINT “Чёрного сукна закуплено - аршин”; X

100 PRINT “Синего сукна закуплено - аршин”; Y

15. (Старинная задача)

Три брата попросили хозяйку приготовить на ужин картофель. Пока хозяйка варила картофель, братья уснули; через час проснулся старший брат и, увидев на столе картофель, съел свою долю и опять заснул; через некоторое время проснулся второй и, не зная, что старший брат уже ел картофель, так же съел свою долю и заснул; наконец проснулся, младший брат и сделал то же, что и старшие братья. Когда старший брат опять проснулся, то разбудил своих братьев, и тогда всё выяснилось; оставшиеся 8 картофелин поделили между собой средний и младший братья.

Сколько штук картофеля подала хозяйка?

Сколько из оставшихся 8 штук картофеля взял средний и сколько взял младший брат?

Составьте программу и решите задачу

16. Задача.

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

- Да как же мне не печалиться? - ответил старик. - Половину моего табуна и ещё пол-лошади угнали на юг, половину остатка и ещё пол-лошади ушли на запад; наконец, половину последнего остатка и ещё пол-лошади я продал на север, и только моя старая кляча Карагез осталась со мной.

Сколько лошадей было первоначально в табуне у старика?

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

Последний урок по модулю “Проверочная работа”. Она подобрана дифференцированно: два уровня по двум вариантам.

Модуль 5

Проверочная работа

1-ый уровень. 1 вариант.

1. Составьте программу вычисления и вывода на экран значения функции: Y=0,2x+3x3 .

2. Составьте программу определения радиуса описанной (R1) окружности треугольника, если известны три его стороны и площадь. (R1=a*b*c/(4*s)).

3. Сколько мегабайт информации занимают 150 одинаковых книг, если в них по 450 страниц, на каждой странице 2560 символов? Составьте программу решения задачи.

1-ый уровень. 2 вариант.

1. Составьте программу вычисления и вывода на экран значения функции: Y=2x4+

2. Составьте программу определения радиуса описанной (R2) окружности треугольника, если известны три его стороны и площадь. (R2=2*S/(a+b+c)).

3. Сколько мегабайт информации занимают 200 одинаковых книг, если в них по 500 страниц, на каждой странице 3030 символов? Составьте программу решения задачи.

2-ой уровень. 1 вариант.

1. Составьте программу вычисления и вывода на экран значения функции: Z=x2 +

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

Если в доме много сора,
В доме может вспыхнуть ссора.

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

3. Составить программу вычисления площади треугольника по формуле Герона.

S= , где p - полупериметр (p=(a+b+c/2)) .

2-ой уровень. 2 вариант.

1. Составьте программу вычисления и вывода на экран значения функции:
Y=sin x+cos m

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

Не придёт на школьный бал,
Кто получит низкий балл.

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

3. Составить программу вычисления площади треугольника по формуле S=a2 *(/4).

Несмотря на достаточную “зрелость” модульного обучения и в содержательном, и в “возрастном” аспекте (оно возникло в 60-е годы), существуют различные точки зрения на понимание модуля и технологии его построения как в плане структурирования содержания обучения, так и разработки форм и методов обучения. Я на конкретном модуле показала, как построены у меня модули; при отсутствии методических пособий такие разработки хорошо помогают и облегчают работу учителя. И я надеюсь, что учитель информатики найдет для себя что-то полезное для своей работы.

Приложение 1

Приложение 2

Приложение 3

Приложение 4