Анализ данных о процессе выполнения студентами заданий по программированию может дать преподавателям информатики представление об их учениках и процессах, с помощью которых они учатся программировать. В предыдущей работе мы разработали статистическую модель, которая точно предсказывает оценки студентов за домашние задания. В этой работе мы исследуем связь между путями, которые проходят студенты через состояния программирования, на которых основана наша статистическая модель, и их общей успеваемостью. Изучение частоты наиболее распространенных путей перехода выявило значительные различия между студентами, получившими пятерки, четверки и тройки по курсу CS 2. Наши результаты показывают, что а) студенты с разным уровнем успеваемости по-разному подходят к решению задач по программированию и б) эти различия могут быть автоматически обнаружены, что открывает возможность их использования в педагогических целях.

Adam S. Carter

Humboldt State University, Department of Computer Science, 1 Harpst ST, Arcata, CA 95521 USA, Adam.Carter@Humboldt.edu

Christopher D. Hundhausen

School of Electrical Engineering and Computer Science, Washington State University, Pullman, WA 99164 USA, hundhaus@wsu.edu

Основные понятия

Модель состояния программирования (Programming State Model, PSM); Прогнозирующие меры (Predictive measures); Аналитика обучения (Learning analytics); Анализ данных в образовании (Educational data mining)

1. Введение

Учитывая относительную простоту автоматического сбора данных о процессе обучения, неудивительно, что исследователи it- образования изучают новые способы получения информации о поведении студентов при программировании и успеваемости по курсу с помощью данных журнала IDE. На сегодняшний день исследователи сосредоточились в основном на описании общего поведения при программировании (например, [2, 10]) и разработке прогнозирующих моделей (например, [9, 18]). В предыдущей работе (см. [6]) мы внесли свой вклад в эти исследования, разработав модель состояния программирования (PSM), которая характеризует программирование студентов в терминах одного из одиннадцати состояний программирования. Для набора данных, состоящего из студентов CS2, было обнаружено, что статистическая модель, основанная на нормированном времени, проведенном в каждом состоянии PSM, умеренно коррелирует с успеваемостью студентов. В этой статье мы продолжаем исследование полезности PSM, рассматривая способы, с помощью которых студенты переходят из одного состояния PSM в другое. Для этого мы ставим следующий исследовательский вопрос:

Какова связь между последовательностью переходов ученика через PSM и его успеваемостью в классе?

Чтобы ответить на этот исследовательский вопрос, мы представляем два анализа данных по программированию, собранных студентами в рамках курса CS2. Мы определили семнадцать наиболее распространенных последовательностей переходов PSM и связали их с успеваемостью. Мы обнаружили, что в среднем студенты с более низкой успеваемостью реже компилируют свой код и тратят больше времени на редактирование синтаксически неправильного кода. Более того, при ежедневном изучении последовательностей переходов в течение четырех дней, предшествующих дате сдачи задания, мы обнаружили значительные различия в последовательностях переходов PSM между студентами уровней A, B и C. Эти результаты служат дополнительным доказательством того, что студенты с разным уровнем успеваемости действительно занимаются разными видами программирования в процессе выполнения заданий по программированию, и что эти различия можно автоматически обнаружить.

2. История вопроса и сопутствующие работы

Учитывая кажущуюся сложность компьютерных дисциплин и их печально известную репутацию с низким уровнем отсева, исследователи компьютерного образования по понятным причинам стремятся лучше определить связь между характеристиками учащихся, результатами обучения и поведением в процессе обучения. Исследователи прошлого рассматривали биографию учащегося (например, [5, 11]), его предварительные знания (например, [5, 13]), когнитивные способности (например, [15]), время выполнения задания (например, [16]) и отношение к обучению (например, [4]) как возможные корреляты результатов обучения и поведения. Хотя это направление исследований разделяет наш интерес к выявлению ассоциаций между студентами и результатами обучения, оно отличается от нашей работы тем, что обычно основывается на периодической оценке, а не на непрерывном потоке данных о процессе обучения, автоматически собираемых по мере выполнения студентами курсовой работы.

