Специалисты в области психологии и нейробиологии провели эксперимент, в котором с помощью функциональной магнитно-резонансной томографии (фМРТ) проследили за активностью мозга до и после того, как люди научились программировать. Результатами работы ученые поделились в статье, вышедшей в издании Journal of Neuroscience.
К исследованию привлекли 22 студентов вуза (11 женщин и столько же мужчин). Сканирование им проводили перед началом и по завершении семестрового курса по языку программирования Python. В процессе испытуемые выполняли ряд заданий.
Выяснилось, что когда студентов, прошедших курс, просили «прочитать» программный код, то во время его осмысления в их мозге активировалась сеть нейронов в лобно-теменной области, которая отвечает за логические рассуждения и решение задач. Однако ученые обнаружили, что еще до начала занятий по программированию, когда студенты пока ничего не знали о Python, та же самая сеть задействовалась, когда испытуемым давали прочитать псевдокод — описания алгоритмов программы обычными словами на английском, а не на языке программирования.
По словам исследователей, эксперимент продемонстрировал, что все люди обладают нейробиологической основой, необходимой для освоения программирования. Мозг для этого не создает новые нейронные механизмы, а использует уже существующие, те же, что и при решении логических задач.
Ученые также отметили, что полученные результаты подтверждают гипотезу о «повторном использовании» нейронов (Neuronal Recycling Hypothesis). Она как раз предполагает, что новые культурные навыки вроде чтения и программирования приобретаются с помощью базовых нейронных процессов, которые уже заложены в мозге и сформировались эволюционно.
«Человек, не знакомый с программированием, увидев отрывок кода на языке Python, может подумать, что никогда не сможет его понять. Однако наше исследование показывает, что у каждого есть способности к программированию. Возможно, мы даже родились с ними», — заявила одна из авторов научной работы нейробиолог Марина Бедни (Marina Bedny).
Исследователи добавили, что если с детства тренировать логические навыки с помощью головоломок, игр и дискуссий, это позволит подготовить почву для успешного освоения программирования.
