Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016)

Материал из 0x1.tv

Содержание

Аннотация

Докладчик
Анатолий Кушниренко.jpg
Анатолий Кушниренко
Выравнивающий курс «Азы программирования» для первокурсников научно-технических и педагогических специальностей».

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

Курс включает 7 лекций и предполагает до 30 часов самостоятельной работы студентов в учебных системах ПиктоМир и КуМир, с автоматической проверкой результатов выполненных работ online.

Видео

on youtube

Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.


Слайды

Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016).pdf

Тезисы

Текущее состояние дел с изучением программирования в системе школьного образования РФ

В соответствии с Федеральным государственным образовательным стандартом основного общего образования (ФГОС ООО) в предметную область «Математика и информатика» входит курс информатики.

В учебном (образовательном) плане основного общего образования на изучение курса информатики отводится по 1 часу в неделю в VII-IX классах с общим количеством часов — 105. Заметная часть из этих 105 часов теоретически должна была бы тратиться на изучение конкретных элементов программирования. Практически, в большинстве школ такого изучения не происходит и в результате, типичный выпускник общеобразовательной школы имеет серьезные пробелы в освоении общеобразовательных элементов программирования.

Требования нормативных документов к уровню освоения программирования школьниками РФ

Сам термин «элементы программирования» и выбор тех элементов, которые сегодня следует признать общеобразовательными, определяются действующими нормативными документами. К таким документам относится, в частности, утвержденная в 2015 году решением федерального учебно-методического объединения по общему образованию (протокол от 8 апреля 2015 г. № 1/15) ПРИМЕРНАЯ ОСНОВНАЯ ОБРАЗОВАТЕЛЬНАЯ ПРОГРАММА ОСНОВНОГО ОБЩЕГО ОБРАЗОВАНИЯ ПО ИНФОРМАТИКЕ.

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

Извлечение из ПРИМЕРНОЙ ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ ОСНОВНОГО ОБЩЕГО ОБРАЗОВАНИЯ ПО ИНФОРМАТИКЕ в редакции от апреля 2015 года

Алгоритмы и элементы программирования
  • Исполнители.
    • Состояния, возможные обстановки и система команд исполнителя;
    • команды-приказы и команды-запросы;
    • отказ исполнителя.
  • Алгоритм как план управления исполнителем (исполнителями).
  • Алгоритмический язык (язык программирования) — формальный язык для записи алгоритмов.
  • Программа — запись алгоритма на конкретном алгоритмическом языке.
  • Компьютер — автоматическое устройство, способное управлять по заранее составленной программе исполнителями, выполняющими команды.
  • Программное управление исполнителем.
Алгоритмические конструкции
  • Конструкция «следование». Линейный алгоритм.
  • Конструкция «ветвление».
    • Условный оператор: полная и неполная формы.
    • Выполнение и невыполнения условия (истинность и ложность высказывания).
    • Простые и составные условия.
    • Запись составных условий.
  • Конструкция «повторения»: циклы с заданным числом повторений, с условием выполнения, с переменной цикла.
  • Запись алгоритмических конструкций в выбранном языке программирования.
Разработка алгоритмов и программ
  • Оператор присваивания. Представление о структурах данных.
  • Константы и переменные.
    • Переменная: имя и значение.
    • Типы переменных: целые, вещественные, символьные, строковые, логические.
    • Табличные величины (массивы).
    • Одномерные массивы.
    • Двумерные массивы.

Примеры задач обработки данных:

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

Знакомство с алгоритмами решения этих задач.

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

Более широкий набор элементов программирования, выходящий за общеобразовательный минимум, но, по мнению авторов, не выходящий за пределы минимума, необходимого для студентов естественно-технических специальностей, приводится в другом нормативном документе — ежегодно обновляемом кодификаторе КИМ ЕГЭ по информатике.

Извлечение из Кодификатора элементов содержания и требований к уровню подготовки выпускников образовательных организаций для проведения единого государственного экзамена по информатике и ИКТ

Раздел 2. Перечень требований к уровню подготовки выпускников, достижение которого проверяется на едином государственном экзамене по информатике и ИКТ

Возможные алгоритмические задачи для подраздела 1.1 перечня требований к уровню подготовки выпускников, достижение которых проверяется на едином государственном экзамене по информатике и ИКТ.

  • Нахождение минимума и максимума двух, трех, четырех данных чисел без использования массивов и циклов.
  • Нахождение всех корней заданного квадратного уравнения.
  • Запись натурального числа в позиционной системе с основанием, меньшим или равным 10. Обработка и преобразование такой записи числа.
  • Нахождение сумм, произведений элементов данной конечной числовой последовательности (или массива).
  • Использование цикла для решения простых переборных задач (поиск наименьшего простого делителя данного натурального числа, проверка числа на простоту и т.д.).
  • Заполнение элементов одномерного и двумерного массивов по заданным правилам.
  • Операции с элементами массива.
    • Линейный поиск элемента.
    • Вставка и удаление элементов в массиве.
    • Перестановка элементов данного массива в обратном порядке.
    • Суммирование элементов массива.
    • Проверка соответствия элементов массива некоторому условию.
  • Нахождение второго по величине (второго максимального или второго минимального) значения в данном массиве за однократный просмотр массива.
  • Нахождение минимального (максимального) значения в данном массиве и количества элементов, равных ему, за однократный просмотр массива.
  • Операции с элементами массива, отобранных по некоторому условию (например, нахождение минимального четного элемента в массиве, нахождение количества и суммы всех четных элементов в массиве).
  • Сортировка массива.
  • Слияние двух упорядоченных массивов в один без использования сортировки.
  • Обработка отдельных символов данной строки. Подсчет частоты появления символа в строке.
  • Работа с подстроками данной строки с разбиением на слова по пробельным символам. Поиск подстроки внутри данной строки, замена найденной подстроки на другую строку.

