Нынешнее исследование направлено на заполнение этих пробелов путем изучения индивидуальных различий в способности изучать современный язык программирования через объектив способностей второго языка (L2). Почти вековая работа по изучению предикторов того, с какой готовностью взрослые люди изучают естественные языки, показала, что такая способность L2 многогранна и состоит из части общих механизмов обучения, таких как жидкий интеллект, объем рабочей памяти и декларативной памяти, каждый из которых был предложен для участия в изучении языков программирования. Способность L2 также была связана с более специфическими для языка способностями, такими как синтаксическое осознание и фонемическое кодирование. Хотя параллели между синтаксисом, или построением структур, и изучением языков программирования легче представить, фонемическое кодирование также может быть актуальным, по крайней мере, для подавляющего большинства языков программирования, которые требуют как производства, так и чтения буквенно-цифровых строк.
Эксперимент
Для изучения нейрокогнитивных основ обучения программированию на Python были привлечены 42 здоровых молодых человека (26 женщин) в возрасте 18-35 лет, не имеющих опыта программирования, для участия в лабораторном учебном эксперименте. Вместо обучения в классе использовались онлайн-среда обучения, через которую более 4.3 миллионов пользователей по всему миру получили доступ к программированию на Python. Для содействия активному обучению (в отличие от простого нажатия кнопок решений для продвижения в обучении) участников просили сообщать, когда и как они обращаются за помощью (например, подсказки, форумы или кнопки решений), и экспериментаторы проверили эти отчеты с помощью совместного использования экрана и снимка данных с экрана. От участников также требовалось получить минимальную точность в 50% при проведении викторин после урока, прежде чем переходить к следующему уроку. Средняя результативность первого прослушивания 80,6% (SD = 9,4%) на викторинах по окончании урока предполагает, что участники активно участвовали в обучении.
Индивидуальные различия в способности усваивать Python оценивались по трем результатам:
- скорость усвоения, определяемая наклоном линии регрессии, соответствующей данным, полученным на каждом занятии
- точность программирования, основанная на коде, составленном учащимися после обучения, с целью создания игры "Камень-ножницы-бумага" (RPS). Код RPS оценивался путем усреднения результатов трех рейтингов по рубрике, разработанной группой специалистов-программистов Python, а внутриклассовый коэффициент корреляции (ICC) рассчитывался как мера межратеральной надежности (ICC = 0. 996, 95% доверительный интервал от 0,993-0,998, F(35, 70) = 299,41, p < 0,001)
- декларативное знание, определяемое общей точностью на 50-пунктном тесте множественного выбора, состоящем из 25 вопросов, оценивающих общее назначение функций, или семантическое знание (например, что делает метод "str()"?) и 25 вопросов, оценивающих синтаксические знания (например, какой из следующих частей кода является правильно отформатированным словарем?).
Целью эксперимента было выяснить, предсказывают ли факторы, предсказывающие изучение естественного языка, также обучение программированию на Python. Чтобы понять относительную предсказательную полезность таких мер, которые были включены в качестве предикторов факторы, которые, как известно, относятся к обучению сложным навыкам в более общем плане (например, способность к плавному мышлению, рабочая память, ингибирующий контроль), а также математическую эквивалентность грамотности. Кроме того, в нынешних исследованиях используется нейропсихометрический подход, в рамках которого используется информация о собственных, сетевых характеристиках функционирования отдельного мозга, которые, как оказалось, обеспечивают уникальную предсказательную полезность в обучении естественному языку. Такой подход позволяет нам использовать область когнитивной нейронауки для понимания, без парадигмы, когнитивных основ обучения программированию. Для изучения этих факторов участники завершили три поведенческих сеанса, которые включали стандартизированные оценки когнитивных возможностей, а также 5-минутную, закрытую глазами запись электроэнцефалографии в состоянии покоя (rsEEG) до начала обучения на питоновском языке. Прогнозирующая полезность каждой из этих предтренировочных мер для трех результатов обучения на питоне была исследована изолированно и в комбинации с использованием пошагового регрессионного анализа.
Результаты
Как и ожидалось, в каждом из результатов обучения на питоновском языке наблюдались большие индивидуальные различия. Например, самый быстрый ученик прошел через уроки в два с половиной раза быстрее, чем самый медленный. Аналогичная вариативность наблюдалась и в двух послетестовых мероприятиях: точность программирования (среднее = 0,57) и декларативный тест на знание (среднее = 0,73). Три показателя результатов были весьма положительно связаны между собой: скорость обучения и точность программирования [r(34) = 0,79, p < 0,001]; скорость обучения и декларативные знания [r(34) = 0,74, p < 0,001]; и точность программирования и декларативные знания [r(34) = 0,71, p < 0,001]. Это свидетельствует о том, что люди, которые быстрее продвигались по программе, не жертвовали скоростью ради точности обучения.