Никандров А.А.

РГПУ им. А. И. Герцена,

г. Санкт-Петербург, Россия 

Формирование образовательного контента мультиплатформенного он-лайн курса при изучении дисциплины «Машинное обучение»

Сегодня благодаря широкому распространению компьютерной техники и программного обеспечения большое значение придаётся не только традиционному обучению, но и другим инновационным подходам, таким как, например, смешанное обучение [1] или программированное обучение [2]. В настоящем исследовании мы, обобщив достоинства каждого из этих подходов, объединили их в гибридном подходе, что понимается нами как использование нескольких платформ дистанционного обучения (коротко мультиплатформенность). 

Nikandrov А.А.

HSPU,

St. Petersburg, Russia

Educational content of a multiplatform online course in the study of the discipline «Machine Learning»

Today, thanks to the widespread use of computer technology and software, great importance is attached not only to traditional learning, but also to other innovative approaches, such as, for example, blended learning [1] or programmed learning [2]. In this study, having summarized the advantages of each of these approaches, we combined them in a hybrid approach, which we understand as the use of several distance learning platforms (multiplatform in short).

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

Были поставлены следующие задачи:

1.     Определить количество материала;

2.     Разделить материал на части (модули);

3.     Организовать планомерный переход от одного модуля к другому;

4.     Отследить успешность выполнения практических заданий.  

Обсудим опыт создания мультиплатформенного онлайн-курса по дисциплине «Машинное обучение» (далее коротко онлайн-курса), что понимается нами как использование нескольких платформ обучения [12], на примере которого рассмотрен наш опыт в РГПУ им. А. И. Герцена. Полный перечень всех составляющих мультиплатформенного онлайн курса представлен на рисунке 1.

nikandrov-picture1

Испытуемыми выступили две группы студентов в 2021-2022 и 2022-2023 учебных годах с численностью 18 и 7 человек соответственно. Все студенты проходили обучение на 3-ем курсе факультета математики, обучающиеся по направлению «01.03.02. Прикладная математика и информатика, уровень бакалавриата». Демонстрируется опыт реализации дисциплины «Машинное обучение» в модуле «Компьютерное обучение» [3].

Рассмотрим две основные рекомендации (все остальные приведены на рис. 2), которых мы придерживались при создании и дальнейшей интеграции он-лайн курсов в официальный образовательный процесс вуза. Будем различать 2 типа он-лайн курсов: курсы, созданные в отрыве от утверждённых учебных планов (в качестве источника дополнительного образования или повышения квалификации), и внедрение онлайн-курса в дисциплину с уже утвержденным рабочим планом и лимитированными часами. В данной статье сделан акцент на второй вариант.

makhalin-2

Рисунок 2 – Последовательность действий коллектива разработчиков при создании интегрированного в образовательный процесс вуза мультиплатформенного он-лайн курса

 

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

Проверить платформу на наличие желаемых режимов обучения. Обычно для изучения функционала платформы достаточно зарегистрироваться на любом открытом курсе в качестве студента, чтобы узнать, какие режимы доступны и каково их качество. При просмотре курса полезно различать три режима: обучения, взаимодействия и оценки [9], которые предлагаются практически всеми платформами, но в различном качестве и количестве. Для получения инструкций по работе следует обратиться к таким материалам, как короткие видеоролики, цифровые тексты, иллюстрации, презентации PowerPoint и ссылки на внешний веб-сайт разработчик платформы. Эти учебные материалы, как правило, содержат много информации и подходят для подготовки студентов. Большинство платформ предлагают дискуссионные площадки, где можно представиться, задать вопросы или обсудить темы, связанные с контентом, что позволяет организовать обсуждение сложных вопросов. Большинство платформ включают оценки, состоящие из автоматически оцениваемых тестов и заданий с множественным выбором, автоматизированных или оцениваемых экспертами коротких открытых вопросов и открытых вопросов, требующих длинного ответа, таких как эссе [10]. Платформы обычно имеют градацию для осуществления оценивания, осуществления адаптивного обучения. Преподаватель во время интеграции он-лайн курса в учебную дисциплину имеет возможность выбора подходящих настроек для предметной области [11].

Отбор средств обучения дисциплине «Машинное обучение». В настоящее время такими корпорациями как Yandex, Tesla, Microsoft, IBM, Google, Amazon возлагаются большие надежды на направление «Машинное обучение» (full self-driving, Tesla Bot с использованием deep learning, Yandex Zen).

