Письма в

 Эмиссия.Оффлайн

2022

 The Emissia.Offline Letters           Электронное научное издание (педагогические и психологические науки)  

Издается с 7 ноября 1995 г.  Учредитель:  Российский государственный педагогический университет им. А.И.Герцена, Санкт-Петербург

ART  3106

 2022 г., выпуск  № 8 (август)


Ссылаться на эту работу следует следующим образом:
Е.В.Шумара. Принципы построения задачного материала при обучении программированию // Письма в Эмиссия.Оффлайн (The Emissia.Offline Letters): электронный научный журнал. 2022. №8 (август). ART 3106. URL: http://emissia.org/offline/2022/3106.htm

_________ Шифр научной специальности 05.08.02 (13.00.02).

Шумара Елена Викторовна
кандидат педагогических наук, доцент, Российский государственный педагогический университет им. А. И. Герцена, Санкт-Петербург
math_rgpu@mail.ru


Принципы построения задачного материала при обучении программированию

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

Ключевые слова: программирование, разработка программного обеспечения, обучение программированию, задача, задача по программированию, проблемная ситуация.

----------------

Elena V. Shumara
Candidate of Pedagogic Sciences, Docent, A.I. Herzen State Pedagogical University of Russia, St. Petersburg
math_rgpu@mail.ru


Principles of assignment material design in software development education

Abstract
The article provides an overview of the guidelines for creating programming assignment materials that were developed as a consequence of teaching experience at the Herzen State Pedagogical University. Various assignment types for teaching programming are discussed; the usage of problem scenarios is justified; moreover, the work with applied problems, including those of a project character, is detailed.

Key words: programming, software development, programming instruction, assignment, programming assignment, problem situation.

----------------

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

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

Задача, на наш взгляд, является одним из основных компонентов в обучении программированию, поскольку создание программы чаще всего имеет целью получение практического результата. Предлагая обучаемым задачу по программированию, по сути, мы погружаем его в некую проблемную ситуацию, побуждаем найти принципы и инструментарий, с помощью которых можно решить задачу и, тем самым, разрешить проблему. Исследователи, в частности, А. М. Матюшкин [1], различают задачу и проблемную ситуацию. Последняя – это некое состояние, которое возникает у обучающегося при выполнении задания и вызывается пониманием недостатка интеллектуальных или иных инструментов. Создание проблемных ситуаций при обучении программированию – полезный и даже необходимый метод. При этом стоит отметить, что именно при обучении программированию обучающиеся нередко сами ставят себя в проблемные ситуации, и задача педагога – способствовать этому процессу. Важно, чтобы студенты от выполнения простых упражнений, связанных с разработкой и модификацией алгоритмов, постепенно переходили к разбиению алгоритма на модули, затем – к объединению модулей в общий проект и, наконец, созданию интерактивных пользовательских приложений с развитым интерфейсом [2].

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

На первых этапах обучения важно, на наш взгляд, включать задания из двух разных областей, тесно взаимосвязанных друг с другом. В первой области находятся задания, касающиеся структур данных и алгоритмизации. Во второй же – те, что в первую очередь ориентированы на создание интерфейса будущего ПО, то есть направлены на изучение и использование «визуальных» компонентов среды программирования. Среди заданий первой области можно выделить, например: определение значений переменных после выполнения группы операторов; изменение операторов (разными способами) для получения указанных значений переменных; исправление синтаксических ошибок в программном коде; исправление семантических ошибок в программном коде; замена операторов (в первую очередь, сложной структуры) другими операторами при сохранении смысла решаемой задачи.

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

Немалую роль в обучении программированию играет демонстрация готовых программ или процесса разработки. Здесь можно предлагать: по готовому коду и интерфейсу определить цель создания ПО и реакции на воздействия пользователя; модифицировать готовую программу в соответствии с какой-либо целью; ответить на вопросы преподавателя в процессе разработки ПО, сделав таким образом свой вклад в этот процесс. Задачи такого свойства мы предлагаем при изучении новых тем, связанных как со структурами данных и разработкой алгоритмов, так и с применением «визуальных» компонентов.