Более позднее направление исследований посвящено использованию непрерывного потока данных для выявления положительных моделей обучения [3, 17]. В исследованиях по компьютерному образованию эти данные использовались для описания поведения при компиляции (например, [2, 10]) и для определения поведения, связанного с конечным успехом или неудачей в курсе (например, [1, 6, 9, 18]). В отличие от большинства работ, описанных в работе Ihantola et a. [8], метод, представленный в данной статье, не требует данных за весь семестр, чтобы достичь точности прогнозирования. Действительно, результаты, представленные в разделе 4, требуют всего лишь данных за один день для достижения статистически значимого уровня точности прогнозирования.

Таблица 1. PSM состояния

Состояние

Описание

Idle

Студент в данный момент не программирует (состояние по умолчанию после 3 минут бездействия)

UU

Студент еще не составил свой проект

YN

Редактирование синтаксически правильного проекта, последняя отладка не удалась

YU

Редактирование синтаксически корректного проекта, последняя отладка успешна

NU

Редактирование синтаксически некорректного проекта, последняя отладка прошла успешно

NN

Редактирование синтаксически некорректного проекта, последняя отладка не удалась

DU

Отладка проекта, когда последняя отладка не привела к исключению во время выполнения

DN

Отладка проекта, когда последняя отладка привела к исключению времени выполнения

RU

Запуск проекта вне режима отладки, когда последняя попытка отладки не привела к исключению во время выполнения

RN

Запуск проекта вне режима отладки, когда последняя попытка отладки привела к исключению времени выполнения

R/

Запуск проекта, который не компилируется; текущий запуск представляет собой последнюю успешную компиляцию

В работе Картера и др. [6] мы представили модель состояния программирования. Вместо того чтобы описывать поведение студентов в терминах нажатия клавиш (например, [12]) или попыток компиляции (например, [9, 10, 18]), PSM классифицирует студентов-программистов в двухмерном пространстве, которое отражает как текущую активность студента (например, редактирование, отладка), так и корректность последнего скомпилированного решения. В таблице 1 перечислены все возможные состояния PSM. В предыдущей работе мы исследовали эффективность статистической модели, полученной на основе нормированного времени, проведенного в каждом состоянии PSM. Наша модель умеренно коррелирует с успеваемостью (r = 0.67). Однако вместо того, чтобы сосредоточиться на времени, проведенном в каждом состоянии PSM, в данной работе мы используем другой подход, изучая пути, которые студенты проходят в PSM. В частности, мы исследуем связь между путями и результатами обучения.

3. Пути к успеваемости

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

3.1. Участники

Данное исследование основано на изучении программирования студентов во время весеннего курса CptS 122, курса CS2 в Университете штата Вашингтон в 2014 году. В этом курсе, который преподавался на языке программирования C++, приняли участие 140 студентов, 129 из которых закончили курс и получили оценку. Из тех, кто получил оценку, 108 студентов (100 мужчин и 8 женщин) согласились предоставить свои данные для этого исследования. Последовательности переходов сравнивались с итоговыми оценками студентов, которые были основаны на оценках, полученных за задания по программированию (35%), лабораторные работы (10%), участие (5%), тесты в классе (10%), промежуточные экзамены (20%) и итоговый экзамен (20%).

Таблица 2. Последовательности активности

Последовательность

Описание

YU-RU-YU

Запуск семантически неизвестной программы вне режима отладки

YU-DU-YU

Запуск семантически неизвестной корректной программы в режиме отладки

YN-RN-YN

Запуск семантически некорректной программы вне режима отладки

YN-DN-YN

Запуск семантически некорректной программы в режиме отладки

NU- R/-NU

Попытка выполнить синтаксически некорректную программу

NN- R/-NN

Попытка выполнить синтаксически некорректную программу

