Как стать автором
Обновить

Кое-что об edX Blades

Время на прочтение4 мин
Количество просмотров12K
Последнее время очень много выходит статей о проектах онлайн-обучения, которые стали новым этапом в образовании. Сейчас онлайн-курсы более популярны за рубежом. Среди всех ресурсов, предоставляющих возможность онлайн-обучения, можно выделить три самых популярных: Coursera, edX и Udacity. Эти три ресурса отличаются интерактивностью своих курсов и, что самое главное, дают возможность любому желающему пройти обучение абсолютно бесплатно.

Хотя многие уже прослушали ряд лекций и даже успешно завершили онлайн курсы, но мало кто знает, как все выглядит изнутри. Я расскажу о технологической стороне одной из этих нашумевших платформ.

Наша команда работает в компании Инновекс над проектом edX. Основные задачи нацелены на создание так называемых «blades» – модулей встраиваемых в платформу, как лезвия (blades) в бритвенный станок. Кроме того, часть задач связана с модификацией платформы.

Каждое «лезвие» представляет собой Rich UI приложение, состоящее из front-end части (javacript) и back-end части (python). Например, возьмем курс «Introduction to Solid State Chemistry». В материал курса встроена проверка химических реакций. Студенту, после прослушивания короткого (5-7 минут) видеоролика лекции, предлагают проверить свои знания. Вместо обычных вопросов и текстовых полей для ввода, студенту предлагают нечто особенное. Например — написать химическую реакцию определенного процесса. Эта химическая реакция проверяется на сервере автоматически, с использованием pyparsing и nltk. То есть, помимо front-end части для ввода химических реакций с использованием latex, а точнее MathJax, существует back-end часть, которая представляет собой питоновский модуль для проверки правильности ответа студента.

Я все же не хотел бы слишком углубляться в технические детали реализации «лезвий» по двум причинам. Во первых, код можно посмотреть на гитхабе, так как с 1 июля платформа edX стала open-source. Теперь каждый может ознакомиться с «лезвиями», заглянув в код по приведенным ссылкам, и кроме того, создать и запустить свой собственный виртуальный университет :) А во-вторых, мы не делаем чего-то экстраординарного в технических аспектах. Мы реализуем новые идеи для обучения, помогая делать его интересным, интерактивным и живым — по сути делаем качественную инженерную работу. Лучше я еще расскажу о «лезвиях» на конкретных примерах: как они устроены, на чем основаны. И вы сможете представить, насколько курсы состоящие из подобных модулей, могут быть интересными для студентов:

  1. Для курса «Introduction to Solid State Chemistry» таким модулем является проверка знаний по кристаллографии. Для студента задание заключается в построении сечения, которое соответствует определенным индексам Миллера кристаллографической плоскости. Front-end часть построена так, чтобы в первую очередь быть интересной для студента: ясная, четкая, one-click interface. На back-end части правильность ответа студента проверят соответствующий модуль, реализующий нетривиальный алгоритм нахождения индексов Миллера кристаллографической плоскости по точкам.
  2. Для того же курса создан модуль, позволяющий студенту ответить на вопросы по теории отталкивания электронных пар валентных орбиталей.
  3. Для курса «Health in Numbers: Quantitative Methods in Clinical & Public Health Research» множество «лезвий» реализованных только на javascripte, которые позволяют студенту интерактивно освоить концепции курса: линейную регрессию, кривую выживаемости и многие другие.
  4. Для нескольких курсов был разработан инструмент, позволяющий в форме DSL связать график, слайдеры и содержимое элементов страницы, т. н. graphical slider tool. C его помощью студенты могут исследовать зависимости и формулы: визуально видеть, как меняется так или иначе зависимость (например, кривая диффузии) при изменении параметров.
  5. Модуль Conditonal, позволяющий преподавателям показывать студенту разный контент курса в зависимости от того, что студент сделал ранее. Модуль используется в курсе Harvard Justice, чтобы задавать студентам вопросы в стиле Сократа, и показывать другие вопросы на основании полученных ответов.
  6. Модуль Drag and Drop — используется для решения задач, где нужно перетащить нужные элементы на правильные позиции. Например, он используется в«Introduction to Biology — The Secret of Life» для задач по маркировке генов, в курсе «Introduction to Solid State Chemistry» для решения задач по заполнению энергетический уровней молекулярных орбиталей (например, в задачах по теории линейных комбинаций атомных орбиталей). Этот модуль достаточно общий, так как для проверки правильности условий используется constraint programming.


Среди других «лезвий» — модули позволяющие студенту выделять формы на рисунках; one-click видео плейер, поддерживающий html5 и youtube, c возможностью навигации по субтитрам;
облако тегов, с общей базой введенных данных для студентов данного курса;
модуль poll, позволяющий студентам отвечать на вопросы и видеть результаты других студентов, данные хранятся в mongo; и многие другие.


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

В целом при разработке «лезвия» достигаются несколько целей: хороший и правильный код, удобный интерфейс, правильная передача концепции и образовательный подход. Последнее очень важно для проекта, так как множество инноваций в обучении, правильно внедренные в курс, позволяют курсу быть успешным, а их отсутствие зачастую приводит к скуке. Это, например, mastery learning, instant feedback and constructive learning.

Вот что о них пишет Piotr Mitros, Chief Scientiest of EdX:
Mastery learning means that a student does not move on until they’ve mastered a concept. Rapid feedback means that a student has tools to know whether they have mastered a concept. Constructive learning moves courses beyond passive learning (watching a lecture), active learning (watching a lecture while manipulating the concepts), to a level where the student is guided through synthesizing, deriving, or otherwise constructing the knowledge for themselves. All three of these are strongly researched-backed to show substantial learning gains.


Код описанных blades можно посмотреть здесь, а некоторую :) документацию по ним тут.
Теги:
Хабы:
+26
Комментарии20

Публикации

Изменить настройки темы

Истории

Работа

Python разработчик
134 вакансии
Data Scientist
62 вакансии

Ближайшие события

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн