TRANSITION FROM BLOCK TO TEXT PROGRAMMING IN THE EDUCATION OF SCHOOLCHILDREN IN THE SYSTEMS OF GENERAL AND SUPPLEMENTARY EDUCATION

Research article
DOI:
https://doi.org/10.23670/IRJ.2022.125.44
Issue: № 11 (125), 2022
Suggested:
28.09.2022
Accepted:
24.10.2022
Published:
17.11.2022
1607
2
XML
PDF

Abstract

New educational technologies provide an opportunity to change the paradigm of cognition. Game-based educational technologies are being introduced in supplementary and general education. Prospects for the use of educational games are due to the following factors: educational game as a platform for active learning; stimulation and support of interest in learning. The study analyzes popular platforms for teaching children the basics of programming and classical algorithms. The main advantages and disadvantages of block programming and classical programming are identified. As a result, the problem of transition from block to text programming was formulated, and the need for a new hybrid platform, which absorbed the main advantages of the two approaches - block and classical programming was revealed.

1. Введение

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

Для системы школьного образования характерно, что учитель, несмотря на наличие электронных образовательных ресурсов и других многочисленных источников, остаётся главным транслятором информации: учитель говорит ученики слушают. В современном информационном обществе подобные формы и методы обучения являются малоэффективным, что подтверждают исследования С.В. Зенкиной [1], Е.С. Полат [2], И.В. Роберт [3] и др. Когда информация просто транслируется учителем, подразумевается, что усвоение знаний должно происходить за одинаковое время у всех детей, однако люди имеют различные способности к обучению и усвоению материала. Такое преподнесение материала не учитывает особенности психики школьников, их индивидуальности [4]. В последнее время активно внедряется подход, при котором ученики должны сами учиться получать необходимую для целей обучения информацию, совершать поступки, проявлять активность и деятельность. При этом в обязанность учителя по-прежнему входит донесение до школьников обязательных по программе знаний.

Новые технологии обучения предоставляют возможность изменить парадигму познания [5]. В дополнительное и основное образование внедряются игровые технологии обучения. Перспективность применения образовательных игр обусловлена следующими факторами: образовательная игра как платформа для активного обучения; стимулирование и поддержка интереса к обучению; ситуационное богатство образовательных игр.

Анализу применения игр в развитии и обучении детей посвящено множество научных исследований Л.П. Варениной [6], М.Г. Ермолаевой, Г. Зихермана, Ю.П. Олейника [7] и др. Применение элементов и подходов из компьютерных игр в процессе познания нового формирует своеобразный мост между отдыхом или развлечением дома и обучением в школе.

При геймификации обучения распространяется большое количество интерактивных игр, которые включают бально-наградную систему [8], [9], хотя это не столь актуально для усвоения знаний и формирования компетенций.

Следует отметить, что обучение само по себе уже содержит игровые элементы. На занятиях давно используется элемент интерактивности – в процессе обучения совершаются маленькие коллективные открытия, что для учащихся является своеобразной игрой [4]. Сегодня появляется возможность совместить серьезный процесс обучения и увлекательный игровой процесс [7], [10], [11], [12]. К важным ресурсам обучающих компьютерных программ можно отнести:

- нахождение перспективных, принципиально новых решений, максимально приближённых к идеальным;

- преодоление трудностей и умение решать задачи; выработку навыка мышления вне стереотипов.

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

Термин «игрофикация» широкое распространение получил в 2010 г., когда в США были проанализированы результаты маркетингового приёма в разных компаниях, сочетающего игровые и социальные технологии [12], [13]. Психолог Г. Зихерман далее способствовал распространению и применению игровых элементов во все сферы жизни.

Профессор Пенсильванского университета К. Вербах в русскоязычных источниках в 2012 году «игрофикацию» определяет «как процесс использования игровых механик и игрового мышления для решения неигровых проблем и для вовлечения людей в какой-либо процесс» [4]. Важным аспектом игрофикации является достижение с её помощью целей, напрямую не связанных с содержанием игры. Например, отработка определенных навыков, вовлечение в выполнение рутинных дел.

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

В литературе по «игрофикации» образования сформулированы конкретные рекомендации относительно выбора методов и форм организации обучения различным дисциплинам [4]:

- сокращение временных затрат;

- надежность передачи всего требуемого объема содержания хотя бы на уровне ознакомления и первичного формирования всех требуемых умений; комфортность условий восприятия новой учебной информации;