Таблица 3. Последовательности корректности

Последовательность

Описание

YU-NU

Неудачная попытка компиляции

YU-DU-YN

Произошло исключение во время выполнения в режиме отладки

YN-DN-YU

Исключение во время выполнения в режиме отладки не возникло

Сбор данных

Сбор данных осуществлялся с помощью среды социального программирования OSBIDE (см. [7]) - плагина к IDE Visual Studio. В общей сложности для данного исследования было проанализировано 2 781 061 событие за семь заданий по программированию. Анализируя наш набор данных, мы выявили 21 215 уникальных последовательностей PSM, созданных студентами в процессе выполнения заданий по программированию.

3.2. Определение общих переходов PSM

Начнем с выявления часто встречающихся цепочек переходов в PSM. Хотя PSM содержит десять состояний (см. табл. 1), в нем мало ребер, соединяющих состояния, что обусловлено логическими ограничениями процесса программирования. Например, студент не может выполнить отладку во время выполнения синтаксически некорректной программы. Эти ограничения приводят к появлению нескольких характерных последовательностей переходов, которые мы разбиваем на две категории:

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

Последовательности корректности -- это последовательности, которые приводят к изменению синтаксической или семантической корректности решения студента. В таблице 3 перечислены последовательности корректности.

В дополнение к последовательностям активности и корректности, перечисленным в таблицах 2 и 3, мы проанализировали наш набор данных на предмет часто встречающихся последовательностей. Исключив ранее выявленные последовательности, которые оказались наиболее распространенными, мы определили еще восемь последовательностей, которые встречались не менее 1 000 раз в течение семестра. Эти последовательности перечислены в таблице 4.

Важно отметить, что, поскольку последовательности были выявлены с помощью анализа post-hoc, мы не можем придать значение какой-либо конкретной последовательности. Вполне возможно, и даже скорее всего, что одна последовательность (например, Idle-YN-Idle) встречается в разных обстоятельствах и, следовательно, связана с несколькими видами деятельности по решению проблем высокого уровня. Мы планируем устранить это ограничение в будущих исследованиях.

Таблица 4. Другие часто встречающиеся последовательности

Последовательность

Описание

Idle-YN-Idle

Сеанс программирования a) содержащий только действия по редактированию и b) последняя попытка отладки которого привела к исключению во время выполнения.

Idle-YU-Idle

Сеанс программирования a) содержащий только редактирование и б) последняя попытка компиляции которого последняя попытка компиляции была успешной.

Idle-NU-Idle

Сеанс программирования a) содержащий только редактирование и б) последняя попытка компиляции которого попытка компиляции которого была неудачной.

Idle-UU-Idle

Сеанс программирования a) содержащий только действия по редактированию и b) никогда не компилировавшийся.

NU-R/-YU

Попытка запустить синтаксически некорректный проект, а затем сделать его синтаксически корректным.

YN-RN-DN

Попытка запустить проект, последняя попытка отладки которого была неудачной, после чего следует сеанс отладки.

YU-RU-DU-YU

Попытка запустить проект, последняя попытка отладки которого была успешной, с последующим сеансом отладки.

Таблица 5. Частота прохождения последовательности по итоговой оценке курса (* = sig at p < 0.05)

Последовательность

Оценка

F

D

C

B

A

YU-RU-YU*

48

66

122

127

173

YN-RN-YN*

20

41

69

59

108

NU-R/-NU*

95

123

227

169

201

NN-R/-NN*

4

9

15

10

17

YU-DU-YU*

19

60

51

60

64

YN-DN-YN*

19

37

65

60

68

YU-NU-YU

11

15

21

28

18

YU-DU-YU-YN

1

2

3

3

3

YN-DN-YU

5

8

20

10

13

Idle-YN-Idle*

13

22

33

39

61

Idle-YU-Idle*

32

51

72

86

110

NU-R/-YU*

9

14

25

23

28

Idle-NU-Idle*

