копление визуального багажа, самостоятельный поиска информации и т.д.). Из этих «рабочих материалов» (а не «из головы») в ходе выполнения творческого задания рождается собственный текст культуры. Творческая работа превращается реальный, а не декларативный механизм актуализации культурного наследия.
Творческие задания могут выполняться как индивидуально, так и коллективно, однако, полученные результаты должны непременно сопровождаться и завершаться итоговым групповым обсуждением. Постоянное общение студентов и педагога позволяет реализовать концепцию ценностно-смыслового равенства в координатах: педагог - студент, студент - студент.
Творческие задания определяют новую для педагога позицию фасилитатора: обеспечивает педагогическое сопровождение процесса; способствует процессу коллективного принятия решения; организует комфортную развивающую среду, в которой студент включается в напряженный процесс общения с искусством; инициирует и модерирует процессы общения между обучающимися в ходе выполнения творческих заданий.
В групповом обсуждении должны фиксироваться и осмысляться достигнутые личностно значимые для студента результаты творческой деятельности. Процесс оценки в таком случае не столь неоднозначен, как оценка ответов в тестовом задании, поскольку требует от педагога эрудиции, навыков управления свободной дискуссией, дополнительных временных затрат. Вместе с тем, он позволяет вовлечь в ситуацию оценивания самих обучающихся, создать условия для реального диалога и успеха, дав возможность каждому студенту отличиться и проявить себя.
Необходимо отметить, что выполнение творческих заданий предполагает определенную последовательность этапов выполнения:
• освоение историко-культурного контекста возникновения и бытования текстов культуры;
• накопление опыта «диалогового взаимодействия» с разнообразными текстами культуры, основанного на владении функциональной грамотностью [5; 6],обеспечивающей освоение историко-культурного контекста. Функциональная грамот-
Библиографический список
ность (с точки зрения специфики содержания художественного образования в высшей школе понимается нами как освоение языка различных видов искусства) является фундаментом для накопления опыта осуществления разнообразных видов творческой деятельности;
• овладение исследовательскими методами, ориентированными на развитие личности студентов в процессе самостоятельной деятельности освоения и интериоризации текстов культуры, расширение культурного поля, стимулирование способности личности к освоению «ставшей» культуры и генерации новой, поиску новых культурных смыслов и форм их выражения.
Логика выполнения творческого задания студентами может быть такова: поиск информации, рассматривание визуального материала, его интерпретация и аргументация, и кульминация деятельности - создание собственных текстов культуры. Оценка выполненных заданий предполагает не только «техничность» исполнения, но также оригинальность и уместность найденного (например, стилевого, художественного и т.д.) решения.
Выполненные студентами творческие работы - результат как индивидуального, так и группового постижения, и осмысления культурного наследия, зафиксированный в материале итог диалога современности с прошлыми эпохами, общечеловеческих смыслов и их индивидуального прочтения обучающимися.
Результаты творческих заданий формируют портфолио работ студентов, задают оптимистическую перспективу творческой деятельности, направляя её в просоциальное русло, позволяя раскрыть себя и свои возможности. Творческие задания расширяют опыт конструктивного и творческого поведения личности в культуре, нацелены на со-творчество и со-бытие в пространстве культуры, подразумевают общение с носителями культуры, позволяют стать со-участником культурной традиции [7].
Творческие задания - ключ к методике преподавания профильных и общегуманитарных дисциплин в художественном вузе, обеспечивающие реальный личностный рост и развитие личности средствами искусства.
1. Зверева Е.А. Творческие задания как средство развития самодеятельности студентов в учебно-воспитательном процессе. Автореферат ... диссертации кандидата педагогических наук. Киров, 2007.
2. Ерофеева Л.А. Творческие задания как средство воспитания интеллектуальных мотивов учения. Диссертация ... кандидата педагогических наук. Екатеринбург, 2004.
3. Ванюшкина Л.М., Коробкова Е.Н. Образование в пространстве культуры. Санкт-Петербург: СПб АППО, 2012.
4. Выготский Л.С. Мышление и речь. Москва: Лабиринт, 1999.
5. Лебедев О.Е. Высшая и средняя школа: возможности сотрудничества. Доклад на Конгрессе учителей общественных дисциплин регионов СЗФО РФ «Потенциал общественных дисциплин: новые результаты», Санкт-Петербург, 26 марта 2016 г.
6. Лебедев О.Е. Образовательный потенциал современной школы. Образовательная панорама. 2015; 2 (4).
7. Коробкова Е.Н. Культуроориентированный образовательный процесс: опыт реализации в петербургской школе. Санкт-Петербург, 2015.
References
1. Zvereva E.A. Tvorcheskie zadaniya kak sredstvo razvitiya samodeyatel'nosti studentov v uchebno-vospitatel'nom processe. Avtoreferat ... dissertacii kandidata pedagogicheskih nauk. Kirov, 2007.
2. Erofeeva L.A. Tvorcheskie zadaniya kak sredstvo vospitaniya intellektual'nyh motivov ucheniya. Dissertaciya ... kandidata pedagogicheskih nauk. Ekaterinburg, 2004.
3. Vanyushkina L.M., Korobkova E.N. Obrazovanie vprostranstve kul'tury. Sankt-Peterburg: SPb APPO, 2012.
4. Vygotskij L.S. Myshlenie i rech'. Moskva: Labirint, 1999.
5. Lebedev O.E. Vysshaya i srednyaya shkola: vozmozhnosti sotrudnichestva. Doklad na Kongresse uchitelej obschestvennyh disciplin regionov SZFO RF «Potencial obschestvennyh disciplin: novye rezul'taty», Sankt-Peterburg, 26 marta 2016 g.
6. Lebedev O.E. Obrazovatel'nyj potencial sovremennoj shkoly. Obrazovatel'naya panorama. 2015; 2 (4).
7. Korobkova E.N. Kul'turoorientirovannyj obrazovatel'nyj process: opyt realizacii v peterburgskoj shkole. Sankt-Peterburg, 2015.
Статья поступила в редакцию 02.02.18
УДК 303.01
Gafuanov Ya.Yu., postgraduate, South Ural State Humanitarian Pedagogical University (Chelyabinsk, Russia),
E-mail: [email protected]
THE PROBLEM-SEMIOTIC APPROACH TO TEACHING PROGRAMMING. The article is dedicated to a new approach used in the development of training courses in programming. General arguments about the profession of the programmer are given. The researcher identifies the key qualities that are necessary for people in this profession. The concept "approach" is explained. Existing approaches to teaching programming are considered. The work analyses a problem of semiotic approaches, their positive and negative sides, their applicability to teaching and choosing them as the basis for creating a new approach to learning programming. An example of a training course "Development of a web portal using PHP", based on the previously described hybrid approach, is described. During this course students gradually study the features of the PHP programming language as a sign system. Then they perform practical assignments maximally similar to the tasks performed by real programmers. The result of the course should be a
comprehensive mastery of the PHP programming language and its use as a tool for solving practical tasks (development of a web-resource with a typical functionality). Conclusions about the problems in the teaching of programming and their solution by applying a new approach to the design of courses are made.
Key words: programming, programming-teaching methodology, problem approach, semiotic approach, programming training, problems in teaching programming, development, programming language, PHP, web-portal.
Я.Ю. Гафуанов, аспирант, Южно-Уральский государственный гуманитарно-педагогический университет,
г. Челябинск, Е-mail: [email protected]
ПРОБЛЕМНО-СЕМИОТИЧЕСКИЙ ПОДХОД ПРИ ОБУЧЕНИИ ПРОГРАММИРОВАНИЮ
Статья посвящена новому подходу, используемому при разработке курсов обучения программированию. Приведены общие рассуждения о профессии программиста, выявлены ключевые качества, необходимые людям этой профессии. Разобрано понятие «подход», рассмотрены существующие подходы к обучению программированию. Отдельно проанализированы проблемный и семиотический подходы, выявлены их положительные и отрицательные стороны, конкретизирована их применяемость при обучении, обоснован их выбор в качестве основы для создания нового подхода к обучению программированию, названного проблемно-семиотическим. Приведён пример учебного курса «Разработка web-портала средствами PHP», основанного на описанном ранее гибридном подходе. В ходе данного курса студенты поэтапно изучают особенности языка программирования PHP с точки зрения знаковой системы, после чего выполняют цепочку взаимосвязанных практических заданий, максимально приближённых к задачам, выполняемым практикующими программистами в ходе своей профессиональной деятельности. Результатом прохождения курса должно являться комплексное овладение обучающимися языком программирования PHP и использование его в качестве инструмента для решения практических задач (разработка web-ре-сурса с типовым функционалом). Сделаны выводы о причинах существования проблем в преподавании программирования и их решении с помощью применения нового подхода при проектировании курсов.
Ключевые слова: программирование, методика преподавания программирования, проблемный подход, семиотический подход, обучение программированию, проблемы в преподавании программирования, разработка, язык программирования, PHP, web-портал.
В настоящее время все сферы профессиональной деятельности стремительно компьютеризируются. Большинство сфер человеческой деятельности связаны с обработкой, хранением и передачей информации. Автоматизация ключевых процессов работы организаций ведет к повышению стабильности технологических процессов, уменьшению вероятности ошибок, увеличению эффективности работы, что не только существенно сказывается на качестве продукции и услуг, но и ведёт к снижению себестоимости. Всё это было бы невозможным без специалистов по разработке и поддержке программного обеспечения. Данная профессия подходит людям, обладающим аналитическим складом ума и системным мышлением, склонностью к техническим дисциплинам и хорошей памятью. Это далеко не полный список требований к претенденту на данную должность, программисту не обойтись без умения контактировать с людьми и излагать информацию на понятном им языке. Нельзя не включить в этот список и знание английского языка, т. к. большинство технической документации для программистов доступно именно на нём. Каким же образом осуществляется подготовка столь всесторонне развитых специалистов с широчайшим спектром знаний и навыков? Вводный курс программирования в университетах стал основой для большого количества дискуссий между преподавателями компьютерных наук [1]. Программирование - это своеобразный симбиоз искусства и науки. Программировать трудно, учить программированию - ещё труднее [2]. Для этого существуют специальные методики, базирующиеся на подходах к обучению.
Термин «подход», согласно дидактике, обозначает совокупность принципов определения стратегии обучения. Все принципы регулируют возможности разрешения конкретных противоречий процесса обучения, а совокупность этих принципов позволяет разрешить его основные противоречия [3]. Таким образом, подход - это определенная совокупность принципов, на основе которых организуется некое явление или процесс, в нашем случае процесс обучения программированию.
Существует множество исследований (как российских, так и зарубежных), освещающих различные методические подходы к обучению программированию, среди которых можно выделить пять основных:
1. Системный (основывается на рассмотрении объектов изучения как систем);
2. Деятельностный (предполагает активное использование полученных знаний на практике);
3. Когнитивный (базируется на таксономии Блума, подразумевает постепенное изучение приёмов программирования, от простых к сложным);
4. Проблемный (весь курс основан на совокупности задач, подготавливающих обучающихся к будущей профессиональной деятельности);
5. Семиотический.
В настоящее время проблемный подход является достаточно популярным. На нём часто базируются как школьные, так и вузовские курсы обучения программированию. В чем причина популярности? Рассмотрим более подробно.
Как уже было отмечено, суть проблемного подхода заключается в решении неких «проблемных» ситуаций (задач), то есть данный подход в полной мере опирается на практическую составляющую. Безусловно, в процессе профессиональной разработки программного обеспечения ставится некая общая цель, для достижения которой формулируются несколько задач, которые, в свою очередь, декомпозируются на подзадачи. Соответственно, деятельность специалиста-разработчика сводится, по сути, к решению этих подзадач. Таким образом, можно сделать вывод, что проблемный подход позволяет неплохо подготовить обучающихся к будущей профессиональной деятельности в области программирования, но так ли это на самом деле? Ведь в обучающем курсе нет возможности комплексно рассмотреть все типы задач, с которыми может столкнуться будущий специалист. Более того, при излишнем акценте на практической составляющий есть риск свести весь процесс обучения к выполнению однотипных задач в конкретной среде программирования, что в будущем запросто может привести к растерянности при столкновении с незнакомыми типами задач, а в худшем случае и к полной утрате мотивации для дальнейшей деятельности в области программирования.
Подводя итоги, можно смело утверждать, что проблемный подход несет в себе полезнейшую практическую составляющую, без которой невозможно представить себе полноценную подготовку к будущей профессиональной деятельности в области разработки. Тем не менее, его недостаточно, чтобы комплексно развить все необходимые разработчику навыки.
Говоря о подходах к обучению программированию, не стоит забывать про набирающий все большую популярность семиотический подход. Основа этого подхода разработана философами и лингвистами. Семиотика, по определению, является наукой, исследующей свойства знаков и знаковых систем. Однако каждая дисциплина может быть описана с помощью знаковой системы, а «...все информационные процессы представляют собой процесс прохождения информации по цепочке - иерархии кодов внутри некоторой системы..., т.е. процесс перекодирования (перевода) информации» [4]. В связи с этим, семиотический подход начинает приобретать общеметодологический характер и развиваться
не только в рамках семиотики, но и во многих междисциплинарных дисциплинах (кибернетика, теория коммуникаций и др.).
Любой язык программирования является, по своей сути, системой знаков (имеет знаковую природу), что само по себе уже указывает на целесообразность применения семиотического подхода при проектировании обучающих курсов по программированию. Это формальный язык, задача которого состоит в том, чтобы перенести знания о реальном мире, формализовать их таким образом, чтобы они нашли свое отражения в алгоритмических конструкциях.
Большое количество отечественных специалистов рассматривают в своих работах применение семиотического подхода. Так, заведующая кафедрой ИКТ в образовании Самарского государственного социально-педагогического университета О.Ф. Брыксина рассматривает в своих исследованиях семиотический подход как способ формирования ИКТ-компетентности выпускников высших учебных заведений [5]. Доктор педагогических и кандидат технических наук В.И. Фомин через призму данного подхода рассматривает профессиональную компетентность специалиста на основе навыков оперирования знаковыми системами в контексте различных задач [6]. Диссертационное исследование кандидата педагогических наук и доцента кафедры прикладной информатики и математики Омского государственного педагогического университета Н.А. Кургановой построено на рассмотрении семиотического подхода как основного подхода при изучении курса «Формализация и моделирование» и развитию знаково-символической деятельности обучающихся [7].
Знаки языка программирования несут за собой вполне конкретный смысл. Это могут быть различные действия (сложение, вычитание, считывание данных в переменные) и объекты (массивы, строки, файлы и др.).
Суть семиотического подхода при обучении программированию сводится к развитию у обучающихся специальных знаково-символических действий, необходимых для будущего специалиста в области разработки. Ниже приведены основные действия.
1. Замещение (воспроизведение функции замещаемого предмета). Пример практического задания: определить входные/ выходные данные, на их основе сделать выводы о типах переменных и их свойствах.
2. Кодирование (замена одной знаковой системы на другую). Пример задания: выделить алгоритмические конструкции (команды, функции и процедуры), необходимые для решения некоторой задачи.
3. Схематизация (выявление связей между явлениями). Задание: представить в наглядной форме (например, в виде блок-схемы) алгоритм решения некоторой задачи.
4. Моделирование (преобразование объекта в модель с сохранением его существенных характеристик). Задание: написать программу, моделирующую некий физический процесс.
Необходимым условием для развития таких действий является то, что обучающиеся уже знакомы с некоторыми знаковыми системами (родной язык, системы счисления, дорожные знак и др.). Такой опыт положительно скажется при изучении особенностей языков программирования как знаковых систем [8].
Основной сложностью для обучающихся является выделение алгоритмических структур из рассуждений в формулировках задач. Здесь семиотический подход применяется в полной мере, позволяя детализировать процесс перевода алгоритма решения с естественного языка на формальный язык программирования и выделять его подэтапы (замещение, кодирование, схематизация и моделирование).
Рассмотрим применимость данной теории на практике. Каким образом можно применить два вышеописанных подхода,
Библиографический список
чтобы значительно повысить эффективность обучения программированию?
Для того чтобы научить программировать, нужно помочь студентам понять процесс программирования, сделав его более прозрачным, и самое главное, помочь им получить уверенность в себе [9]. Проблемный подход является практико-ориентиро-ванным и преподносит язык программирования, как средство решения определённых задач. Лучше использовать его на заключительных занятиях по каждому модулю. По завершению конкретного логического этапа курса студентам предлагается выполнить практическое задание, максимально приближённое к задачам, выполняемым практикующими программистами в ходе своей профессиональной деятельности. В рамках курса «Разработка web-портала средствами PHP», обучающим необходимо реализовывать конкретный функционал, постепенно дорабатывая его, чтобы в итоге получился полноценный web-сайт, на который смогут зайти реальные пользователи. В процессе работы студенты пошагово реализуют на портале регистрацию пользователей, возможность добавлять и редактировать материалы с помощью WYSIWYG-редактора, форму обратной связи, фото- и видеогалерею, поиск по материалам, а на итоговом практическом занятии портал будет загружен на сервер хостинг-провайдера и станет доступен из сети Интернет при обращении по доменному имени.
Прежде, чем приступать непосредственно к выполнению заданий, студентам необходимо освоить правила построения алгоритмических конструкций, научиться понимать их смысл, использовать эти конструкции на практике и оценивать их эффективность, то есть усвоить особенности языка программирования с точки зрения системы знаков, в чём и заключается суть семиотического подхода. Без понимания этих особенностей невозможно овладеть на высоком уровне языком программирования как инструментом решения задач. Этот подход можно применять, как на теоретических (раскрытие общих принципов), так и практических (примеры конкретных конструкций для усвоения) занятиях курса. Постепенно погружаясь в особенности PHP, обучающиеся знакомятся с алфавитом языка, изучают его синтаксис, на простых примерах разбираются с переменными и типами данных, условными операторами, циклами, конструкциями выбора, объявления, включения и возврата значений. Необходимо уделить внимание и такой деятельности, как рефакторинг (переработку уже написанного программного кода с точки зрения повышения его эффективности и читабельности), т.к. приблизительно 50% рабочего времени опытного программиста уходит именно на него [10].
В процессе изучения курса «Разработка web-портала средствами PHP», в основу которого легли проблемный и семиотический подходы, студенты освоили основы программирования на языке PHP (изучили алфавит языка, основные конструкции и типы данных), научились использовать язык программирования как инструмент для решения практических задач (разработка web-ресурса с типовым функционалом).
Проблемы в преподавании программирования не решены по сей день. В некотором смысле преподавание программирования остается на том же уровне, что и пятьдесят лет назад. Одним из факторов, препятствующих развитию методики обучения программированию, является отсутствие единого подхода, способного удовлетворить все нужды обучающегося и дать комплексную подготовку будущему специалисту-разработчику. Таковым может стать проблемно-семиотический подход - своеобразный гибрид проблемного и семиотического подходов, сочетающий в себе их положительные стороны, но лишенный недостатков этих подходов, взятых по отдельности.
1. Robins A., Rountree J., Rountree N. (Eds.). Learning and teaching programming: A review and discussion. Robins A., Rountree J., Rountree N. Journal of Computer Science Education 13(2), 2003.
2. Astrachan O., Bruce K., Koffman E., Kölling M., Reges S. (Eds.). Resolved: objects early has failed. In: Proceedings of the thirty-sixth SIGCSE technical symposium on Computer science education, St. Louis, Missouri, USA, 2005.
3. Сластенин В.А. Педагогика. В.А. Сластенин, И.Ф. Исаев, Е.Н. Шиянов. Москва: Академия, 2007.
4. Мечковская Н.Б. Семиотика:Язык, Природа, Культура. Москва: Академия, 2007.
5. Брыксина О.Ф. Формирование профессиональной готовности студентов педагогического колледжа к реализации содержания образования на уровне учебного предмета «Информатика». Диссертация ... кандидата педагогических наук. Самара, 1999.
6. Фомин В. И. Развитие содержания подготовки к информационно-аналитической деятельности на основе семиотического подхода. Диссертация ... доктора педагогических наук. Самара, 2009.
7. Курганова Н.А. Развитие знаково-символической деятельности учащихся в процессе обучения информатике на основе семиотического подхода. Автореферат диссертации ... кандидата педагогических наук. Омск, 2006.