DOI 10.23859/1994-0637-2018-1-83-18 УДК 378.14
Голанова Анна Викторовна
Кандидат педагогических наук, доцент, Ленинградский государственный университет имени А. С. Пушкина (Пушкин, Россия) E-mail: [email protected]
Голикова Екатерина Ивановна
Кандидат педагогических наук, доцент, Ленинградский государственный университет имени А. С. Пушкина (Пушкин, Россия) E-mail: [email protected]
ВЫБОР ПРОГРАММНОГО СРЕДСТВА ДЛЯ ОБУЧЕНИЯ ПРОГРАММИРОВАНИЮ БУДУЩИХ БАКАЛАВРОВ ПЕДАГОГИЧЕСКОГО ОБРАЗОВАНИЯ
© Голанова А.В., Голикова Е.И., 2018
Golanova Anna Viktorovna
PhD in Pedagogical Sciences, Associate Professor, Pushkin Leningrad State University (Pushkin, Russia) E-mail: [email protected]
Golikova Ekaterina Ivanovna
PhD in Pedagogical Sciences, Associate Professor, Pushkin Leningrad State University (Pushkin, Russia) E-mail: [email protected]
THE CHOICE OF SOFTWARE FOR TRAINING FUTURE BACHELORS OF PEDAGOGICAL EDUCATION IN PROGRAMMING
Аннотация. Статья посвящена обоснованию выбора программного средства для обучения дисциплине «Программирование» бакалавров по направлению «Педагогическое образование» (профиль «Информатика») в системе высшего образования. Проведен анализ школьных учебников по информатике, материалов Единого государственного экзамена по информатике, приведен тематический план обучения программированию, предложены различные образовательные маршруты.
Ключевые слова: высшее образование, информатика, Единый государственный экзамен по информатике и ИКТ, контрольные измерительные материалы, программирование, язык программирования, тематический план, образовательный маршрут_
Abstract. The article deals with the problem of choosing software for teaching Programming to bachelor students specializing in Pedagogical Education (Informatics profile). Requirements for the expected learning outcomes are provided. The analysis of school textbooks on computer science and data of the Unified State Exam in Computer Science are conducted. The choice of programming language is justified. A thematic plan for teaching programming and a variety of educational routes are described.
Keywords: higher education, Computer Science, Unified State Exam in Computer Science, control measuring materials, programming, programming language, thematic plan, educational route
Введение
В федеральном государственном образовательном стандарте высшего образования Российской Федерации по направлению подготовки 44.03.05 Педагогическое образование (уровень бакалавриата), утвержденном 09.02.2016 [1], определены компетенции, которые должны формироваться у будущих бакалавров. Одной из ключевых компетенций является ПК-1 (готовность реализовывать образовательные программы по учебным предметам в соответствии с требованиями образовательных стандартов).
В настоящее время при реализации данных образовательных программ становится актуальной проблема подготовки обучаемых к сдаче Единого государственного экзамена (ЕГЭ) по общеобразовательным предметам, в частности, по информатике и ИКТ.
Основная часть
Анализ результатов Единого государственного экзамена показывает, что сдать экзамен по информатике и ИКТ можно лишь в случае полного изучения всех тем, вошедших в содержание как базового, так и углубленного курса информатики.
В содержание контрольных измерительных материалов включены следующие тематические блоки: «Информация и ее кодирование», «Моделирование и компьютерный эксперимент», «Системы счисления», «Логика и алгоритмы», «Элементы теории алгоритмов», «Программирование», «Архитектура компьютеров и компьютерных сетей», «Обработка числовой информации», «Технология поиска и хранения информации» [3].
Наиболее сложным из этих блоков является «Программирование». Для того, чтобы успешно подготовить к выполнению заданий этого блока при сдаче ЕГЭ, будущий учитель информатики должен знать свойства алгоритмов и способы их записи, основные типы данных, основные методы и технологии программирования, синтаксис и семантику изучаемого языка программирования, основные методы тестирования и отладки алгоритмов и программ, критерии оценки качества программ, этапы решения задач на компьютере; уметь записать конструкцию алгоритмического языка средствами изучаемого языка программирования, осуществить тестирование и отладку написанной программы, оценить качество написанной программы; владеть основными методами и технологиями программирования.
Поэтому в учебном плане бакалавров, обучающихся по направлению 44.03.05 Педагогическое образование (профиль - Информатика и математика), присутствует дисциплина «Программирование».
Основной проблемой, с которой сталкиваются преподаватели, ведущие данную дисциплину, является проблема выбора языка программирования.
При выборе языка программирования следует учитывать следующее:
1. Доступность для скачивания бесплатного дистрибутива.
2. Наличие учебника по информатике и ИКТ, в котором присутствовал бы выбранный язык при обучении программированию.
3. Актуальность выбранного языка программирования.
4. Кроссплатформенность выбранного языка программирования.
5. Возможность программирования в процедурном, объектно-ориентированном и функциональном стиле программирования.
6. Использование программных кодов на выбранном языке в рамках ЕГЭ по информатике и ИКТ.
7. Пожелание обучаемых и начальный уровень их подготовки в области программирования.
Проанализируем федеральный перечень учебников по информатике и ИКТ, рекомендуемых к использованию при реализации имеющих государственную аккредитацию образовательных программ основного общего и среднего общего образования (табл. 1, 2) [2].
Таблица 1
Анализ учебников по информатике и ИКТ для основного общего образования
Авторы и название учебника Класс Язык программирования Темы
1 2 3 4
Босова Л.Л., Босова А.Ю. Информатика: учебник для 8 класса 8 Pascal 1. Общие сведения о языке программирования Паскаль. 2. Организация ввода и вывода данных. 3. Программирование линейных алгоритмов. 4. Программирование разветвляющихся алгоритмов. 5. Программирование циклических алгоритмов
Босова Л.Л., Босова А. Ю. Информатика: учебник для 9 класса 9 Pascal 1. Решение задач на компьютере. 2. Одномерные массивы целых чисел. 3. Запись вспомогательных алгоритмов на языке Паскаль
Быкадоров Ю.А. Информатика и ИКТ 9 JavaScript Pascal Введение в программирование 1. Алгоритмы и исполнители. 2. Линейные алгоритмы в словесной форме. 3. Ветвления. Повторения. Блок-схемы. 4. Языки программирования. 5. Введение в программирование на языке JavaScript. 6. Основные понятия языка программирования JavaScript. 7. Арифметические операторы и выражения. Объекты. 8. Линейные программы вычислений на языке JavaScript. Программирование на языках JavaScript и Pascal 1. Вычисление сумм и произведений. 2. Обработка натуральных чисел. 3. Строковые константы и строковые переменные. 4. Обработка строк. 5. Логические значения, выражения, операции. 6. Построение графиков функций. 7. Линейные массивы. 8. Динамические массивы. Стеки. Списки. 9. Знакомство с языком программирования Pascal. 10. Обработка чисел и строк на языке Pascal. 11. Линейные массивы и работа с графикой на языке Pascal
Семакин И.Г., Залого-ва Л.А., Русаков С.В., Шестакова Л.В. Информатика: учебник для 9 класса 9 Pascal 1. Что такое программирование? 2. Алгоритмы работы с величинами. 3. Линейные вычислительные алгоритмы. 4. Знакомство с языком Паскаль. 5. Алгоритмы с ветвящейся структурой. 6. Программирование ветвлений на Паскале. 7. Программирование диалога с компьютером. 8. Программирование циклов. 9. Алгоритм Евклида. 10. Таблицы и массивы. 11. Массивы в Паскале. 12. Одна задача обработки массива
Продолжение
1 2 3 4
Угринович Visual 1. Алгоритм и его формальное исполнение.
Н.Д. Инфор- Basic 2. Кодирование основных типов алгоритмических
матика: структур на языках объектно-ориентированного и про-
учебник для цедурного программирования.
9 класса 3. Переменные: тип, имя, значение.
9 4. Арифметические, строковые и логические выражения.
5. Функции в языках объектно-ориентированного и алгоритмического программирования. 6. Основы объектно-ориентированного визуального программирования. 7. Графические возможности объектно-ориентированного языка программирования Visual Basic
Таблица 2
Анализ учебников по информатике и ИКТ для среднего общего образования
Авторы и название учебника Класс Язык программирования Темы
1 2 3 4
Семакин И.Г., Хеннер Е.К., Шеина Т.Ю. Информатика. Базовый уровень: учебник для 10 класса 10 Pascal 1. Алгоритмы и величины. 2. Структура алгоритмов. 3. Паскаль язык структурного программирования. 4. Элементы языка Паскаль и типы данных. 5. Операции, функции, выражения. 6. Оператор присваивания, ввод и вывод данных. 7. Логические величины, операции, выражения. 8. Программирование ветвлений. 9. Пример поэтапной разработки программы решения задачи. 10. Программирование циклов. 11. Вложенные и итерационные циклы. 12. Вспомогательные алгоритмы и подпрограммы. 13. Массивы. 14. Организация ввода и вывода данных с использованием файлов. 15. Типовые задачи обработки массивов. 16. Символьный тип данных. 17. Строки символов. 18. Комбинированный тип данных
Поляков К.Ю., Еремин Е. А. Информатика. Углубленный уровень: учебник для 11 класса: в 2 ч. 11 Pascal Delphi Алгоритмизация и программирование 1. Целочисленные алгоритмы. 2. Структуры (записи). 3. Динамические массивы. 4. Списки. 5. Стек, очередь, дек. 6. Деревья. 7. Графы. 8. Динамическое программирование. Объектно-ориентированное программирование 1. Что такое ООП?
Продолжение
1 2 3 4
2. Объекты и классы. 3. Создание объектов в программе. 4. Скрытие внутреннего устройства. 5. Иерархии классов. 6. Программы с графическим интерфейсом. 7. Основы программирования в RAD-средах. 8. Использование компонентов. 9. Совершенствование компонентов. 10. Модель и представление
Семакин И.Г., Хеннер Е.К., Шестакова Л.В. Информатика. Углубленный уровень: учебник для 11 класса: в 2 ч. 11 Pascal Delphi 1. Эволюция программирования. О профессиях: профессии, связанные с программированием. 2. Структурное программирование. 3. Рекурсивные методы программирования. 4. Объектно-ориентированное программирование
Фиошин М.Е., Рессин А.А, Юнусов С.М. / Под ред. Кузнецова А.А. Информатика. Углубленный уровень 11 Object Pascal 1. Алгоритмы и программирование. 2. Основные понятия Object Pascal. 3. Ветвление и циклы. 4. Строки и массивы. 5. Пользовательские процедуры и функции. 6. Исключения, записи и файлы. 7. Основы построения и анализа алгоритмов. 8. Основы разработки программного обеспечения
Из проведенного анализа учебников можно сделать вывод о том, что наиболее часто используемым языком программирования является Pascal. Это вызывает определенные трудности при обучении объектно-ориентированному программированию, т.к. среда Delphi, базирующаяся на Object Pascal, является платной. В связи с этим, в некоторых учебниках в качестве альтернативного варианта для самостоятельного изучения предлагается язык программирования Python.
Язык программирования Python является хорошей альтернативой языку Pascal. Это объясняется следующими причинами:
1. Разный уровень подготовки обучаемых в области программирования (изучались разные языки, работали по разным учебникам).
2. Большинство обучаемых язык Python не изучали (подтверждается результатами проведенного анкетирования).
3. С 2015 г. этот язык используется для написания программных кодов в контрольных измерительных материалах ЕГЭ по информатике (табл. 3) [3].
Таблица 3
Анализ демонстрационных вариантов ЕГЭ по информатике и ИКТ за 2008-2017 гг.
Год Типы заданий Язык программирования
2008 1. Определить значение переменной после выполнения фрагмента алгоритма (программы). 2. Определить результат работы фрагмента программы (тип данных - массив). 3. Поиск ошибок в программе (лишняя часть, нахождение данных, при которых программа работает неверно). 4. Доработка предложенной программы. 5. Написание программы, удовлетворяющей заданным условиям Бейсик, Паскаль, Алгоритмический
2009 Типы заданий аналогичны заданиям 2008 г. Бейсик, Паскаль, Алгоритмический
2010 Типы заданий аналогичны заданиям 2008 г. Бейсик, Паскаль, Си, Алгоритмический
2011 Типы заданий аналогичны заданиям 2008 г. Бейсик, Паскаль, Си, Алгоритмический
2012 1. Определить значение переменной после выполнения фрагмента алгоритма (программы). 2. Определить результат работы фрагмента программы (тип данных - массив). 3. Привести примеры таких исходных данных, при которых будет получен указанный результат работы программы. 4. Тестирование работы программы при различных заданных значениях аргумента. 5. Доработка предложенной программы. 6. Написание программы, удовлетворяющей заданным условиям Бейсик, Паскаль, Си, Алгоритмический
2013 Типы заданий аналогичны заданиям 2012 г. Бейсик, Паскаль, Си, Алгоритмический
2014 Типы заданий аналогичны заданиям 2012 г. Бейсик, Паскаль, Си, Алгоритмический
2015 1. Определить значение переменной после выполнения фрагмента алгоритма (программы). 2. Определить результат работы фрагмента программы (тип данных - массив). 3. Привести примеры таких исходных данных, при которых будет получен указанный результат работы программы. 4. Определить результат работы рекурсивного алгоритма. 5. Тестирование работы программы при различных заданных значениях аргумента. 6. Доработка предложенной программы. 7. Написание программы, удовлетворяющей заданным условиям Бейсик, Python, Паскаль, Си, Алгоритмический
2016 Типы заданий аналогичны заданиям 2015 г. Бейсик, Python, Паскаль, Си, Алгоритмический
2017 Типы заданий аналогичны заданиям 2015 г. Бейсик, Python, Паскаль, Си, Алгоритмический
Перечень возможных алгоритмических задач можно посмотреть в кодификаторе элементов содержания и требований к уровню подготовки выпускников образовательных организаций для проведения Единого государственного экзамена по информатике и ИКТ [3].
По результатам проведенного анализа можно сделать вывод о том, что в настоящее время современным и востребованным языком программирования является Python.
Python является кроссплатформенным языком: одна и та же программа на языке Python может запускаться и в Windows, и в UNIX-подобных системах.
Для Python существует стандартная библиотека, позволяющая обеспечить загрузку файла из Интернета, распаковку архива или создание web-сервера. Существуют также сторонние библиотеки (их можно найти на сайте Python Package Index (каталог пакетов Python): pypi.python.org/pypi).
Python - объектно-ориентированный язык программирования, но может использоваться для программирования в процедурном, в объектно-ориентированном и в функциональном стиле программирования.
Программный код на языке Python можно записать с помощью любого текстового редактора, который способен загружать и сохранять текст либо в кодировке ASCII, либо UTF-8. Файлы с программным кодом на языке Python чаще всего сохраняются в кодировке UTF-8 и имеют расширение .py. Все инструкции, которые встретятся в файле с расширением .py, выполняются последовательно, строка за строкой, начиная с первой строки.
Для запуска программ используется: окно консоли, IDLE (среда программирования на языке Python).
Среда IDLE обеспечивает:
1) ввод выражений и программного кода на языке Python с получением результатов прямо в командной оболочке Python;
2) доступ к редактору программного кода и отладчику, который может использоваться в режиме пошагового выполнения программного кода, что облегчает поиск и устранение ошибок.
Приведем примерный тематический план обучения программированию на языке Python.
Тема 1. Основные сведения о языке Python. Оператор присваивания в языке Python.
Тема 2. Оператор ветвления в языке Python.
Тема 3. Операторы цикла в языке Python.
Тема 4. Функции в языке Python.
Тема 5. Строки в языке Python.
Тема 6. Массивы в языке Python.
Тема 7. Списки (записи) в языке Python.
Тема 8. Множества в языке Python.
Тема 9. Файлы в языке Python.
Тема 10. Модули в языке Python.
Тема 11. Модуль tkinter в языке Python. Компоненты TApplication, TLabel, TEdit и TButton в simpletk.
Тема 12. Модуль tkinter в языке Python. Компоненты TRadiogroup, TListbox и TCombobox в simpletk.
Тема 13. Модуль tkinter в языке Python. Стандартные окна диалога. Создание меню.
Simpletk - это модуль, разработанный для упрощения доступа к возможностям стандартной библиотеки tkinter, которая используется в языке Python для разработки приложений с графическим интерфейсом. В ней упрощен доступ ко многим возможностям tkinter, в то же время сохранена возможность использования всех средств tkinter. Автором-разработчиком данного модуля является Поляков К.Ю. (http://kpolyakov.spb.ru/school/ probook/python.htm).
Темы 1-4 являются обязательными для изучения и должны изучаться строго последовательно. Остальные темы можно исключить из содержания обучения или предложить для самостоятельного изучения. При этом следует учитывать, что темы 10-13 должны изучаться только вместе, в соответствующем порядке.
Приведем возможные образовательные маршруты.
Полный образовательный маршрут: 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^ 8 ^ 9 ^ 10 ^ 11 ^ 12 ^ 13 (включены основные типы данных и рассматривается графический интерфейс).
Сокращенные образовательные маршруты:
1) 1 ^ 2 ^ 3 ^ 4 (включены только обязательные для изучения темы);
2) 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^ 8 ^ 9 (включены основные типы данных, графический интерфейс не рассматривается);
3) 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^ 8 ^ 9 ^ 10 ^ 11 ^ 12 (включены основные типы данных, графический интерфейс рассматривается частично);
4) 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^ 9 ^ 10 ^ 11 ^ 12 (включены не все основные типы данных, графический интерфейс рассматривается частично);
5) 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^ 9 ^ 10 ^ 11 ^ 12^ 13 (включены не все основные типы данных, графический интерфейс рассматривается полностью);
6) 1 ^ 2 ^ 3 ^ 4 ^ 7 ^ 9 ^ 10 ^ 11 ^ 12 (включены не все основные типы данных, графический интерфейс рассматривается частично);
7) 1 ^ 2 ^ 3 ^ 4 ^ 7 ^ 9 ^ 10 ^ 11 ^ 12^ 13 (включены не все основные типы данных, графический интерфейс рассматривается полностью).
При изучении дисциплины «Программирование» преподаватель может воспользоваться одним из предложенных образовательных маршрутов или выбрать свой, в зависимости от реальных условий учебного процесса (количество часов, контингент обучаемых).
Выводы
Использование языка Python для обучения программированию позволило заинтересовать обучаемых, улучшить уровень их подготовки, что подтверждается результатами сдачи экзамена. Приведем статистику сдачи экзамена по программированию за последние 5 лет.
2013 год: 3 - 60 %, 4 - 35 %; 5 - 5 %; используемый язык при обучении программированию Pascal.
2014 год: 3 - 58 %, 4 - 36 %; 5 - 6 %; используемый язык при обучении программированию Pascal.
2015 год: 3 - 56 %, 4 - 36 %; 5 - 8 %; используемый язык при обучении программированию Python.
2016 год: 3 - 50 %, 4 - 38 %; 5 - 12 %; используемый язык при обучении программированию Python.
2017 год: 3 - 45 %, 4 - 41 %; 5 - 14 %; используемый язык при обучении программированию Python.
Это в свою очередь позволяет сделать вывод о том, что выбор языка программирования для обучения дисциплине «Программирование» будущих бакалавров по направлению «Педагогическое образование» (профиль «Информатика») оказался удачным.
Литература
1. Приказ Минобрнауки России от 9 февраля 2016 г. №91 «Об утверждении федерального государственного образовательного стандарта высшего образования по направлению подготовки 44.03.05 Педагогическое образование (с двумя профилями подготовки) (уровень бакалавриата)». URL: https://минобрнауки.рф/документы/8073/файл/7375/Prikaz_N^_91_ot_ 09.02.2016.pdf
2. Приказ Минобрнауки России от 31 марта 2014 г. № 253 «Об утверждении Федерального перечня учебников, рекомендуемых к использованию при реализации имеющих государственную аккредитацию образовательных программ начального общего, основного общего, среднего общего образования» URL: http://fpu.edu.ru/files/contentfile/108/prikaz-253-ot-31.03.2014-g._1.pdf
3. Федеральное государственное бюджетное научное учреждение «Федеральный институт педагогических измерений». Демоверсии, спецификации, кодификаторы. URL: http://fipi.ru/ege-i-gve-11/demoversii-specifikacii-kodifikatory
References
1. Prikaz Minobrnauki Rossii ot 9 fevralia 2016 g. №91 «Ob utverzhdenii federal'nogo gosu-darstvennogo obrazovatel'nogo standarta vysshego obrazovaniia po napravleniiu podgotovki 44.03.05 Pedagogicheskoe obrazovanie (s dvumia profiliami podgotovki) (uroven' bakalavriata)» [Order of the Ministry of Education and Science of Russia from February 9, 2016, no. 91 "On the approval of the federal state educational standard of higher education in the field of training 44.03.05 Pedagogical education (with two training profiles) (bachelor's level)"]. Available at: https://минобрнауки.рф/документы/8073/файл/7375/Prikaz_N^_91_ot_09.02.2016.pdf
2. Prikaz Minobrnauki Rossii ot 31 marta 2014 g. №253 «Ob utverzhdenii Federal'nogo perech-nia uchebnikov, rekomenduemykh k ispol'zovaniiu pri realizatsii imeiushchikh gosudarstvennuiu akkreditatsiiu obrazovatel'nykh programm nachal'nogo obshchego, osnovnogo obshchego, srednego obshchego obrazovaniia» [Order of the Ministry of Education and Science of Russia from March 31, 2014, no. 253 "On approval of the Federal list of textbooks recommended for use in the implementation of state-accredited educational programs of primary general, basic general, secondary general education"]. Available at: http://fpu.edu.ru/files/contentfile/108/prikaz-253-ot-31.03.2014-g._1.pdf
3. Federal'noe gosudarstvennoe biudzhetnoe nauchnoe uchrezhdenie «Federal'nyi institutpeda-gogicheskikh izmerenii». Demoversii, spetsifikatsii, kodifikatory [Federal State Budget Scientific Institution "Federal Institute of Pedagogical Measurements". Demos, specifications, codifiers]. Available at: http://fipi.ru/ege-i-gve-11/demoversii-specifikacii-kodifikatory
Для цитирования: Голанова А.В., Голикова Е.И. Выбор программного средства для обучения программированию будущих бакалавров педагогического образования // Вестник Череповецкого государственного университета. 2018. №2 (83). С. 140-148. DOI 10.23859/1994-06372018-1-83-18
For citation: Golanova A.V., Golikova E.I. The choice of software for training future bachelors of pedagogical education in programming. Bulletin of the Cherepovets State University, 2018, no. 2 (83), pp. 140-148. DOI 10.23859/1994-0637-2018-1-83-18