7

10

13

10

14

Idle-UU-Idle*

4

6

6

6

6

RN-DN-YN*

4

11

19

17

25

YU-RU-DU*

6

10

15

15

21

DN-YU-DU*

3

10

9

12

11

YN-DN-YU-
DU*

1

2

4

2

4

Количество переходов*

231

409

616

610

812

Таблица 6. Значимые нормализованные переходы по итоговой оценке курса (p < 0,05). Подстрочный индекс a указывает на значимо более высокий показатель, чем подстрочный индекс b, с помощью анализа Post-Hoc Bonferroni

Последовательность

F

D

C

B

A

Idle-YN

4,0%b

5,2%

4,9%

6,6%

7,1%a

Idle-NU

5,1%a

2,5%

2,8%

2,1%b

1,8%b

Idle-UU

3,7%a

1,7%

1,6%b

1,6%b

1,0%b

3.3. Связь переходов с производительностью

Для того чтобы связать последовательности переходов PSM с результатами обучения, мы зафиксировали количество раз, когда последовательность повторялась для учеников в каждом классе (Таблица 5). Дисперсионный анализ данных выявил значительные различия в частоте встречаемости некоторых последовательностей, с которыми сталкивались студенты, получившие разные итоговые оценки за курс. Однако обратите внимание, что количество последовательностей (Таблица 5, последняя строка) также значительно различается между уровнями успеваемости. Это указывает на то, что любые наблюдаемые значительные различия могут быть результатом простого проведения большего количества времени за программированием, а не фактическим различием в поведении программистов, о котором свидетельствует та или иная последовательность программирования. Чтобы проверить эту возможность, мы нормализовали наш набор данных по количеству сгенерированных переходов. Повторное проведение ANOVA для нормализованных данных показывает совсем другую историю. В таблице 6 перечислены переходы, которые остались значимыми после процесса нормализации.

4. Изучение последовательностей переходов во времени

Результаты, представленные в предыдущем разделе, указывают на слабую связь между общим количеством сгенерированных переходов и успеваемостью по курсу. В этом разделе мы исследуем, могут ли существовать различия, если мы также учитываем близость последовательности к дате выполнения задания. Например, кажется правдоподобным, что студенты уровня F могут столкнуться с «проблемными» последовательностями переходов ближе к дате выполнения задания, в то время как студенты уровня A могут потратить столько же времени на тестирование своей программы. Чтобы исследовать эту возможность, мы использовали тот же набор данных, что и в предыдущем анализе, чтобы изучить последовательности переходов, созданные в определенный день. Поскольку периоды выполнения заданий были разной продолжительности, мы регистрировали частоту переходов относительно даты сдачи каждого задания. В общей сложности мы изучили 18 последовательностей переходов, определенных в разделе 3, для каждого студента в течение 21 дня, предшествовавшего каждому из семи заданий по программированию.

Для каждой рассмотренной последовательности переходов (см. таблицы 2-4) мы построили 17 графиков, которые отслеживают частоту встречаемости данной цепочки переходов по мере приближения даты выполнения задания по программированию. Из этих графиков мы выделили восемь последовательностей, на графики которых, по-видимому, влияет успеваемость учащихся: YU-RU (Выполнение семантически неизвестной программы вне режима отладки), NU-R/ (Попытка выполнить синтаксически неправильную программу), NN-R/ (Попытка выполнить синтаксически неправильную программу), YU-DU (Выполнение семантически неизвестной правильной программы в режиме отладки), NU-R/-YU (Попытка выполнить синтаксически неправильный проект, Затем проект становится синтаксически корректным), Idle-NU (Сеанс программирования синтаксически некорректного проекта, содержащий только действия по редактированию), YN-DN-YU (Исключение во время выполнения в режиме отладки не произошло) и YU-RU-DU (Попытка запустить проект, последняя попытка отладки которого была успешной, с последующим сеансом отладки). Кроме того, мы заметили, что большая часть активности студентов приходится на четыре дня, предшествующих дате сдачи задания. Поэтому для краткости мы ограничиваем наш статистический анализ четырьмя днями, предшествующими дате сдачи каждого домашнего задания.