- возможности для активизации познавательной деятельности учеников, реализации элементов исследования и творчества;

- возможности для роста уровня самостоятельности личности в познании.

Знакомство детей с азами программирования также целесообразно проводить, используя игровые платформы. В процессе обучения основам программирования на начальной стадии часто используется блочное программирование. Но реальное программирование связано с написанием текстового кода. Спорным является вопрос удобства перехода в дальнейшем от блоков к коду. Ребенку часто очень трудно перестроиться с комфортного конструктора на строгий текстовый редактор.

Целью исследования является выявление и анализ проблемы резкого перехода между подходами блочного и классического программирования. Для достижения цели сформулированы задачи:

1. Проанализировать популярные платформы, используемые для обучения детей школьного возраста программированию.

2. Выделить основные принципы подходов, основанных на блочном или текстовом программировании.

3. Выявить недостатки резкого перехода от блочного к текстовому программированию.

2. Методы и принципы исследования

Для исследования были выбраны и использованы такие эмпирические методы, как наблюдение, сравнение, измерение, опрос, беседа, эксперимент. Среди общелогических методов можно выделить обобщение, идеализацию, анализ. Были использованы такие методы теоретического познания, как гипотетико-дедуктивный метод, конкретизация, статистическая обработка данных.

Опрос проводился в конце эксперимента в группе из 30 детей школьного возраста. Данные, полученные в ходе исследования подверглись статистической обработке, на основе чего были построены зависимости вовлеченности школьников в процесс обучения от подхода в обучении.

Исследование проводилось на основе таких платформ, как Scratch 3, Blockly Games, Code Monkey, Кукарача.

3. Основные результаты

Анализ существующих платформ и подходов

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

1) Кукарача. Интерфейс платформы разделен на две части. Слева расположено клетчатое поле с исполнителем. С помощью программ, написанных школьником, исполнитель может передвигать буквы и перемещаться в клетки вверх, вниз, влево, вправо, но не по диагонали. Изменение положения исполнителя ограничено размерами поля. Перемещаясь, Кукарача может передвигать как один, так и несколько кубиков.

В правой части окна находится поле для написания кода и кнопки для запуска, остановки и отладки программы. Для программирования в платформе используется русский язык. Присутствует возможность реализовать основные конструкции, используемые в классическом программировании, такие как цикл, условное выражение, подпрограмма.

Основным преимуществом платформы является свобода действий и неограниченность в реализации задачи в виде кода. Среди недостатков Кукарачи следует указать отсутствие заготовленных уровней, игнорирование поиска оптимального решения, неочевидность ошибок и, как следствие, необходимость в присутствии преподавателя.

2) Кумир. Это поэтапная платформа для обучения текстовому программированию, в которой присутствует два исполнителя. Экран также делится на две части, поле с объектом для взаимодействия и блоком для написания кода.

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

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

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

3) Кодвардс. Это онлайн-платформа, обучение в которой устроено в формате курса с множеством уровней. Данный сайт является не просто приложением с полем и встроенным интерпретатором. Он позволяет преподавателям организовывать классы и следить за прогрессом каждого из учеников. С точки зрения ребенка интерфейс платформы очень дружественный и каждый уровень можно пройти двумя способами, как с помощью нажатия кнопок, так и путем написания программы.

Окно уровня также разделено на две части: поле с исполнителем и консоль для написания кода, соответственно. Объектом для взаимодействия является робот, который умеет двигаться вперед и поворачиваться на угол, кратный 90 градусам. Задача каждого из уровней преподносится в игровой форме, ребенку нужно описать действия робота для восстановления сломанной космической станции.

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

Нельзя не выделить такие преимущества Кодвардс, как:

1. Наличие инструкций и подсказок, в которые школьник всегда может подсмотреть и справиться с проблемой самостоятельно.

2. Дружественный и понятный интерфейс.

3. Автоматизация отслеживания прогресса учеников на платформе.

4) Codecombat. Еще одна платформа по изучению программирования для детей. Данное приложение используется в изучении таких популярных языков программирования, как JavaScript, Python, Java, CoffeeScript и Lua. Каждый набор уровней разрабатывался обособленно от остальных. Из всех рассмотренных платформ данная выделяется количеством и разнообразием заданий для выполнения. Окно каждого уровня также разделено на две части: поле с визуальной формулировкой задачи и консоль для написания кода, соответственно.

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

