Не математик? Возможно, вы научитесь программировать лучше, чем вы думаете


Хотите научиться программировать? Отложите тетрадь по математике. Вместо этого практикуйте эти коммуникативные навыки.

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

«Многие препятствия на пути к программированию, от обязательных курсов до стереотипов о том, как выглядит хороший программист, связаны с идеей, что программирование в значительной степени зависит от математических способностей, и эта идея не воплощается в наших данных», — сказал ведущий автор. Шантель Прат, адъюнкт-профессор психологии Университета штата Вашингтон и Института обучения и исследований. Науки о мозге. «Научиться программировать сложно, но оно становится все более важным для получения квалифицированных должностей в рабочей силе. Информация о том, что нужно, чтобы хорошо программировать, критически отсутствует в области, которая, как известно, медленно устраняет гендерный разрыв».

Опубликованное 2 марта в Интернете в Scientific Reports , журнале с открытым доступом от Nature Publishing Group, исследование изучило нейрокогнитивные способности более трех десятков взрослых, когда они изучали Python, общий язык программирования. . После серии тестов для оценки их управляющих функций, языковых и математических навыков участники прошли серию онлайн-уроков и викторин по Python. Те, кто изучал Python быстрее и точнее, как правило, обладали сочетанием сильных навыков решения проблем и языковых способностей.

В сегодняшнем мире, ориентированном на STEM, обучение программированию открывает множество возможностей для получения работы и дополнительного образования. Кодирование связано с математикой и инженерией; Курсы программирования на уровне колледжа, как правило, требуют продвинутой математики для поступления, и их, как правило, преподают на факультетах информатики и инженерии. Другое исследование, проведенное профессором психологии UW Сапной Черян, показало, что такие требования и представления о кодировании усиливают стереотипы о программировании как о мужской сфере, потенциально отталкивая женщин от этого.

Но кодирование также основано на человеческом языке: программирование включает создание смысла путем объединения символов в цепочку на основе правил.

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

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

Чтобы оценить нейронные и когнитивные характеристики «способности к программированию», Прат изучил группу носителей английского языка в возрасте от 18 до 35 лет, которые никогда не учились программировать.

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

«В конечном итоге, эти показатели мозга в состоянии покоя могут использоваться как независимые от культуры показатели того, как кто-то учится», — сказал Прат.

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

Для изучения Python участникам было предложено 10 45-минутных онлайн-занятий с использованием образовательного инструмента Codeacademy. Каждый сеанс фокусировался на концепции кодирования, такой как списки или условия «если / тогда», и заканчивался тестом, который пользователь должен был пройти, чтобы перейти к следующему сеансу. За помощью пользователи могут обратиться к кнопке «подсказка», информационному блогу от прошлых пользователей и кнопке «решение» в указанном порядке.

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

По окончании занятий участники прошли тест с несколькими вариантами ответов на предмет назначения функций (словарь Python) и структуры кодирования (грамматика Python). Для своей последней задачи они разработали игру «Камень, ножницы, бумага», которая считалась вводным проектом для нового программиста на Python. Это помогло оценить их способность писать код, используя полученную информацию.

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

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

«Это первое исследование, которое связывает нейронные и когнитивные предикторы способности к естественному языку с индивидуальными различиями в изучении языков программирования. Мы смогли объяснить более 70% различий в том, как быстро разные люди учатся программировать на Python. , и лишь небольшая часть этой суммы была связана с математикой », — сказал Прат. По словам Прата, дальнейшие исследования могли бы изучить связи между языковыми способностями и обучением программированию в классе или с более сложными языками, такими как Java, или с более сложными задачами, чтобы продемонстрировать навыки программирования.


Добавить комментарий