Основной блок задач – это, разумеется, содержательные задачи. Обучающийся получает задачу в виде текста, и ему предстоит, прежде всего, проанализировать текст задачи и создать некую информационную ее модель, выделив существенные для задачи параметры. Далее при необходимости разрабатывается математическая модель предлагаемых процессов, после чего студент должен выбрать структуры данных для решения задачи; отобрать компоненты среды программирования, оптимальным образом подходящие для создания интерфейса будущего ПО; разработать и записать на языке программирования необходимые алгоритмы; выполнить отладку и тестирование программы для разнообразных входных данных.

Содержательные задачи мы предлагаем внутри каждой темы, причем в соответствии с принципом «от простого к сложному». Студент сначала изучает готовые программы и/или дописывает недостающие фрагменты; затем разрабатывает собственные программы по аналогичному принципу, но с более или менее заметными отступлениями; после же задачи начинают приобретать все более творческий характер. Обучающиеся сталкиваются с проблемными ситуациями и самостоятельно (либо с помощью преподавателя) находят необходимые идеи и инструменты.

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

Признаком проблемной ситуации всегда является некая запланированная педагогом трудность, с которой сталкивается обучающийся при решении задачи. При этом каждая задача имеет свою сложность, которую принято считать фактором субъективным [3]. И если трудность для задачи мы определяем заранее, то сложность для каждого конкретного студента можем только предугадать. Уровень трудности задач по мере изучения курса растет. Закладывается он исходя из текущих целей обучения, степени готовности обучающихся, а также из предполагаемой сложности для группы в целом или для отдельных студентов, если задание выдается индивидуальное.


Литература

  1. Матюшкин А.М. Проблемные ситуации в мышлении и обучении: монография // М.: Директ-Медиа. – 2014. – 274 с. URL: https://biblioclub.ru/index.php?page=book&id=236493 [Дата обращения 01.08.2022]

  2. Петрова Н.К., Ситников С.Ю., Хамитов Р.М. Преподавание Visual Basic for Applications как базового языка для студентов технического вуза // Компетентность / Competency (Russia). – 2001. – № 9-10.

  3. Балл Г. А. Теория учебных задач: Психолого-педагогический аспект. – М.: Педагогика. – 1990. – 184 с.

Рекомендовано к публикации:
А.А.Ахаян, доктор педагогических наук, член Редакционной Коллегии

Literature

  1. Matjushkin A.M. Problemnye situacii v myshlenii i obuchenii: monografija // M.: Direkt-Media. – 2014. – 274 s. URL: https://biblioclub.ru/index.php?page=book&id=236493 [Data obrashcheniya 01.08.2022]

  2. Petrova N.K., Sitnikov S.Ju., Hamitov R.M. Prepodavanie Visual Basic for Applications kak bazovogo jazyka dlja studentov tehnicheskogo vuza // Kompetentnost / Competency (Russia). – 2001. – № 9-10.

  3. Ball G. A. Teorija uchebnyh zadach: Psihologo-pedagogicheskij aspekt. – M.: Pedagogika. – 1990. – 184 s.
     


Copyright (C) 2022, Письма в Эмиссия.Оффлайн (The Emissia.Offline Letters): электронный научный журнал
ISSN 1997-8588 (
online). ISSN 2412-5520 (print-smart), ISSN 2500-2244 (CD-R)
Свидетельство о регистрации СМИ Эл № ФС77-33379 (000863) от 02.10.2008 от Федеральной службы по надзору в сфере связи и массовых коммуникаций
При перепечатке и цитировании просим ссылаться на " Письма в Эмиссия.Оффлайн
".
Эл.почтаemissia@mail.ru  Internet: http://www.emissia.org/  Тел.: +7-812-9817711, +7-904-3301873
Адрес редакции: 191186, Санкт-Петербург, наб. р. Мойки, 48, РГПУ им. А.И.Герцена, корп.11, к.24а
Издатель: Консультационное бюро доктора Ахаяна [ИП Ахаян А.А.], гос. рег. 306784721900012 от 07,08,2006.

Рейтинг@Mail.ru

    Rambler's Top100