Блокли: доступное программирование для всех

Автор: Денис Аветисян


Новая разработка позволяет людям с нарушениями зрения осваивать визуальное программирование с помощью Блокли без необходимости изменения базового кода платформы.

Пока крипто-инвесторы ловят иксы и ликвидации, мы тут скучно изучаем отчетность и ждем дивиденды. Если тебе близка эта скука, добро пожаловать.

Купить акции "голубых фишек"
Архитектура расширяемой платформы обеспечения доступности (EAF) предлагает модульный подход к интеграции различных вспомогательных технологий, позволяя адаптировать систему к индивидуальным потребностям пользователей и обеспечивая гибкость в настройке и расширении функциональности.
Архитектура расширяемой платформы обеспечения доступности (EAF) предлагает модульный подход к интеграции различных вспомогательных технологий, позволяя адаптировать систему к индивидуальным потребностям пользователей и обеспечивая гибкость в настройке и расширении функциональности.

Представлена расширяемая платформа для обеспечения совместимости Блокли со скринридерами и навигацией с клавиатуры.

Визуально-блочное программирование, широко применяемое в обучении информатике, остается недоступным для слепых и слабовидящих учащихся, несмотря на его потенциал. В статье «An Extension-Based Accessibility Framework for Making Blockly Accessible to Blind and Low-Vision Users» представлен модульный фреймворк, обеспечивающий доступность Blockly без модификации базового кода библиотеки. Предложенная архитектура, основанная на расширениях, позволяет использовать клавиатурную навигацию и скринридеры для формирования более ясной пространственной ориентации и ментальной модели. Не откроет ли это новые возможности для инклюзивного образования в области программирования и расширения аудитории изучающих информатику?


Неизбежный Техдолг: Барьеры в Обучении Программированию для Незрячих

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

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

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

Блочное Программирование: Упрощение Сложного

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

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

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

Blockly: Инструмент Визуальной Революции

Blockly представляет собой универсальную библиотеку визуального программирования, лежащую в основе ряда популярных образовательных платформ. В частности, она используется как ключевой компонент в Scratch, позволяющем детям создавать интерактивные истории и игры; Code.org, предоставляющем курсы по основам программирования; и MakeCode от Microsoft, ориентированном на создание программ для микроконтроллеров и физических вычислений. Эта библиотека обеспечивает графический интерфейс для создания кода, который затем транслируется в текстовые языки программирования, такие как JavaScript, Python, PHP и Lua, что делает её мощным инструментом для обучения и разработки.

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

Широкое распространение Blockly подтверждается статистикой использования на таких образовательных платформах, как Scratch, Code.org и Microsoft MakeCode, где библиотека служит основным инструментом для визуального программирования. Более того, Blockly интегрирован в учебные программы множества школ и университетов по всему миру, что свидетельствует о его эффективности в обучении основам информатики. Данные показывают, что использование Blockly значительно повышает вовлеченность учащихся и способствует более глубокому пониманию концепций программирования, особенно среди начинающих и детей, что подтверждается результатами педагогических исследований и отзывами пользователей.

Рабочее пространство EAF Blockly отображает блоки с номерами и метками стека для визуализации структуры программы.
Рабочее пространство EAF Blockly отображает блоки с номерами и метками стека для визуализации структуры программы.

Доступность Кода: Перспективы Инклюзивного Будущего

Для незрячих и слабовидящих обучающихся, так называемые скринридеры — программы, озвучивающие содержимое экрана, — являются незаменимым инструментом для взаимодействия с цифровым контентом, включая программный код. Такие решения, как JAWS, NVDA и VoiceOver, преобразуют визуальную информацию в звуковую или тактильную форму, позволяя учащимся понимать структуру кода, находить ошибки и создавать собственные программы. Эффективность обучения программированию для данной категории пользователей напрямую зависит от качества интеграции скринридеров с используемыми средами разработки, что делает доступность программного обеспечения ключевым фактором для расширения возможностей в области информационных технологий.

Эффективная интеграция визуальных сред программирования, основанных на блоках, с программами экранного доступа имеет первостепенное значение для обеспечения действительно доступного обучения. Использование таких сред, как Google Blockly, позволяет начинающим программистам, включая людей с нарушениями зрения, осваивать логику кодирования через интуитивно понятный интерфейс. Однако, без надлежащей поддержки со стороны программ экранного доступа, таких как JAWS, NVDA или VoiceOver, эти преимущества становятся недоступными. Успешное взаимодействие между визуальными блоками и речевым выводом позволяет учащимся понимать структуру кода, правильно размещать элементы и отлаживать программы, создавая равные возможности для всех, кто желает изучать программирование. Достижение полной совместимости требует тщательной разработки и тестирования, чтобы обеспечить, что каждый элемент интерфейса будет правильно интерпретирован и озвучен, предоставляя полноценный и инклюзивный опыт обучения.

Исследование представило расширяемый фреймворк доступности (EAF) для Google Blockly, разработанный для обеспечения совместимости с внешними программами чтения с экрана. В ходе функционального тестирования, включавшего 177 проверочных случаев, фреймворк продемонстрировал успешную работу в 85.9% случаев (152 из 177), что свидетельствует о его эффективности. Особенностью данного подхода является возможность интеграции без внесения изменений в основную библиотеку Blockly, что упрощает процесс внедрения и обновления. Данный фреймворк открывает возможности для создания более доступных образовательных сред программирования, позволяя слабовидящим учащимся полноценно участвовать в процессе изучения основ кодирования.

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

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

Что дальше?

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

В ближайшем будущем, вероятно, возникнет необходимость в автоматизированных инструментах для тестирования доступности таких расширений. Проверка совместимости со всеми существующими скринридерами и настройками — задача, непосильная для ручного тестирования. И, конечно, нельзя исключать появление новых, ещё более сложных инструментов визуального программирования, требующих ещё более изощрённых решений в области доступности. Нам не нужно больше расширений — нам нужно меньше иллюзий о том, что «удобно» и «доступно» — это одно и то же.

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


Оригинал статьи: https://arxiv.org/pdf/2601.10688.pdf

Связаться с автором: https://www.linkedin.com/in/avetisyan/

Смотрите также:

2026-01-17 07:40