Мобильное обучение веб-технологиям и веб-программированию
Автор: Государев Илья Борисович
Журнал: Образовательные технологии и общество @journal-ifets
Рубрика: Специальный раздел выпуска под ред. Доцента, к.ф.м.-н Голицыной Ирины Николаевны
Статья в выпуске: 3 т.17, 2014 года.
Бесплатный доступ
В статье описывается электронный учебно-методический комплекс по обучению веб-технологиям и веб-программированию, включающий онлайн-редактор кода на языках HTML, CSS, Javascript «Кодактор», и развертывание мобильной электронной информационно-образовательной среды на его основе. В статье также предложены варианты интеграции Кодактора с другими решениями (на примере систем электронного обучения и облачных ресурсов), образцы уже реализованных заданий и построения образовательных маршрутов, фрагменты сценариев деятельности обучающихся и преподавателей. Статья состоит из описания методологической основы обучения на базе системно-деятельностного и компетентностного подхода, описания примеров формируемых компетенций, описания экспериментального обучения, практической реализации приложения, анализа текущей и перспективной функциональности Кодактора. В статье обосновывается вывод о повышении эффективности обучения клиентскому веб-программированию при использовании бордкастинга, то есть вещания интерпретируемого кода с разделяемым доступом.
Мобильное обучение, веб-технологии, веб-программирование, бордкастинг, он-лайн курс
Короткий адрес: https://sciup.org/14062808
IDR: 14062808
Текст научной статьи Мобильное обучение веб-технологиям и веб-программированию
Широкое распространение и институционализация электронного обучения обусловили необходимость развития у всех участников образовательного процесса компетенций, связанных с использованием и разработкой электронных образовательных ресурсов (ЭОР), включая массовые открытые онлайновые курсы (MOOC). Платформой реализации современных ЭОР и MOOC являются кроссбраузерные веб-ресурсы, и это делает актуальным развитие методики обучения разработке ресурсов на веб-платформе и для нее. Данная статья посвящена описанию инновационного подхода к обучению клиентскому веб-программированию (вебразработке) на основе формирования компетенций в области клиентских вебтехнологий (HTML, CSS, Javascript) с помощью технологии бордкастинга в условиях мобильной электронной информационно-образовательной среды (МЭИОС).
Обучение в мобильной электронной информационнообразовательной среде
В течение последних 10 лет автор данной статьи создавал и развивал методику подготовки различных категорий обучающихся к созданию электронных ресурсов. Подготовке будущих учителей к проектированию учебных курсов в области вебтехнологий была посвящена кандидатская диссертация [1] . В дальнейшем внимание было сосредоточено на двух категориях: будущие инженеры (специальность «Информационные технологии в образовании», бакалавры «Информатика и вычислительная техника»), и действующие учителя информатики (магистранты программы «Технологии и менеджмент электронного обучения» и слушатели системы дополнительного профессионального образования).
В основу обучения были положены системно-деятельностный и компетентностный подходы, концепция создания МЭИОС за счет интеграции облачных технологий и системы электронного обучения (LMS) [2] . Вслед за Н.Ф.Радионовой, А.П.Тряпицыной и другими ведущими теоретиками компетентностного подхода [3] , автор рассматривает компетентность в аспекте решения классов типовых профессиональных и квазипрофессиональных задач. Подготовка к решению задач осуществляется за счет соответствующей организации проектной, исследовательской и учебной деятельности обучающихся.
Анализ публикаций в области мобильного и облачного обучения приводит к выводу о развитии двух подходов к пониманию мобильности. Так, в работе И.Н. Голицыной и Н.Л. Половниковой [4] находит отражение подход, акцентирующий внимание на аппаратной платформе реализации мобильного обучения – мобильных устройствах. В публикации [5] автором данной статьи был предложен подход, при котором мобильность обучения рассматривается как результат организации ЭИОС, не зависящей от физического, географического расположения участников образовательного процесса. Таким образом организованную среду и предлагается называть мобильной. Очевидно, оба указанных подхода должны применяться скоординированно на соответствующих этапах организации процесса обучения.
Автором был также проанализирован изложенный в публикациях опыт обучения веб-программированию и, в частности, программированию на языке Javascript. В [6] представлены требования работодателей̆ к специалистам в области веб-программирования и веб-дизайна на рынке труда и выявлены компетенции, которыми должны обладать данные специалисты. В таблице 1 приведены наиболее востребованные языки и технологии (что согласуется с данными, предоставляемыми такими агрегатами как habrahabr.ru).
Таблица 1.
Востребованные работодателями языки и технологии
Языки и технологии |
Доля в требованиях |
HTML4, XHTML1, HTML5 |
81 % |
PHP и фреймворки на его основе |
79 % |
CSS |
64 % |
Javascript |
34 % |
jQuery |
45 % |
Авторы [6] соотнесли эти результаты с требованиями государственных образовательных стандартов по бакалаврским направлениям «230700 Прикладная информатика», «080500 Бизнес информатика», «230400 Информационные системы и технологии». Авторы работ [7 ,8] также анализируют содержание обучения вебпрограммированию с аналогичных позиций.
Хотя отбор содержания обучения производится исходя из требований государственных образовательных стандартов, расстановка акцентов и конкретизация на уровне отдельных языков и технологий должна производиться, конечно, с учетом анализа рынка труда, требований, формулируемых в вакансиях, а также прогнозов экспертов из числа представителей ведущих IT-компаний.
В проанализированных автором публикациях и учебно-методических пособиях описываются традиционные средства обучения, в основном сводящиеся к лекциям (видеолекциям) и упражнениями (иногда интерактивным). Как показывает опыт работы с обучающимися разных категорий, таких средств недостаточно для того, чтобы оперативно реагировать на эволюцию используемых на рынке труда языков и технологий. Необходимо средство, позволяющее быстро интегрировать новые решения и запускать код (программы, сценарии) на их основе непосредственно в рамках ЭОР онлайн.
В общей сложности за период с 2005 года автор данной статьи осуществил обучение по курсам «Веб-проектирование» и «Веб-дизайн» около пятисот студентов и учителей. Основной инновационной идеей, представленной автором при разработке программ указанных курсов, было использование ЭОР нового типа – ресурсов, сочетающих использование принципа работы облачных документов с разделяемым доступом и принципа работы онлайн-интерпретаторов языков программирования. Для обозначения интерпретируемого ресурса (программного кода, результаты отображения которого видны в окне браузера обучающегося), который предоставляется в разделяемый доступ, автор предлагает использовать слово «борд», а термином «бордкастинг» обозначать процесс «вещания» такого ресурса, при котором преподаватель управляет редактированием кода, а аудитория (локальная или удаленная) наблюдает за этим процессом, соучаствует в редактировании и создает свои версии кода на основе предлагаемого. Для данного термина автор создал соответствующую викистатью [9] .
Для подтверждения гипотезы об эффективности применения изложенной методологии обучения занятия проводились в экспериментальной и контрольной группах. Студентам (бакалаврам направления 230100 "Информатика и вычислительная техника») обеих групп предлагался один и тот же стандартный набор заданий, но студенты контрольной группы 1 не имели доступа к бордкастингу, выполняя задания традиционным путем (т.е. используя оффлайновые редакторы и среды программирования). По итогам эксперимента студенты экспериментальной группы 2 продемонстрировали более высокую скорость выполнения и более стабильные результаты в аспекте полноты выполнения заданий. Для оценки скорости выполнения были применены параллельно среда разработки (NetBeans в группе 1, Кодактор в группе 2) и тест в LMS Moodle (где содержится формулировка задания и фиксируется время выполнения). Пример результата оценки приведен в таблице 2.
Таблица 2.
Сравнение скоростей выполнения типовых квазипрофессиональных заданий (приведено время в минутах с округлением до целых).
Задание |
Средняя скорость выполнения, мин |
|
(группа 1) |
(группа 2) |
|
Разметка и ее валидация |
16 |
12 |
Создание файла стилей и подключение его к разметке |
4 |
1 |
Конструирование правила CSS для данного набора элементов |
15 |
11 |
Подключение библиотеки jQuery и создание входной точки приложения |
6 |
2 |
Создание файла сценария и подключение его к разметке |
4 |
1 |
Создание обработчика события |
10 |
3 |
Реализация циклического алгоритма над элементами DOM |
14 |
5 |
Отладка фрагмента Javascript-кода с ошибкой |
17 |
6 |
Результаты экспериментального обучения позволили сделать вывод о том, что оптимальным с точки зрения организации деятельности как студентов, так и преподавателей, является следующее сочетание технологических решений:
-
• МЭИОС развертывается на основе ЭУМК, включающего LMS;
-
• Электронный курс в LMS содержит ссылки на бордкастинг и вспомогательные ресурсы;
-
• Результаты выполнения заданий размещаются студентами на хостинге;
-
• Ссылки на эти результаты размещаются студентами в блогах.
В качестве LMS может быть выбрана любая современная система электронного обучения. В [10] автор описал с технической точки зрения процесс развертывания системы edX и интеграции на ее основе электронного УМК. Там же проанализирован эволюционный процесс миграции от широко распространенной LMS MOODLE к edX как более высокоуровневому решению.
Ниже рассматривается практическая реализация методики обучения студентов (и других категорий обучающихся) веб-программированию на языке Javascript с учетом вышеизложенной методологии.
Реализация онлайн-редактора бордкастинга
Как показано в [10] , в результате развития HTML5 и сопутствующих стандартов в любом современном браузере всю функциональность, типичную для современного мультимедийного интерактивного ЭОР можно реализовать на основе базовых языков и связанных с ними API (таблица 3).
Таблица 3.
Реализация функциональности ЭОР в HTML5/CSS/Javascript
Функциональность |
Реализация |
Встраивание мультимедиа |
Теги HTML5 (audio, video) |
Пространственный звук и эффекты |
Web Audio API |
Анимация |
Свойства CSS3 |
Геометрические преобразования |
Преобразования CSS3 |
Векторная декларативная графика |
Язык SVG |
Динамическая графика |
Canvas |
Трехмерная графика, виртуальные миры |
WebGL |
Сторонние приложения |
Различные API (Dropbox) |
Интерактивность |
Javascript и библиотеки типа jQuery |
Исходя из этого, а также из данных таблицы 1, инновационное средство обучения – онлайн-редактор кода с возможностью бордкастинга, то есть реализации управляемого «вещания» кода в Интернете, – создавалось прежде всего для работы с этими тремя языками. Инструмент получил название «Кодактор» и под этим именем был зарегистрирован в Роспатенте (Федеральной службе по интеллектуальной собственности, свидетельство №2014613612 от 01.04.2014). Адрес Кодактора в интернете – kodaktor.info.
Техническая реализация бордкастинга [10] зависит от платформы, на которой предполагается развертывать приложение. Технически бордкастинг – это просто чат, поэтому программно он может быть реализован двумя основными способами:
-
• Участники (одноранговые клиенты или аудитория с вещателем) обмениваются данными через базу данных на сервере и обслуживающий ее сценарий; сервер только отвечает на запросы клиентов;
-
• Участники представляют собой равноправные хосты, вступающие в полнодуплексное взаимодействие на базе соответствующего протокола типа WebSocket; сервер инициирует обновления на клиентах, выступая одним из них.
Чтобы обеспечить настоящее полнодуплексное взаимодействие, нужна платформа наподобие node.js с такими библиотеками как sockjs или Socket.IO. Кодактор же развернут на экземпляре решения XAMPP (Apache, MySQL, PHP) на виртуальном облачном сервере, поэтому в его текущей версии взаимодействие организовано по первой схеме. Это означает, что информация в браузерах обучающихся обновляется на стороне клиента с некоторой периодичностью (например, раз в 3 секунды).
Веб-приложение Кодактор, построенное по модели Single Page Application (то есть имеющее одну фронтэнд-страницу в качестве интерфейса), используется для обучения веб-программированию в интеграции с другими решениями, включая облачные технологии, в совокупности образующими электронный учебнометодический комплекс ЭУМК [11, 12] (рис. 1).

Кодактор (приложение)

Подключаемые библиотеки >---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1
Справочные ресурсы
Демонстрационные борды
Рис. 1. Концептуальная схема ЭУМК.
Компоненты этой структуры вполне допустимо использовать и по отдельности, однако для достижения совокупной цели, поставленной перед курсом типа «Веб-программирование», рационально применять ЭУМК как единое целое – с системами электронного обучения, системами контроля версий и управления проектами, инфраструктурами тестирования, сторонними библиотеками, а также с облачными ресурсами, скринкастами и видеолекциями, другими видами ЭОР.
Для удобства пользователей в приложении сохраняются работоспособными два интерфейса (в классическом стиле и в стиле Bootstrap). Интерфейс классического стиля основан на стандартных элементах управления базового HTML (Рис. 2):

Рис. 2. Классический интерфейс Кодактора.
Интерфейс стиля Bootstrap основан на использовании пиктограмм шрифта Awesome и элементов управления нового типа (HTML5).

Рис. 3. Интерфейс в стиле Bootstrap.
Методика организации деятельности обучающихся
Независимо от выбранного интерфейса начало работы с кодактором зависит от цели использования. На рис.4 показана примерная возможная простейшая схема совместной деятельности.

Рис. 4. Примерная схема взаимодействия с помощью Кодактора.
После создания борда (в обоих вариантах интерфейса это кнопка в левом верхнем углу) ему присваивается уникальный ключ, под которым содержимое хранится в базе данных. Пример ключа: ba3ddb8. Содержимым борда может быть любой текст, включая разметку на языках HTML5, XHTML1, SVG, каскадные стили и сценарии. Студенты получают этот ключ (в виде текста по электронной почте, в виде QR-кода) и открывают в своих браузерах, после чего находятся в режиме приема вещания («Борд» или «F5») до тех пор, пока не отключат этот режим для внесения изменений в борд. Концепция «всё есть борд» предполагает хранение в виде борда дополнений к функциональности Кодактора (addons), альтернативных вариантов интерфейса (skins) и компонентов клиентских веб-приложений. Отметим, что создаваемые борды не зависят от географического положения студентов и преподавателя, могут быть импортированы из Кодактора в облачные диски или на локальный диск. Это позволяет организовать полностью мобильное учебное взаимодействие – т.е. развернуть МЭИОС.
Итак, для того, чтобы разработать простое клиентское приложение, использующее разметку на HTML5, подключенную таблицу стилей и сценарий на языке Javascript, необходимо создать три борда (таким образом, получив три ключа), вставить в один из бордов шаблонную HTML5-разметку (поддерживаются и производные шаблоны, например, на основе Bootstrap), в двух других, соответственно, создать код для стилей и сценария, а затем подключить их к основному борду с помощью тегов вида:
Тогда мы получим комплект из трех бордов:
- с разметкой;
- с каскадными стилями;
- со сценариям на Javascript
В действующей версии приложения редактирование борда может происходить только в течение одного непрерывного сеанса сразу после создания. Однако, зарегистрированные пользователи (на данном этапе регистрация происходит по личному запросу) могут редактировать борды в пределах выделенного им диапазона ключей в любое время и в любом месте.
Если в кодакторе открыт борд с определенным ключом, то при создании нового борда он будет использован в качестве основы. Например: - борд с простым примером имитации тени за счет отрицательного отступа, - борд на его основе с примером реализации аналогичного эффекта за счет специального свойства каскадных стилей. В случае возникновения длинных ключей полезно использовать QR-коды, что особенно функционально для мобильных устройств. Коды для упомянутых выше двух примеров приведены на рис. 5.

Рис. 5. QR-коды для взаимосвязанных бордов.
В отличие от других подобных проектов (например, jsfiddle), Кодактор изначально ориентирован на обучение и разрабатывается как встраиваемое в МЭИОС образовательное приложение, являясь ЭОР. Это означает, что можно получить «локальную» копию Кодактора с библиотекой бордов-примеров в виде базы данных SQLite и интегрировать в существующую инфраструктуру. Библиотека бордов включает задания с инструкциями по их выполнению и образцы решений. Борды с ключами от 1 до 100 представляют собой типичные решения с использованием базовых технологий и API. Например, борд 5 демонстрирует встраивание в веб-страницу мультимедиа в форматах HTML5, а борд 3 содержит образец использования геолокационного API.
Борды могут образовывать кейсы-подборки, включающие формулировки заданий, инструкции по их выполнению, фрагменты для поиска ошибок и т.д. Интеграция бордов с другими технологиями позволяет получать интересные результаты – это веб-портфолио, облачные лабораторные работы, готовые группы для модульного тестирования [13] и др.
Тематика кейсов может быть самой широкой. Например, если цель включает изучение базовых алгоритмов на языке Javascript, в том числе при подготовке к государственной итоговой аттестации, полезно использовать борды с реализациями алгоритмов с применением «чистого Javascript» и различных библиотек (миграция к использованию библиотек является одной из лидирующих тенденций в вебразработке и, как следствие, в обучении веб-программированию). Так, борд содержит реализацию сортировки «пузырьком», а борд – реализацию его же с построением клиентского интерфейса с помощью jQuery. Преподаватель может внести в алгоритм ошибки или удалить часть алгоритма, поставив перед студентами задачу на основе такого борда создать борды с исправлением ошибок или дополнением недостающих фрагментов кода – это формат заданий C1 и C2 из ЕГЭ по информатике.
С другой стороны, базовый борд может содержать начало решения задачи по созданию пользовательского интерфейса, в то время как студентам предлагается продолжить это решение своими способами, после чего осуществляется совместное обсуждение предложенных вариантов решений. Таковы борды и , содержащие, соответственно, постановку задачи о создании микшера цветов из RGB-компонент и пример ее решения с помощью jQuery. На их основе создан борд с формулировкой задания: «В этом коде содержится ошибка. Из-за нее перетаскивание бегунков не изменяет фон страницы. Создайте новый борд с исправлением ошибки. Укажите номер строки с ошибкой.» и борд с примером выполнения задания студентом.
При решении подобных задач формируются компоненты компетенций, связанных с синтаксисом и семантикой языка, проверкой и отладкой программ, реализацией алгоритмических моделей и конструкций и стилей программирования, идиом, обработчиков событий, асинхронных взаимодействий, обработки данных в форматах JSON/XML, генерации элементов интерфейса пользователя, взаимодействий с различными API.
Таким образом, деятельность преподавателя при организации обучения, в том числе в формате MOOC, сводится к созданию демонстрационных, практических, тестовых бордов для различных тем курса веб-программирования на этапе проектирования курса, к комментированию и редактированию онлайн-бордов на этапе проведения занятий в формате вебинара и к анализу и проверке бордов обучающихся.
Заключение
В статье описан ЭУМК, включающий зарегистрированное в Роспатенте программное средство – онлайн-редактор кода (бордкастинга) на языках HTML, CSS, Javascript «Кодактор», – и пути развертывания на его основе МЭИОС. В настоящее время его функциональность расширяется: среди ближайших планов – возможность создания кейсов-подборок бордов с метаописаниями в личном кабинете, автоматическая генерация QR-кодов для вновь созданных бордов, а также более тесная интеграция с другими облачными сервисами и FTP-серверами. Из результатов экспериментального обучения можно сделать вывод о существенном повышении эффективности обучения веб-программированию при использовании бордкастинга.
В статье также приведены примеры интеграции Кодактора с другими решениями (на примере систем электронного обучения и облачных ресурсов), уже реализованных заданий и построения образовательных маршрутов, фрагменты сценариев деятельности обучающихся и преподавателей. Редактор доступен по адресу .