В качестве базовой платформы для размещения практических заданий и их последующей автоматической проверки выбран Stepik [4]. Построить занятия по решению задач из области машинного обучения возможно на базе разных языков программирования. Разрабатываемый нами курс опирается на применение высокоуровневого языка программирования Python 3 и набора библиотек для предварительной обработки данных и последующего машинного обучения, а именно: Pandas, NumPy, SciPy, Matplotlib и Seaborn для первого, Scikit-learn – для второго (см. рис. 3).

Структура типового онлайн-курса платформы Stepik предполагает разбиение на: модули, уроки и степы (шаги). Может быть несколько модулей, каждый из которых включает в себя уроки, состоящие в свою очередь из элементов, называемых степами (шагами). Следуя этому подходу, мы разделили весь материал на три модуля [12], показанные на рисунке 3:

1.     Основы Python 3;

2.     Предварительная обработка данных на Python 3;

3.      Машинное обучение на Python 3.

nikandrov-picture3

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

Остановимся более подробно на системе задач повышенного уровня сложности. Практически все за исключением нескольких являются авторской разработкой, при этом каждая имеет свой рейтинг по аналогии с предлагаемыми на ресурсах олимпиадного движения по информатике СodeForces [5] (https://codeforces.com), LeetCode [6](https://leetcode.com), AtCoder [7] (https://atcoder.jp/) и т.д.

Codeforces - это веб-сайт, на котором проводятся соревнования по программированию. Его поддерживает группа конкурентоспособных программистов из Университета ИТМО во главе с Михаилом Мирзаяновым. Платформа поддерживает русский и английский языки, и большинство материалов представлено на двух языках.

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

Базирующийся в Японии, AtCoder еженедельно проводит онлайн-соревнования по программированию. Условия задач на японском и английском языках.

Предлагаемые студентам задания первого модуля находятся в промежутке 1000-1200, второго модуля – 1300-1400, а третьего – 1500-1600 по шкале оценивания ресурса CodeForces (см. рис. 4).

nikandrov-picture4

Обратим внимание на рисунок (гистограмму) 5 по каждой из двух групп за 2021-2022 и 2022-2023 года, демонстрирующей тех, кто изначально выбрал задачи повышенного уровня сложности и общее количество студентов (в % соотношении).

nikandrov-picture5

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

Рассмотрим задания от самых лёгких до самых сложных (см. рис. 6-10), на которых один или более студентов заканчивали решать задачи повышенной сложности и переходили на базовый уровень.

На задаче 1, приведенной на рисунке 6, отсеялся 1 студент из 7, выразивших желание решать задачи повышенного уровня сложности. Идея решения: все пары чисел сокращаются в 0 из-за исключающего «или» и остаётся только единственное число без пары. Пожалуй, это одно из самых коротких решений. Существуют и другие способы, например, завести словарь (dict) для подсчёта каждого числа, чтобы в конце осталось единственное встречающееся один раз. 

nikandrov-picture6

На задаче 2, приведенной на рисунке 7, отсеялся 1 студент из 7, выразивших желание решать задачи повышенного уровня сложности. Идея решения: при решении второй задачи (рис. 7) способом с использованием XOR от 1 до n при проходе в цикле стоит обратить внимание на изменение битового представления числа. Тогда можно заметить и доказать, что все варианты сводятся к четырём случаям:

1) если остаток равен 0, то XOR равен n;

2) если остаток равен 1, то XOR равен 1;

3) если остаток равен 2, то XOR равен n+1;

4) если остаток равен 3, то XOR равен 0.

nikandrov-picture7

На задаче 3, приведенной на рисунке 8, отсеялся 1 студент из 7, выразивших желание решать задачи повышенного уровня сложности. Идея решения: первое, если сумма всех элементов массива равна нечётному числу, то нельзя обнулить все элементы, так как одной операцией можно выбрать два разных числа и уменьшить на единицу (суммарно на число два). Второе, когда самое большое число в массиве строго больше суммы всех оставшихся чисел. В остальном можно показать, что всегда существует схема, благодаря которой можно обнулить все элементы массива, например, держать все числа равными, не считая изначальных нулей.

nikandrov-picture8