Сфокусировавшись на данных за четыре дня, предшествующих дате сдачи задания, мы провели трехсторонний дисперсионный анализ (ANOVA), введя оценку успеваемости, день и переход в качестве предикторных переменных, а частоту - в качестве итоговой переменной. Статистический анализ выявил значимые главные эффекты для оценки успеваемости (F(4,199) = 9,23, p < 0,01, частичный ?2 = 0,01), дня (F(4,199) = 19,17, p < 0,01, частичный ?2 = 0,02) и перехода (F(7,199) = 21,29, p < 0,04, частичный ?2 = 0,04). Кроме того, статистический анализ выявил значимое двустороннее взаимодействие между оценкой успеваемости и переходом ((F(28,199) = 16,85, p < 0,01, частичное ?2 = 0,12) и статистически значимое взаимодействие между всеми тремя предикторными переменными ((F(140,199) = 1,29, p = 0,01, частичное ?2 = 0,05).

В следующих подразделах мы рассмотрим значимые различия в трехстороннем взаимодействии, проведя post hoc парный анализ для четырех дней, предшествующих дате сдачи задания.

4.1. Модели поведения за четыре дня до срока исполнения

Сначала мы рассмотрели взаимодействие между оценкой успеваемости и последовательностью переходов, созданной за четыре дня до даты сдачи (см. рис. 1). Статистический анализ выявил следующие значимые различия (p < 0,05) между группами:

  • Последовательности YU-RU были наиболее распространены среди студентов группы A.

  • Последовательности YU-DU были наиболее распространены среди студентов группы B.

  • Последовательности Idle-NU были наиболее распространены среди студентов группы C.

  • Последовательности YU-RU-DU были наиболее распространены среди студентов C.

Рис. 1: Взаимосвязь между оценкой успеваемости и переходом за четыре дня до срока сдачи
Рис. 1: Взаимосвязь между оценкой успеваемости и переходом за четыре дня до срока сдачи

Напомним, что последовательности, содержащие буквы «R» и «D», подразумевают выполнение программы. Таким образом, эти данные, казалось бы, указывают на то, что за четыре дня до назначенного срока студенты уровней A-, B- и C находятся на стадии тестирования программного обеспечения. Однако, в отличие от студентов уровней A и B, мы также видим, что студенты уровня C тратят больше времени на работу над проектом с ошибками, о чем свидетельствует количество сгенерированных последовательностей Idle-NU. Интересно отметить, что студенты уровня B, очевидно, используют отладчик гораздо чаще, чем студенты уровня A. Изучение причин такого различия было бы достойным занятием для будущих исследований.

4.2. Модели поведения за три дня до срока

Далее мы рассмотрим взаимодействие между оценкой успеваемости и последовательностями переходов, сгенерированными за три дня до даты сдачи (см. Рисунок 2). В этот день мы начинаем наблюдать повышенную активность студентов группы F, которые создали второе место по количеству последовательностей YU- RU. Статистический анализ выявил следующие различия (p < 0,05) между группами:

  • Для YU-RU учащиеся A снова создали больше переходов, чем все остальные классы.

  • Учащиеся F создали значительно больше переходов YU-RU, чем учащиеся B и D.

  • Для YU-DU учащиеся B снова создали больше переходов, чем все остальные классы.

  • Как для Idle-NU, так и для YU-RU-DU учащиеся C генерировали больше переходов, чем все остальные классы.

Рис. 2: Взаимосвязь между оценкой успеваемости и переходом за три дня до срока сдачи
Рис. 2: Взаимосвязь между оценкой успеваемости и переходом за три дня до срока сдачи

Похоже, что закономерности создания последовательностей, выявленные в предыдущем разделе, сохраняются. И снова мы видим, что учащиеся уровня A используют стратегию, состоящую в основном из последовательностей YU-RU, учащиеся уровня B - YU-DU, а учащиеся уровня C - Idle-NU и YU-RU-DU. В отличие от предыдущего дня, мы видим увеличение количества последовательностей YU-RU, генерируемых студентами уровня F. Однако активность других последовательностей остается минимальной.

4.3. Модели поведения за два дня до срока исполнения

Как показано на рисунке 3, за два дня до даты сдачи задания поведенческие тенденции студентов уровней A, B и C оставались стабильными. То есть студенты уровня A генерировали больше всего переходов YU-RU, студенты уровня B - больше всего переходов YU-DU, а студенты уровня C - больше всего переходов Idle-NU и YU-RU-DU. Однако общий рост активности всех студентов затрудняет проведение статистических тестов для выявления значимых (p < 0,05) различий между отдельными группами:

  • Переходы YU-RU по-прежнему значительно чаще генерируются студентами группы А.

  • Студенты группы B чаще генерируют переходы YU-DU по сравнению со студентами групп A, D и F.

  • Студенты B чаще генерируют переходы NU-R/-YU по сравнению со студентами A, C и F.

  • Студенты C чаще генерируют переходы Idle-NU по сравнению со студентами A, B и F.

  • Студенты C чаще генерируют переходы YU-RU-DU по сравнению со студентами A, B и F.

Рис. 3: Взаимосвязь между оценкой успеваемости и переходом за два дня до срока сдачи
Рис. 3: Взаимосвязь между оценкой успеваемости и переходом за два дня до срока сдачи

И снова мы видим четко определенные модели поведения среди учеников A-, B- и C-уровней. В отличие от этого, хотя частота переходов у учеников D- и F-уровней увеличилась, у них нет общего паттерна, что не позволяет нам определить переходы, уникальные для их поведения при решении проблем.

4.4. Модели поведения в день, предшествующий дате сдачи экзамена

И снова мы наблюдаем три пика активности, характерные для студентов A-, B- и C-уровней (см. Рисунок 4). Статистический анализ выявил следующие значимые (p < 0,05) результаты:

  • Студенты A и F чаще генерировали переходы YU-RU, чем студенты B и C.

  • Ученики B по-прежнему производили больше переходов YU-DU, чем ученики других классов.

  • Кроме того, учащиеся B производили больше переходов NU-R/-YU, чем учащиеся A и C.

  • Аналогичным образом, учащиеся C продолжали производить больше переходов Idle-NU, чем все остальные классы. Ученики D произвели больше переходов, чем ученики A.

  • Опять же, учащиеся C произвели больше всего переходов YU-RU-DU.

Рис. 4: Взаимосвязь между оценкой успеваемости и переходом за день до даты сдачи
Рис. 4: Взаимосвязь между оценкой успеваемости и переходом за день до даты сдачи

Хотя мы продолжаем наблюдать ту же картину создания последовательностей учащимися уровней A, B и C, мы также отмечаем небольшое снижение количества последовательностей NU-R/-YU у учащихся уровня B. За два дня до установленной даты студенты уровня B создали в среднем 67 таких переходов, в то время как за день до установленной даты студенты уровня B создали 44. Это может свидетельствовать о том, что студенты уровня B перешли от работы над проблемами компилятора и времени выполнения и уделяют больше внимания поведению во время выполнения.

5. Выводы

В разделе 3 мы исследовали связь между общим количеством переходов PSM и результатами обучения. В частности, мы рассмотрели связь между конкретными последовательностями переходов и результатами курса. Хотя частота отдельных последовательностей значительно различалась на разных уровнях обучения, эти различия совпадали с общим увеличением усилий учащихся. Это позволяет предположить, что индивидуальные различия в последовательности могут быть лишь косвенным показателем общих усилий. Однако даже при учете времени выполнения задания статистический анализ выявил значительные различия между учащимися по трем последовательностям: Idle-YN, Idle-NU и Idle-UU.

Интересно отметить, что три значимых перехода представляют собой сеансы программирования, сосредоточенные на редактировании. Исходя из этих результатов, ключевые различия между поведением в программировании студентов с разным уровнем успеваемости можно охарактеризовать следующим образом: Студенты уровней А и В склонны тратить больше усилий на редактирование программ, в которых недавно были исключения во время выполнения, в то время как студенты уровня F склонны тратить больше усилий на редактирование программ, в которых либо есть синтаксические ошибки, либо которые никогда не компилировались. Поскольку поведение студентов уровня C и D не отличается существенно ни от одной из крайностей (F или A/B), мы можем сделать вывод, что студенты уровня C и D демонстрируют поведение, находящееся где-то между этими группами. Во всех случаях наш анализ показывает, что редактирование проекта без периодического изучения его компиляции и поведения во время выполнения является неоптимальной стратегией решения.

В разделе 4 мы рассмотрели слабую, но значимую взаимосвязь между восемью наиболее распространенными переходами PSM в течение четырех дней, предшествующих дате сдачи задания по программированию. Для каждого дня мы видим четкие различия в поведении студентов уровней A, B и C: Студенты уровня A, по-видимому, предпочитают стратегию, включающую переход между редактированием и запуском вне режима отладки; студенты уровня B предпочитают подход, включающий переход между (a) редактированием и запуском в режиме отладки и (b) редактированием синтаксически неверного проекта, попыткой запустить проект, а затем устранить синтаксическую ошибку; а студенты уровня C склонны переходить между (a) редактированием синтаксически неверного проекта и (b) редактированием синтаксически неверного проекта, запуском проекта вне режима отладки, а затем немедленно запускать проект в режиме отладки. Кроме того, что студенты уровней D и F создали значительно меньше переходов, чем другие группы, никаких отличий в поведении этих групп выявить не удалось. Учитывая это, можно предположить, что простого измерения времени выполнения задания будет достаточно, чтобы отличить студентов A/B/C от студентов D/F.

Примечательно также, что частое отлаживание -- поведение, которое многие считают полезной практикой, -- чаще всего встречается у студентов уровня B. Интересно, что частота отладки у студентов уровня A существенно не отличается от таковой у студентов уровней C, D и F. Напротив, студенты уровня A часто работают без режима отладки, что, предположительно, усложняет диагностику проблем, возникающих во время выполнения. В дальнейшей работе мы хотели бы подробнее изучить этот вывод.

Как и студенты A и B уровней, студенты C уровня также часто запускают свой код. Однако, в отличие от более высоких достижений, мы обнаружили, что студенты уровня С тратят больше времени на работу с кодом, который не компилируется. Это может говорить о том, что студенты уровня C сталкиваются с большим количеством ошибок компилятора, чем студенты уровней A и B, возможно, из-за меньшего знания конструкций программирования. Мы оставляем этот вопрос открытым для дальнейшей работы.

Наконец, мы подчеркиваем, что следует с осторожностью подходить к интерпретации этих результатов. Во-первых, возможно, что эти результаты относятся только к курсу, рассматриваемому в данной работе, и не являются универсальными для всех групп населения. Во-вторых, вполне вероятно, что данная последовательность переходов (например, YU-RU) представляет собой несколько разрозненных действий по решению проблем. Это наблюдение дает мотивацию для проведения последующих лабораторных наблюдений за студентами в процессе выполнения ими заданий по программированию. Такие наблюдения, характерные для распознавания человеческой деятельности (например, [14]), позволят нам приписать намеренность различным последовательностям переходов. Мы считаем, что установление такой связи откроет путь к богатому описательному анализу процессов программирования студентов, который позволит глубже понять различия, выявленные в данном исследовании.

6. Заключение

В данной работе мы рассмотрели связь между траекториями прохождения PSM и успеваемостью студентов в курсе CS2. Статистический анализ выявил значительные ассоциации между последовательностями PSM и успеваемостью студентов. Исследование, представленное в данной работе, вносит следующий вклад в научные исследования:

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

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

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

Материалы

  • [1] Ahadi, A. et al. 2015. Exploring Machine Learning Methods to Automatically Identify Students in Need of Assistance. Proceedings of the Eleventh Annual International Conference on International Computing Education Research (Omaha, NE, USA, 2015).

  • [2] Altadmri, A. and Brown, N.C.C. 2015. 37 Million Compilations: Investigating Novice Programming Mistakes in Large-Scale Student Data. Proceedings of the 46th ACM Technical Symposium on Computer Science Education (Kansas City, MO, USA, 2015), 522–527.

  • [3] Baker, R.S.J. and Siemens, G. 2014. Educational data mining and learning analytics. The Cambridge Handbook of the Learning Sciences. Cambridge University Press. 253–274.

  • [4] Bergin, S. et al. 2005. Examining the role of self-regulated learning on introductory programming performance. Proc. 2005 ACM International Computing Education Research Workshop. ACM Press. 81–86.

  • [5] Bransford, J. et al. eds. 1999. How people learn: Brain, mind, experience, and school. National Academy Press.

  • [6] Carter, A.S. et al. 2015. The Normalized Programming State Model: Predicting Student Performance in Computing Courses Based on Programming Behavior. Proceedings of the Eleventh Annual International Conference on International Computing Education Research. ACM. 141–150.

  • [7] Carter, A.S. and Hundhausen, C.D. 2015. The Design of a Programming Environment to Support Greater Social Awareness and Participation in Early Computing Courses. J. Comput. Sci. Coll. 31, 1 (Oct. 2015), 143–153.

  • [8] Ihantola, P. et al. 2015. Educational Data Mining and Learning Analytics in Programming: Literature Review and Case Studies. Proceedings of the 2015 ITiCSE on Working Group Reports (New York, NY, USA, 2015), 41– 63.

  • [9] Jadud, M.C. 2006. Methods and Tools for Exploring Novice Compilation Behaviour. Proceedings of the Second International Workshop on Computing Education Research. ACM. 73–84.

  • [10] Jadud, M.C. and Dorn, B. 2015. Aggregate Compilation Behavior: Findings and Implications from 27,698 Users. Proceedings of the Eleventh Annual International Conference on International Computing Education Research (Omaha, NE, USA, 2015).

  • [11] Jeske, D. et al. 2014. Learner characteristics predict performance and confidence in e-Learning: An analysis of user behavior and self-evaluation. Journal of Interactive Learning Research. 25, 4 (2014), 509–529.

  • [12] Leinonen, J. et al. 2016. Automatic Inference of Programming Performance and Experience from Typing Patterns. Proceedings of the 47th ACM Technical Symposium on Computing Science Education (Memphis, TN, USA, 2016).

  • [13] Ma, W. et al. 2014. Intelligent tutoring systems and learning outcomes: A meta-analytic survey. Journal of Educational Psychology. 106, 2007 (2014), 901–918.

  • [14] Minor, B. et al. 2015. Data-Driven Activity Prediction: Algorithms, Evaluation Methodology, and Applications. Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (2015).

  • [15] Schunk, D.H. 2012. Learning theories: An educational perspective. Merrill Prentice Hall.

  • [16] Slavin, R.E. 2011. Educational psychology: Theory and practice. Pearson Education.

  • [17] U.S. Department of Education, Office of Educational Technology 2012. Enhancing Teaching and Learning through Educational Data Mining and Learning Analytics: An Issue Brief.

  • [18] Watson, C. et al. 2013. Predicting Performance in an Introductory Programming Course by Logging and Analyzing Student Programming Behavior. Proceedings of the 2013 IEEE 13th International Conference on Advanced Learning Technologies (2013), 319–323.

Комментарии (0)