Курс «Азы программирования» для будущих учителей (Анатолий Кушниренко, OSEDUCONF-2016)
Материал из 0x1.tv
Содержание
- 1 Аннотация
- 2 Видео
- 3 Слайды
- 4 Тезисы
- 4.1 Текущее состояние дел с изучением программирования в системе школьного образования РФ
- 4.2 Требования нормативных документов к уровню освоения программирования школьниками РФ
- 4.2.1 Извлечение из ПРИМЕРНОЙ ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ ОСНОВНОГО ОБЩЕГО ОБРАЗОВАНИЯ ПО ИНФОРМАТИКЕ в редакции от апреля 2015 года
- 4.2.2 Извлечение из Кодификатора элементов содержания и требований к уровню подготовки выпускников образовательных организаций для проведения единого государственного экзамена по информатике и ИКТ
- 4.2.3 Выполнимы ли требования нормативных документов к уровню освоения программирования школьниками РФ, достигаемом в основной школе?
- 4.2.4 Необходимость введения выравнивающего курса «Азы программирования» в педагогических университетах
- 4.2.5 Краткое описание курса «Азы программирования»
- 5 Примечания и отзывы
Аннотация
- Докладчик
- Анатолий Кушниренко
- Выравнивающий курс «Азы программирования» для первокурсников научно-технических и педагогических специальностей».
В докладе будет описано содержание, организация и программно-методическое обеспечение выравнивающего семестрового курса по программированию для педагогических университетов.
Курс включает 7 лекций и предполагает до 30 часов самостоятельной работы студентов в учебных системах ПиктоМир и КуМир, с автоматической проверкой результатов выполненных работ online.
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Слайды
Тезисы
Текущее состояние дел с изучением программирования в системе школьного образования РФ
В соответствии с Федеральным государственным образовательным стандартом основного общего образования (ФГОС ООО) в предметную область «Математика и информатика» входит курс информатики.
В учебном (образовательном) плане основного общего образования на изучение курса информатики отводится по 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