5) Blockly Games. Проект компании Google, созданный для обучения программированию. В этой платформе сначала уровни следует выполнять в блочном стиле, а далее школьнику предоставляется выбор - продолжить взаимодействие с блоками или перейти на написание программы в виде текста.

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

6) Scratch. Платформа для обучения на основе принципов блочного программирования. На ее основе возможно реализовать изучение базовых алгоритмов программирования через создание анимаций, интерактивных историй и мини-игр. В Scratch отсутствуют заготовленные задания и уровни, ребенку приходится самому придумывать концепт для реализации.

Важным преимуществом является полная свобода действий и достаточно понятный интерфейс. Из недостатков следует выделить невозможность использования платформы без базовых знаний или наставлений преподавателя. Сама платформа является скорее движком для выполнения кода, чем приложением для обучения. По этой причине никаких инструкций и подсказок не прилагается. Еще одним минусом Scratch в плане платформы для обучения является отсутствие уровней и конкретных задач, которые нужно выполнить. Также преподавателю придется самостоятельно проверять качество выполнения программ и их оптимальность.

Итоги исследования

Выделим положительные стороны и недостатки блочного и классического программирования.

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

Блочное программирование хорошо тем, что ребенку не нужно тратить время на написание текста, а достаточно передвигать блоки и вкладывать их друг в друга. Задача блочного программирования состоит в изучении обучающимися структур кода, таких как циклы, условные конструкции или функции. У ребенка определенным способом выстраивается мышление. Например, отказ от повторения однотипных команд в пользу циклов или выделение логики абстрактного процесса в отдельный блок (функцию).

Среди недостатков выделим больший объем кода по сравнению с классическим и ограничения при создании специфических программ из-за наличия только стандартных блоков-пазлов.

Теперь рассмотрим написание текстового кода. Конечно, такой способ максимально приближен к реальной разработке, в этом как плюс, так и главный минус.

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

Стратификация положительных сторон и недостатков блочного и классического программирования произведена в таблицах 1-2.

Таблица 1 - Преимущества и недостатки платформ, основанных на принципах блочного программирования

Принцип

Значение

Концентрация на продумывании логики

Облегчает обучение алгоритмам

Ограничения в решениях

Не позволяет реализовывать собственные идеи

Абстрагирование от синтаксиса

Упрощает поиск ошибок

Таблица 2 - Преимущества и недостатки платформ, основанных на принципах классического программирования

Принцип

Значение

Отсутствие ограничений в написании кода

Позволяет находить собственные способы решения задач

Писание кода вручную

Увеличивает время написания программ и способствует появлению новых, не тривиальных ошибок

Большой объем кода

Способствует стремлению ребенка к оптимизации своих решений

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

Для подтверждения выводов исследования был проведен эксперимент на фокус-группе из 30 человек. Исследование проводилось на базе организации дополнительного образования Центрального района города Санкт-Петербург со школьниками возраста 9-10 лет. В течение 20 занятий осуществлялось наблюдение за влиянием вовлеченности детей и заинтересованности в обучении на общее количество ошибок, не связанных с неправильным выстраиванием решения. Каждые четыре занятия изменялась платформа, на которой дети проходили обучение. Переломным моментом в исследовании стало 12-ое занятие, на котором произошёл переход с блочного на текстовое программирование. Графики, описывающие результаты, представлены на рисунках 1-2. После эксперимента был проведен опрос участников исследования. 20 участников прекратили ходить на занятия из-за потери интереса. Результаты представлены на рисунке 3.

 

Количество ошибок среди участников фокус-группы в период исследования

Рисунок 1 - Количество ошибок среди участников фокус-группы в период исследования

Изменение уровня заинтересованности участников фокус-группы в обучении

Рисунок 2 - Изменение уровня заинтересованности участников фокус-группы в обучении

Соотношение участников, покинувших группу по причине исчезнувшего интереса и по другим причинам

Рисунок 3 - Соотношение участников, покинувших группу по причине исчезнувшего интереса и по другим причинам

Формулировка и понимание проблемы перехода от блочного программирования к текстовому помогает правильно корректировать подходы к обучению детей.

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

4. Заключение

Таким образом, результатом проекта стала объективная формулировка проблемы, связанной с переходом от блочного к текстовому программированию. Анализ существующих платформ показал, что в настоящее время не существует приложения, которое могло бы без участия преподавателя способствовать плавному переходу от блочного к текстовому написанию кода. Выявлена необходимость в создании гибридной платформы.

Article metrics

Views:1607
Downloads:2
Views
Total:
Views:1607