Нейробиологи обнаружили, что интерпретация кода активирует мозговую сеть общего назначения, но не центры языковой обработки.
В некотором смысле обучение программированию компьютера похоже на изучение нового языка. Это требует изучения новых символов и терминов, которые должны быть правильно организованы, чтобы указывать компьютеру, что делать. Компьютерный код также должен быть достаточно ясным, чтобы другие программисты могли его прочитать и понять.
Несмотря на это сходство, нейробиологи из Массачусетского технологического института обнаружили, что чтение компьютерного кода не активирует области мозга, которые участвуют в обработке речи. Вместо этого он активирует распределенную сеть, называемую сетью множественных запросов, которая также используется для сложных когнитивных задач, таких как решение математических задач или кроссвордов.
Однако, хотя чтение компьютерного кода активирует сеть с множественными запросами, похоже, что оно больше полагается на разные части сети, чем на математические или логические задачи, что позволяет предположить, что кодирование также не точно воспроизводит когнитивные требования математики.
«Понимание компьютерного кода кажется отдельным делом. Это не то же самое, что язык, и это не то же самое, что математика и логика », - говорит Анна Иванова, аспирантка Массачусетского технологического института и ведущий автор исследования.
Эвелина Федоренко, доцент кафедры нейробиологии Фредерика А. и Кэрол Миддлтон и член Института исследований мозга Макговерна, является старшим автором статьи, которая сегодня публикуется в eLife. В исследовании также приняли участие исследователи из Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института и Университета Тафтса.
Язык и познание
Основное внимание в исследованиях Федоренко уделяется взаимосвязи между языком и другими когнитивными функциями. В частности, она изучает вопрос о том, зависят ли другие функции от языковой сети мозга, которая включает область Брока и другие области левого полушария мозга. В предыдущей работе ее лаборатория показала, что музыка и математика не активируют эту языковую сеть.
«Здесь мы были заинтересованы в изучении взаимосвязи между языком и компьютерным программированием, отчасти потому, что компьютерное программирование - такое новое изобретение, что мы знаем, что не может быть никаких жестко запрограммированных механизмов, которые делали бы нас хорошими программистами», - говорит Иванова.
По ее словам, существует две точки зрения относительно того, как мозг учится кодировать. Считается, что для того, чтобы хорошо программировать, нужно хорошо разбираться в математике. Другой предполагает, что из-за параллелей между кодированием и языком языковые навыки могут быть более актуальными. Чтобы пролить свет на эту проблему, исследователи решили изучить, будут ли модели активности мозга при чтении компьютерного кода перекрываться с активностью мозга, связанной с языком.
Два языка программирования, на которых сосредоточились исследователи в этом исследовании, известны своей удобочитаемостью - Python и ScratchJr, язык визуального программирования, разработанный для детей от 5 лет и старше. Все участники исследования были молодыми людьми, владеющими языком, на котором они проходили тестирование. Пока программисты использовали функциональный магнитно-резонансный сканер (фМРТ), исследователи показали им фрагменты кода и попросили их предсказать, какое действие будет выполнять код.
Исследователи почти не заметили реакции на код в языковых областях мозга. Вместо этого они обнаружили, что задача кодирования в основном активировала так называемую сеть с множеством запросов. Эта сеть, активность которой распространяется на лобные и теменные доли мозга, обычно задействуется для выполнения задач, требующих одновременного удержания большого количества информации, и отвечает за нашу способность выполнять широкий спектр умственных задач.
«Он делает практически все, что вызывает когнитивные проблемы и заставляет задуматься», - говорит Иванова.
Предыдущие исследования показали, что математические и логические задачи, по-видимому, в основном зависят от множества областей спроса в левом полушарии, в то время как задачи, связанные с пространственной навигацией, активируют правое полушарие больше, чем левое. Команда Массачусетского технологического института обнаружила, что чтение компьютерного кода, по-видимому, активирует как левую, так и правую стороны сети с множеством запросов, а ScratchJr активировал правую сторону немного больше, чем левую. Это открытие противоречит гипотезе о том, что математика и кодирование основываются на одних и тех же механизмах мозга.
Эффекты опыта
Исследователи говорят, что, хотя они не выявили каких-либо областей, которые, по-видимому, предназначены исключительно для программирования, такая специализированная мозговая активность может развиваться у людей, которые имеют гораздо больший опыт программирования.
«Возможно, если вы возьмете людей, которые являются профессиональными программистами, которые потратили 30 или 40 лет на кодирование на определенном языке, вы можете начать видеть некоторую специализацию или некоторую кристаллизацию частей системы множественных запросов», - говорит Федоренко. «У людей, которые знакомы с кодированием и могут эффективно выполнять эти задачи, но имеют относительно ограниченный опыт, просто не похоже, что вы видите какую-либо специализацию».
В сопроводительной статье, опубликованной в том же выпуске eLife, группа исследователей из Университета Джона Хопкинса также сообщила, что решение проблем кода активирует сеть множественного спроса, а не языковые регионы.
Результаты показывают, что нет однозначного ответа на вопрос, следует ли преподавать кодирование как математический навык или как языковой навык. Отчасти это связано с тем, что обучение программированию может опираться как на язык, так и на системы с множеством запросов, даже если после изучения программирование не зависит от языковых регионов, говорят исследователи.
«Были заявления от обоих лагерей - это должно быть вместе с математикой, это должно быть вместе с языком», - говорит Иванова. «Но похоже, что преподаватели информатики должны будут разработать свои собственные подходы для наиболее эффективного обучения программированию».
Исследование финансировалось Национальным научным фондом, отделом мозговых и когнитивных наук Массачусетского технологического института и Институтом исследований мозга Макговерна.
Новое исследование показывает, что чтение компьютерного кода не зависит от областей мозга, участвующих в обработке языка.