Исследование: чтобы хорошо кодить, склонность учить языки важнее, чем математические способности
Ученые из Университета Вашингтона обнаружили: для тех, кто хочет стать программистом, талант к освоению иностранных языков важнее, чем математические способности. Потому что написание кода предполагает изучение другого языка — то есть способность быстро запоминать новую лексику и грамматику и понимать, как они устроены. Не менее важны и такие когнитивные функции, как умение решать проблемы и использование оперативной памяти мозга. Научная работа профессора психологии Шантель Пратт и ее коллег, опубликованная 2 марта в журнале Scientific Reports, доступна в свободном доступе.
Стереотипы о том, что должен представлять из себя разработчик и кому стоит идти обучаться программированию, часто сфокусированы вокруг исключительно математических навыков. Однако такой взгляд не находит научного подтверждения, считает руководитель исследования Шантель Прат. Программировать сложно, и это навык, который становится все более востребованным. При этом информации о том, что нужно, чтобы стать хорошим специалистом в сфере IT, катастрофически не хватает. И это явно усложняет решение проблемы гендерного неравенства в индустрии, добавляет Прат.
В исследовании приняли участие более 30 человек, изучавших популярный язык программирования Python. Добровольцев попросили пройти серию тестов, чтобы оценить их собранность, языковые и математические способности. Те, кому удалось быстрее освоить Python, также лучше справились с решением логических задач и продемонстрировали талант к иностранным языкам.
Прат объясняет, что в этом открытии есть логика, ведь кодинг имеет много общего с лингвистикой: программирование представляет собой производство значений посредством комбинирования разных символов по определенным правилам.
Python, по мнению Прат, похож на английский: тут тоже есть деление на абзацы, кроме того, в отличие от других языков программирования, команды составляются из слов, а не из символов.
Чтобы изучить нейронные и когнитивные характеристики «предрасположенности» к программированию, ученая собрала группы добровольцев в возрасте от 18 до 35 лет, которые никогда до этого не изучали кодинг.
Прежде чем начать обучение, волонтеры прошли испытания двух типов. Сперва участникам сделали электроэнцефалограммы мозга в спокойном состоянии. В своем предыдущем исследовании Прат показала, что паттерны мозговой активности в расслабленном состоянии с 60% вероятностью помогают предсказать, с какой скоростью человек выучит язык.
Затем добровольцы прошли восемь разных тестов: один был направлен на математические навыки, другой — на языковые способности, остальные — на концентрацию, решение логических задач и память.
Обучение Python проходило онлайн: ученики смотрели уроки длительностью от 10 до 45 минут на платформе Codeacademy. Каждое занятие было посвящено одному концепту, к примеру — условию if/then, и завершалось небольшим тестом на проверку изученного. Добровольцы могли воспользоваться подсказкой, обратиться к информационному блогу, где переписывались бывшие студенты, или нажать на кнопку с решением задачи.
Исследователи следили за скоростью и точностью прохождения уроков с помощью программы для демонстрации чужого экрана.
После завершения обучения, участники снова прошли тест — на этот раз на знание функций и структуры кода Python. В качестве своего финального испытания волонтеры должны были написать игру «Камень, ножницы, бумага». Так исследователи проверяли, насколько хорошо ученики могли воспользоваться усвоенными знаниями.
В итоге выяснилось, что показатели «предрасположенности» к изучению языков помогли правильно предсказать, насколько успешно человек справится с уроками программирования. Математические способности и гибкость мышления также были связаны с талантом к IT, однако влияние этих факторов оказалось менее значительным. Более того, предыдущее исследование Прат здесь также нашло свое подтверждение: по активности мозга в состоянии покоя можно было понять, насколько легко участнику будет изучить новый язык — в данном случае, Python.