Кое-что об edX Blades

    Последнее время очень много выходит статей о проектах онлайн-обучения, которые стали новым этапом в образовании. Сейчас онлайн-курсы более популярны за рубежом. Среди всех ресурсов, предоставляющих возможность онлайн-обучения, можно выделить три самых популярных: 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 можно посмотреть здесь, а некоторую :) документацию по ним тут.

    Средняя зарплата в IT

    113 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 5 637 анкет, за 2-ое пол. 2020 года Узнать свою зарплату
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 20

      0
      Спасибо. У меня есть некоторые идеи относительно плагино для этой платформы. Эта статья поможет работраться.

        0
        Отлично! Будем ждать больше курсов на русском. Очень бы хотелось поучаствовать в создании курса по операционным системам (пока только Udacity планирует такой вводить), его не хватает.
          0
          Учусь одновременно на coursera и edx. (также прошёл курсы по mongodb на платформе edx)
          И edx на пару порядков приятнее отчасти из-за этих блэйдов.
          Даже не представляю, как бы на курсере проверялись эффективность алгоритмов AI или правильность рендеринга картинок.
          Жаль, что не все используют возможности edx на полную.
            0
            Спасибо.
            0
            А вот чтото не найду документации по блэйдам на docs.edx.org
            Есть только по стандартным стандартным типам задач:
            edx.readthedocs.org/projects/ca/en/latest/appendices/e.html
              0
              То что описано в статье во многом есть в edx.readthedocs.org/projects/devdata/en/latest/ — Specific problem types. Документация в целом пока слабенькая, но развивается.
              Еще есть часть документации для студии — studio.edge.edx.org, например edge.edx.org/courses/edX/edX101/How_to_Create_an_edX_Course/about
              Кстати — на edge можно попробовать создавать курсы в студии.
                0
                Сейчас edX переходит от XML формата к студии (GUI). Поэтому может быть удобно создать в XML и импортировать в студию, и наоборот.
                0
                Комментарий перенесен в ветку.
                  0
                  Спасибо за обзор.
                  Часто говорят о 4-ке популярных MOOC-ов, ещё KhanAcademy.
                    0
                    Пожалуйста. На самом деле крупных MOOC платформ около 20.
                      0
                      Да, особенно после того как edX открыл код для всех.
                        0
                        Я про те, которые не на базе кода ЭдХ.
                          0
                          Кстати, по HTML коду сайта легко определить что это платформа ЭдХ?
                          Например NovoED или Iversity это ЭдХ?
                            0
                            По HTML коду может быть сложно, по загружаемым библиотекам JS и по коду JS, а также по коду CSS может быть легче.
                            На первый взгляд не Эдх, но чтобы точно сказать нужно логиниться в курс.
                    0
                    Скажите, а есть такие blades, с помощью которых можно было бы писать код на определённом языке программирования (python, java, php или другом), проверять его на правильность и оценивать? Как это делается на www.codeacademy.com, например.
                    Вы упомянули constraint programming. С ним такое реализуемо?
                      0
                      Да, есть, например для питона. Примеры использования можно глянуть в курсе courses.edx.org/courses/MITx/6.00x/2013_Spring/courseware/Week_2/Problem_Set_2/.
                      Для исполнения кода используется github.com/edx/codejail.

                      Также в некоторых курсах используются matlab graders, но тут код выполняется на серверах mathworks.

                      Сейчас процесс работает так: код сабмиттится студентом, становится в очередь github.com/edx/xqueue, отсылается на grader (внутренний или внешний python, внешний matlab и т.п.) и результат оценки возвращается обратно.
                        0
                        Первая ссылка не сработала (видимо они там что-то поменяли), а за остальное спасибо!
                        А для проверки других языков Вам не попадались примеры?
                          0
                          Пожалуйста.
                          Чтобы ссылка заработала — нужно зарегистрироваться на курс. Она работает у меня сейчас.
                          Надо нажать register в www.edx.org/course/mit/6-00-1x/introduction-computer-science/1122

                          Другие языки не попадались, хотя особо не искал.
                          Если представить что нужно сделать — то это будет grader, который выполнит код нужного языка и вернет результат.
                      0
                      На курс я был зарегестрирован. Прямая ссылка из адресной строки браузера всё равно не сработала (видимо, если не посещал или не навигировал по courseware или лекциям/тестам этого курса раньше, открыть по прямой ссылке сразу не сможешь...), но я зашёл туда вручную, спасибо.

                      Ясно, идею понял.
                        0
                        о, хорошо!

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

                      Самое читаемое