УДК 378
DOI: 10.17748/2075-9908-2015-7-6/1 -00-00
КНЯЗЕВА Елена Валерьевна Кубанский государственный университет г. Краснодар, Россия [email protected]
ПОПОВА Галина Ивановна Кубанский государственный университет г. Краснодар, Россия [email protected]
МОБИЛЬНОСТЬ ПЕДАГОГИЧЕСКОГО ОБРАЗОВАНИЯ НА ПРИМЕРЕ ОБУЧЕНИЯ ЯЗЫКАМ ПРОГРАММИРОВАНИЯ
В статье представлена содержательная линия обучения языкам программирования для направления «Педагогическое образование» по профилям «Информатика» и «Математика». При обучении программированию актуальной становится задача формирования навыков как познавательной, так и практической деятельности студентов, овладения ими общеучебными и общеинтеллектуальными умениями. Развитие информационных технологий требует постоянной корректировки образовательных программ. Авторами статьи дается объяснение необходимости включения языка программирования Python в дисциплину «Программирование». Интерес
представляют разработанные авторами компоненты дидактического обеспечения обновленного курса. В статье приведено обоснование методической последовательности Pascal - VBA - Python. На примере обучения программированию показана мобильность педагогического образования в контексте практико-ориентированного подхода ко всему образовательному процессу. Дальнейшее развитие линии программирования в обучении будущих учителей информатики и математики предполагает рассмотрение парадигмы функционального программирования, первоначально в рамках курсовых работ и курсов по выбору. Язык Python, обладающий широкими возможностями, позволяет реализовать не только императивный и объектно-ориентированный подходы, но и функциональный подход, то есть является мультипарадигменным, имея при этом низкий порог вхождения. Это позволит средствами одного языка увидеть общую картину современных парадигм программирования.
Ключевые слова: технология программирования, педагогическое образование, язык программирования Python, объектно-ориентированное программирование.
Elena V. KNYAZEVA Kuban State University Krasnodar, Russia [email protected]
Galina I. POPOVA Kuban State University Krasnodar, Russia [email protected]
PEDAGOGICAL EDUCATION MOBILITY THROUGH THE EXAMPLE OF PROGRAMMING LANGUAGES TRAINING
The article introduces content of a study program for teaching programming languages to the students of "Pedagogical Education" with specialty in "Informatics" and "Mathematics". When teaching Programming, the task of building up such skills as both cognitive and practical activity of students, their mastering general educational and intellectual abilities becomes vital. Authors of the article explain the necessity to include Python programming language in the discipline "Programming". Especially interesting are the components of didactic support of the new course, developed by the authors. The article substantiates methodical sequence Pascal - VBA - Python. By the example of teaching Programming, the article shows mobility of pedagogical education in terms of practice oriented approach to the whole educational process. Further development of programming line in education of future teachers of Informatics and Mathematics implies consideration of paradigm of functional programming, at first within preparation of students' yearly projects and optional courses. Python language offers ample opportunities and allows implementing not only imperative and object-oriented approaches, but also functional approach, i.e. this language is multi-paradigmatic and has at the same time a low entry threshold. This helps to see a common picture of contemporary programming paradigms by means of one language.
Keywords: programming technology, pedagogical education, programming language Python, object-oriented programming
Уровень развития современной компьютерной техники и ее программного обеспечения в настоящее время занял качественно новую ступень. И если вчерашнему специалисту достаточно было владеть информационными технологиями, базирующимися на применении компьютера, то сегодня умение программировать становится как никогда востребованным во многих сферах деятельности человека. Классик информатизации образования С. Пейперт считал, что «компьютерные программы должны стать средством моделирования многообразных видов и форм мышления...». Мы согласны с мнением, что умение их создавать, как наивысшая ступень овладения компьютерной грамотностью, будет «инициировать не только репродуктивные действия и формально-логические операции, но и образно-ассоциативное мышление, обращение к эмоционально значимым смыслам, к открытому будущему, к личностным ценностям». Овладение технологиями программирования приводит не только к повышению компьютерной грамотности, но и к развитию определенных способностей и характеристик студента как личности.
При обучении программированию актуальной становится задача формирования навыков как познавательной, так и практической деятельности студентов, овладения ими общеучебными и общеинтеллектуальными умениями.
Реализация этой задачи органически увязана с уровнем понимания педагогом не только традиционной схемы обучения, когда на первом этапе создается информационная среда предмета, на втором - происходит переработка информации во внутреннее состояние личности. Рассмотрение, анализ этой схемы помогает педагогу осознать сущность процесса усвоения знаний и упорядочить выполняемые действия, свои и обучающихся. Этот процесс во многом зависит как от индивидуальных черт личности преподавателя, так и от методики преподавания.
Нововведения в образовательном процессе сменяются быстро, однако далеко не все инновации подтверждают свою эффективность на практике. В итоге использование в образовании новой, сложной и изощренной информационной технологии часто отодвигает на второе место собственно педагогические задачи. По нашему мнению, в качестве метода оценки программных средств, используемых в обучении программированию, может выступать только педагогический эксперимент.
В настоящее время на кафедре информационных образовательных технологий Кубанского государственного университета была скорректирована программа по обучению программированию бакалавров направления «Педагогическое образование» по профилям «Информатика» и «Математика». На правах начального языка программирования традиционно остается Паскаль (в среде PascalABC.NET).
В качестве технологии визуального программирования используется VBA (Visual Basic for Application) - версия языка программирования Visual Basic для приложений Microsoft Office. Это означает, что внешний вид приложения можно конструировать не только соответствующими командами языка, но и размещая различные элементы управления (кнопки, поля для вывода данных, рисунки и пр.) на форме приложения.
В связи с ростом популярности в нашей стране языка программирования Python, как языка для начинающих, а также в связи с включением его в состав языков, используемых на ЕГЭ по информатике и ИКТ, было принято решение об изучении Python в качестве третьего языка в курсе «Программирование».
Читаемость кода - один из принципов философии Python - делает этот язык подходящим для новичков в программировании [1]. Особое его отличие состоит в том, что для группировки команд в блок Python использует отступы, а не ключевые слова или другие символы (правило офсайда, которое используют некоторые языки программирования, выделяя блоки кода отступами, заимствовано из футбола). В языке Pascal начало блока и его конец определяются операторными скобками из ключевых слов begin-end, а в языке С их заменяют фигурные скобки. Несомненно, благодаря отступам программы на языке Python выглядят менее нагроможденными. Помимо указанной особенности, связанной с легкой читаемостью кода, и в первую очередь Python - это высокоуровневый язык программирования («человекочитаемый», с динамической типизацией переменных). Другие важнейшие особенности языка Python: он имеет простой синтаксис, не перегружен знаками препинания, имеет модульную структуру, предлагает большую стандартную библиотеку, запускается на множестве различных платформ, не требует компиляции, позволяет добавлять низкоуровневые модули, универсален (поддерживает как процедурный, так и объектно-ориентированный методы программирования), позволяет создавать приложения с графическим интерфейсом, а также связь внешних программ с веб-серверами. И, наконец, Python - это свободно распространяемое программное обеспечение с открытым кодом.
Достоинства и недостатки Python как языка для обучения программированию показаны, в частности, в статье К.Ю. Полякова [2].
В связи с введением в курс программирования языка Python появилась необходимость в разработке нового дидактического обеспечения для данного курса. В его разработке принимали участие преподаватели дисциплины, а также по рассматриваемой теме была выполнена выпускная квалификационная работа. Разработаны следующие компоненты дидактического обеспечения:
презентация по основам программирования на языке Python;
итоговый тест в системе MyTest по курсу программирования на языке Python; руководство по работе с дистанционной системой автоматической проверки заданий по программированию сайта informatics.mccme.ru;
приложение с набором демонстрационных примеров решений задач в формате ЕГЭ по информатике и ИКТ на языке Python;
руководство по работе с программными средами IDLE и Wing IDE для языка Python.
Сайт «Дистанционная подготовка по информатике» informatics.mccme.ru поддерживает автоматическую тестирующую систему для проверки решений практических заданий. Использование автоматизированной системы проверки позволяет более объективно оценить правильность и эффективность программ по времени и используемой памяти, экономя время преподавателя. Студенты же имеют возможность оперативно проверять свои программы, что стимулирует их познавательную активность.
Для проверки эффективности итогового теста его результаты были обработаны математическими методами. На основе полученных эмпирических данных была подтверждена гипотеза о нормальном распределении результатов теста.
Используемая в преподавании программирования будущим учителям математики и информатики методическая последовательность Pascal - VBA - Python обоснована, а эффективность ее подтверждена педагогическим экспериментом. В перспективе предполагается рассмотрение парадигмы функционального программирования. Язык Python, обладающий широкими возможностями, позволяет реализовать не только императивный и объектно-ориентированный подходы, но и функциональный подход, то есть является мультипарадигменным. Такой подход к обучению машинным языкам позволит средствами одного языка увидеть общую картину современных парадигм программирования.
В творческой деятельности педагога особое место занимает самообразование (постоянное обогащение и обновление знаний и умений является непременным условием высокой продуктивности творческой деятельности педагога), что, в свою очередь, возможно при сформированной мотивации к профессиональному педагогическому самосовершенствованию на основе использования современных информационных технологий. Творчество обучающего должно позитивно сказаться на творчестве обучаемого. Новые информационные технологии позволяют по-новому организовать взаимодействие педагога и обучающегося: их совместная творческая деятельность в реализации основной цели занятия - характерная черта современного процесса информатизации образования. И только в этом случае самая интеллектоемкая среди всех информационных технологий - технология программирования - станет творческой и увлекательной, а значит, будет по силам многим.
БИБЛИОГРАФИЧЕСКИЕ ССЫЛКИ
1. Программирование на Python для начинающих: [пер. с англ. М.А. Райтмана] / Майк МакГрат. - М.: Эксмо, 2015. - 192 с. (Программирование для начинающих).
2. Поляков К.Ю. Язык Python глазами учителя // Информатика. - № 9. - 2014. - С. 4-16.
REFERENCES
1. Python in Easy Steps by Mike McGrath. Copyright 2013 by In Easy Steps Limited. Translated and reprinted under a licence agreement from the Publisher: In Easy Steps, 16 Hamolton Terrace, Holly Walk, Leamington Spa, Warwickshire, U.K. CV32 4LY.
2. Polyakov K. Python language through teacher's eyes, Informatics, No. 9, 2014, pp. 4-16.
Информация об авторе
Князева Елена Валерьевна, кандидат педагогических наук, доцент кафедры информационных образовательных
технологий Кубанского государственного университета, г. Краснодар, Россия [email protected]
Information about the author
Elena V. Knyazeva, Candidate of Pedagogical Sciences, Associate Professor at Department of Information and Education Technologies at Kuban State University, Krasnodar, Russia [email protected]
Попова Галина Ивановна, кандидат педагогических наук, доцент кафедры информационных образовательных
технологий Кубанского государственного университета, г. Краснодар, Россия [email protected]
Получена: 05.09.2016
Для цитирования статьи: Князева Е. В., Попова Г. И., Мобильность педагогического образования на примере обучения языкам программирования. Историческая и социально-образовательная мысль. 2016. Том. 8. № 5. Часть 1. с.00-00. doi: 10.17748/2075-9908-2015-7-6/2-00-00.
Galina I. Popova, Candidate of Pedagogical Sciences, Associate Professor at Department Information and Education Technologies at Kuban State University, Krasnodar, Russia [email protected]
Received: 05.09.2016
For article citation: Mobil'nost' pedagogicheskogo obrazovanija na primere obuchenija jazykam programmirovanija, [Pedagogical education mobility through the example of programming languages training]. Istoricheskaya i sotsial'no-obrazovatelnaya mys'l = Historical and Social Educational Ideas. 2016. Vol . 8. no. 5. Part. 1. Pp. 00-00. doi: 10.17748/2075-9908-2015-7-6/2-00-00. (in Russian)