Выполнимы ли требования нормативных документов к уровню освоения программирования школьниками РФ, достигаемом в основной школе?

Ответ на этот вопрос безусловно положителен. При правильной организации и надлежащем оснащении школы программным и методическим обеспечением элементы программирования можно освоить, потратив на это не более трети из выделенных в основной школе на информатику 105 часов, то есть около 30–35 часов. За это время можно научить школьников устойчиво решать не только простейшие задачи обработки данных, перечисленные в разделе II.1 выше (в примерной программе по информатике основной школы), но и научить решать чуть более сложные задачи, перечисленные в кодификаторе ЕГЭ (раздел II.2).

Для интенсивного (с затратой всего лишь 30–35 учебных часов) освоения элементов программирования учениками 7–9 классов достаточно выполнение двух простых условий:

  • обеспечение доступа школьников на школьных (и, по возможности, на личных) компьютерах к системе программирования на одном из освоенных системой школьного образований РФ языков программирования: Паскаль, Бейсик, школьный алгоритмический, Питон;
  • установка в выбранной системе программирования комплекта минипрактикумов по программированию с автоматизированной offline проверкой правильности выполнения заданий.

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

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

Если в качестве языка программирования выбран «школьный алгоритмический язык», то

  • в качестве системы программирования и на школьных и на домашних компьютерах может использоваться свободно распространяемая многоплатформенная система программирования программирования КуМир и встроенные в эту систему механизмы подготовки практикумов с автоматизированной проверкой;
  • в качестве методического обеспечения могут использоваться КуМир-практикумы, разрабатываемые авторами настоящего доклада для первокурсников МПГУ, либо (для некоммерческого использования) разработанные известным учителем и методистом, доктором технических наук К.Ю. Поляковым, КуМир-практикумы Робот, Массивы 1, Массивы 2, Строки. (Результаты использования перечисленных практикумов при переподготовке учителей информатики и начальных классов г. Сургута приведены в докладе Пять практикумов К. Ю. Полякова по программированию с автоматизированной проверкой в системе КуМир.)

Проверочная программа составляется автором практикума на языке КуМир и включается в невидимую студенту часть задания. Одна программа может проверять несколько заданий.

Если в качестве языка программирования выбран Паскаль, Бейсик или Питон, то номенклатуру заданий можно заимствовать из готовых КуМир-практикумов, а автоматизированную проверку можно организовывать вне выбранной системы программирования, например, с помощью свободно распространяемой программной системы e-judge.

Необходимость введения выравнивающего курса «Азы программирования» в педагогических университетах

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

Действительно, анкетирование первокурсников мехмата МГУ за последние 10 лет показывает, что в каждой группе из 25 студентов обнаруживается от 3 до 6 студентов, которые не отладили в своей жизни ни одной программы на компьютере, а треть студентов не способна за 10 минут даже приступить к написанию программу нахождения числа максимальных значений в числовом массиве (на выбранном самим студентом языке программирования).

А опыт работы со студентами МПГУ показывает, что многие из них испытывают трудности даже в составлении простейших линейных и циклических программ, управляющих виртуальными исполнителями Робот, Черепашка, Чертежник.

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

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

Краткое описание курса «Азы программирования»

Курс расчитан на 14 часов лекций-демонстраций и 28 часов самостоятельных занятий (на университетских и домашних компьютерах) по выполнению практикумов с автоматизированной off-line проверкой с еженедельной on-line сдачей заданий.

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

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

Всего студенты выполняют 14 практикумов — 3 в системе ПиктоМир и 11 в системе КуМир:

  • Принцип программного управления виртуальными и реальными исполнителями, программа. Компьютер — исполнитель программ. Бестекстовая форма составления программы: повторители и подпрограммы. Система ПиктоМир.
  • Обратная связь при исполнении программ: условная и циклическая конструкции. Составление программ управления с обратной связью.
  • Использование счета в алгоритмах управления.
  • Текстовая форма составления программы. Система КуМир. Исполнитель Робот. Школьный алгоритмический язык. Запись повторителей, подпрограмм, условных и циклических конструкций в КуМире.
  • Практикум «Робот». (Решение задач по управлению Роботом с использованием целочисленных переменных в качестве счетчиков).
  • Практикум «Алгоритмы без циклов» ( включает решения задач на нахождение минимума и максимума двух, трех, четырех данных чисел без использования массивов и циклов).
  • Практикум «Числовые последовательности» (однопроходные алгоритмы нахождения суммы, призведения, максимума, минимума, числа положительных элементов последовательности и массива).
  • Контрольная работа 1
  • Практикум «Массивы»
    • перестановка элементов массива в обратном порядке;
    • циклический сдвиг элемента массива;
    • вставка и удаление элемента;
    • заполнение и суммирование двумерного масссива
  • Практикум «Поиск и сортировка 1»
    • линейный поиск элемента в массиве и файле,
    • пузырьковая сортировка,
    • нахождение числа различных элементов массива
  • Практикум «Поиск и сортировка 2»
    • бинарный поиск,
    • слияние двух упорядоченных массивов в один без использования сортировки, сортировка слиянием.
  • Практикум «Строки»
    • обработка отдельных символов данной строки;
    • подсчет частоты появления символа в строке;
    • поиск подстроки внутри данной строки,
    • замена найденной подстроки на другую строку.
  • Практикум «Последовательные файлы»
    • подсчет числа символов, числа слов, числа строк,
    • замена группы пробелов на один пробел.
  • Контрольная работа 2.

Примечания и отзывы

Plays:65   Comments:1