На задаче 4, приведенной на рисунке 9, отсеялось 2 студента из 7, выразивших желание решать задачи повышенного уровня сложности. Идея решения: из условия вытекает следующее. Когда в массиве присутствует положительное число, то потенциально к нему стоит применить операцию. Почему? При чётном количестве отрицательных чисел их произведение будет положительным числом. В итоге первым действием все чётные числа преобразовываются в нечётные. Если массив чётной длины, то ответ – произведение всех уже нечётных чисел. Когда массив нечётной длины, то есть несколько нюансов. Естественно, к одному числу из массива надо применить операцию из условия (в таком случае останется чётное количество нечётных чисел и одно чётное). Какое выбрать число? Самое большое отрицательное (тогда после применения операции оно станет самым маленьким положительным). Правда, можно взять число -1, которое станет равно 0 после применения операции и всё произведение обратится в 0. Получается, надо взять самое большое отрицательное число, кроме -1.

nikandrov-picture9

На задаче 5, приведенной на рисунке 10, отсеялось 2 студента из 7, выразивших желание решать задачи повышенного уровня сложности. Идея решения: из условия задачи  может быть больше длины массива. Рассмотрим , которое меньше или равно длине массива. В таком варианте (из-за ограничений) достаточно смоделировать ситуацию и получить корректный ответ. На маленьких примерах можно заметить, что при , большем длины массива, в конце выполнения программы на первом месте очереди будет находиться наибольшее число массива, а все остальные числа меняют своё местоположение по шаблону.

nikandrov-picture10

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

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

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

 

Литература:

1. Андреева Н.В. Педагогика эффективного смешанного обучения. // Современная зарубежная психология. 2020;9(3):8-20.

2. Агарков Р.В, Финогеев Д.Д. ПРОГРАММИРОВАННОЕ ОБУЧЕНИЕ И ЕГО МЕСТО В УЧЕБНОМ ПРОЦЕССЕ ВЫСШЕГО УЧЕБНОГО ЗАВЕДЕНИЯ. Вестник Пензенского государственного университета. 2022(3 (39)):3-8.

3. Piotrowska X., Terbusheva E. Educational data-mining for future educational employees // CEUR-WS, Vol. Vol-2401, Proceedings of the XIV International Conference "New Educational Strategies in Modern Information Space", 2019. Pp. 38-49. (http://ceur-ws.org/Vol-2401/PAPER_4.PDF) [Последнее обращение 13.04.2023].

4. Никандров А.А. Многофункциональные и гибкие онлайн-платформы для создания образовательных материалов. //Информатика и образование, Том 37, № 6, 2022 С. 22-29.

5. Codeforces. Available at: https://codeforces.com.

6.  Leetcode. Available at: https://leetcode.com.

7. AtCoder. Available at: https://atcoder.jp/.

8. Chapman S.A., Goodman S., Jawitz J., Deacon A. A strategy for monitoring and evaluating massive open online courses. //Eval Program Plann. Vol. 57. 2016. Pp. 55–63. DOI: 10.1016/j.evalprogplan.2016.04.006.

9. Toven-Lindsey B., Rhoads R. A, Lozano J. B. 2015. Virtually unlimited classrooms: pedagogical practices in massive open online courses. //Internet High Education. Vol. 24. Pp. 1–12. https://doi.org/10.1016/j.iheduc.2014.07.001.

10. Lujak, M., Slavkovik, M., Lebis, A., Vermeulen, M., Doniec, A. Objective Tests in Automated Grading of Computer Science Courses: An Overview. In: Ivanović, M., Klašnja-Milićević, A., Jain, L.C. (eds) Handbook on Intelligent Techniques in the Educational Process. Learning and Analytics in Intelligent Systems, vol 29. Springer, Cham., 2022. Pp. 239-268. https://doi.org/10.1007/978-3-031-04662-9_12.

11.  Расулова Н.Ю. Адаптивное обучение в системе высшего образования. //Scientific progress. Vol. 1(3). 2021. С. 88-97.

12. Никандров А.А., Пиотровская К.Р. Организация мультиплатформенного гибридного он-лайн курса по “Машинному обучению” для системы высшего образования // Преподаватель XXI век. 2023. № 1. Часть 1. С. ?? – ??. DOI (работа сдана в печать)

комментарии: